Windows服务-数据库';中的CREATE DATABASE权限被拒绝;master';

本文关键字:权限 master DATABASE 拒绝 中的 数据库 Windows 服务 CREATE | 更新日期: 2023-09-27 18:22:49

我开发了windows服务并创建了安装程序。我以管理员身份登录。现在问题出在连接字符串上。当我尝试连接windows身份验证时,会出现此错误。。"数据库'master'中的CREATE DATABASE权限被拒绝。"下面是我的代码。如何使用c#代码在客户端系统中设置权限?有别的办法吗。。请帮忙,谢谢

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();
   }
 }

Windows服务-数据库';中的CREATE DATABASE权限被拒绝;master';

Windows服务帐户需要是SQL Server sysadmin角色或db_creator服务器角色的成员才能创建数据库。下面是一个示例脚本,您可以根据需要进行调整,并可能将其作为服务安装程序的一部分运行。运行此脚本的帐户必须设置为系统管理员角色成员。

CREATE LOGIN [NT AUTHORITY'LOCAL SERVICE] FROM WINDOWS;
EXEC sp_addsrvrolemember 'NT AUTHORITY'LOCAL SERVICE', 'sysadmin';