Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows服务-在数据库';硕士';_C#_Sql Server_Visual Studio 2012_Windows Services_Installshield 2012 - Fatal编程技术网

C# Windows服务-在数据库';硕士';

C# Windows服务-在数据库';硕士';,c#,sql-server,visual-studio-2012,windows-services,installshield-2012,C#,Sql Server,Visual Studio 2012,Windows Services,Installshield 2012,我开发了windows服务并创建了安装程序。我以管理员身份登录。 现在的问题是连接字符串。当我尝试连接windows身份验证时,它会给出此错误..“在数据库“master”中拒绝创建数据库权限”。下面是我的代码。如何使用c代码在客户端系统中设置权限?还有别的办法吗。。请帮忙,谢谢 using (var conn = new SqlConnection("data source=.\\sqlexpress;integrated security=true")) { using (var cm

我开发了windows服务并创建了安装程序。我以管理员身份登录。 现在的问题是连接字符串。当我尝试连接windows身份验证时,它会给出此错误..“在数据库“master”中拒绝创建数据库权限”。下面是我的代码。如何使用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服务器角色的成员。下面是一个示例脚本,您可以根据自己的需要进行调整,也可以将其作为服务安装程序的一部分运行。运行此脚本的帐户必须设置为sysadmin角色成员

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

您不需要使用
cmd.Dispose()
,因为您使用的是using语句。好的,谢谢。。但它不能解决我的问题:(@SonerGönül