簡體   English   中英

為SQL Server數據庫創建用戶並通過C#.net應用程序訪問

[英]Creating user for SQL Server database and accessing through C#.net application

我已經為SQL Server數據庫創建了用戶。 它創建得很好。

我的問題是,當我通過執行以下代碼訪問應用程序時,它不會切換到我指定為的用戶

exec as user='myuser'
ALTER USER myuser WITH DEFAULT_SCHEMA=maindb
EXEC sp_addrolemember N'db_owner', N'myuser'

我已經運行查詢為

DbCommand command = ds.CreateCommand();
command.CommandText = "exec as user='myuser'";
command.CommandType = CommandType.Text;
command.ExecuteNonQuery();

從C#代碼

等待您的寶貴回應和評論

是的,這是預期的。 連接字符串包含連接到服務器所需的憑據。 通常在應用程序和數據庫之間只有一個連接字符串,以優化資源並利用連接池等。

不同的用戶在系統中可能具有不同的權限,但是可以通過授權而不是連接字符串來處理。

作為子句執行

EXECUTE AS子句中指定的用戶名或登錄名必須分別作為主體存在於sys.database_principals或sys.server_principals中,否則創建或更改模塊操作將失敗。 此外,創建或更改模塊的用戶必須對主體具有IMPERSONATE權限。

您滿足這些條件嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM