无法在Windows服务中打开数据库

时间:2014-08-09 06:28:33

标签: c# sql-server windows-services

我正在尝试将我的窗口服务连接到我的本地数据库。 在Service.cs类中的OnStart()方法中,我收到此错误..

The underlying provider failed on Open.System.Data.SqlClient.SqlException 
(0x80131904): Cannot open database "EduFameProjectDB18" requested by the login. 
The login failed.
Login failed for user 'NT AUTHORITY\SYSTEM'.

2 个答案:

答案 0 :(得分:2)

您正在尝试使用SYSTEM帐户访问您的数据库。这是因为您在SQL Server中使用集成身份验证并在SYSTEM帐户下运行Windows服务。

为了解决这个问题,您必须在Windows服务上提供不同的凭据,以便正确打开连接。确保数据库的SQL Server登录中存在相同的Windows用户,并且它具有访问表的足够权限。

作为替代方案,您可以使用sql身份验证,方法是创建SQL登录并在连接字符串中提供凭据。

答案 1 :(得分:0)

  1. 在Sql Server Management Studio上连接。
  2. 现在去安全 - > NT AUTHORITY \ SYSTEM右键单击 - >特性
  3. 点击 - >服务器角色
  4. 检查public,sysadmin
  5. 点击确定