我用C#编写的自动启动Windows服务依赖于MS SQL Server并使用Integrated Security=SSPI
在安装程序中,我正在陈述
this.serviceInstaller.ServicesDependedOn = new string[] {"MSSQLSERVER"};
不幸的是,在自动启动期间,我的服务会引发异常:
System.Data.SqlClient.SqlException(0x80131904):无法打开登录请求的数据库“ * ”。登录失败。 用户'NT AUTHORITY \ SYSTEM'登录失败。
如果我稍后手动启动,正常工作 - 连接到数据库并对其进行处理。
为什么会这样?
答案 0 :(得分:1)
我发现真正的问题不是关于用户登录,而是关于MS SQL Server一旦服务准备好就没有准备好真正。见Connecting to SQL Server fails in autostart service, works when starting manually. SQL Server not ready, yet service is started