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服务帐户需要是SQL Server sysadmin角色或db_creator服务器角色的成员才能创建数据库。下面是一个示例脚本,您可以根据需要进行调整,并可能将其作为服务安装程序的一部分运行。运行此脚本的帐户必须设置为系统管理员角色成员。
CREATE LOGIN [NT AUTHORITY'LOCAL SERVICE] FROM WINDOWS;
EXEC sp_addsrvrolemember 'NT AUTHORITY'LOCAL SERVICE', 'sysadmin';