0

我開發了windows服務並創建了安裝程序。我以管理員身份登錄。 現在的問題是連接字符串。當我試圖與Windows身份驗證連接它給出此錯誤..「CREATE DATABASE權限在數據庫'主'中被拒絕。」以下是我的代碼。如何使用C#代碼在客戶端系統中設置權限?是否有任何其他的方式來做到這一點..請幫忙,謝謝Windows服務 - CREATE DATABASE權限在數據庫'master'中被拒絕

using (var conn = new SqlConnection("data source=.\\sqlexpress;integrated security=true")) 
{ 
    using (var cmd = new SqlCommand("CREATE DATABASE [db_namexx]", conn)) 
    { 
    conn.Open(); 
    cmd.ExecuteNonQuery(); 
    cmd.Dispose(); 
    conn.Close(); 
    } 
} 
+0

您不需要使用'cmd.Dispose()',因爲您使用using語句。 – 2014-09-20 11:38:35

+0

好的,謝謝..但它不會解決我的問題:(@SonerGönül – Mukarram 2014-09-20 11:52:11

回答

0

Windows服務帳戶必須是SQL Server sysadmin角色的成員或以創建數據庫的db_creator服務器角色。以下是您可以根據需要調整的示例腳本,也可以將其作爲您服務的安裝程序的一部分運行。運行此腳本的帳戶必須作爲sysadmin角色成員進行配置。

CREATE LOGIN [NT AUTHORITY\LOCAL SERVICE] FROM WINDOWS; 
EXEC sp_addsrvrolemember 'NT AUTHORITY\LOCAL SERVICE', 'sysadmin'; 
相關問題