当前位置: 首页 > 面试题库 >

自动启动服务无法连接到SQL Server,可以在手动启动时使用。SQL Server尚未准备好,但服务已启动

章誉
2023-03-14
问题内容

TL; DR -MSSQL Service声称尚未准备就绪(状态=已启动)(请参见下面的删除文本)

我有C#编写的Windows服务,该服务本身会安装 ServiceAccount.LocalSystemMSSQLSERVER在中指定 ServicesDependedOn

现在,我已经创建了MS SQL用户,为其授予了所有必需的权限和角色(包括db_owner对所需数据库的访问权限和角色,以及“连接/登录”特权)。

手动运行服务时(通过net startservices.msc
管理器),它可以正确运行,即连接到数据库。当我重新启动计算机时,该服务将引发以下异常:

Cannot open database "xxxx" requested by the login. The login failed.
Login failed for user 'xxxxx'.

我没有正确配置什么?同样,当我手动运行该服务时,它运行正常!!我也尝试过通过MS SQL Management Studio使用此帐户登录-这也可行。

如评论中所建议,我尝试在尝试连接之前先等待-20秒睡眠无法解决问题。
我正在将MSSQLSERVER服务的状态(通过ServiceController检查)添加到日志中,并且它是“正在运行”。一切似乎都很好,只是
在自动启动服务时登录失败

好的,我已经追踪了几个小时。这是我发现的:

SQL Server 服务(MSSQLSERVER) 声称已准备就绪 (状态=已启动),速度非常快(发出“ net
start”命令后大约2-3秒)。不幸的是,预热(启动数据库,恢复和其他操作)是在 稍后进行的最多需要2分钟
(120秒!)。当然,它会在预热之前拒绝连接。

我结束了

try 
{
    connect;
} catch {
    RequestAdditionalTime(); // to avoid Windows Service timeout
    Sleep();
}

在一个while循环中。

我讨厌这种解决方案,但找不到任何更清洁的方法。

如果有人知道如何正确执行操作,请回答。


问题答案:

对我而言唯一有效的解决方案是不中继服务状态,而仅重试每隔10秒钟即可连接到服务器



 类似资料:
  • 我正在以下链接中使用sysdeo插件进行tomcat安装: http://technologicaloddity.com/using-projects/Java-projects/setting-up-the-sysdeo-tomcat-plug-in/ 由于我需要从我的spring mvc在tomcat中运行solrserver,所以我选择了上面的链接。 我配置了所有的东西,也做了solr wa

  • 问题内容: 从我在Stack Exchange和其他地方看到的所有内容中,我已经正确设置了所有内容,可以在启动Android OS时启动IntentService。不幸的是,它没有在启动时启动,并且我没有收到任何错误。也许专家可以帮忙… 表现: 用于启动的BroadcastReceiver: 更新:我尝试了下面的几乎所有建议,并;在处理程序中添加了日志记录,但从未记录过任何内容。因此,它甚至还没有

  • 我正在尝试创建一个Spring Boot测试类,它应该创建Spring上下文,并自动连接服务类以供我测试。 这就是我得到的错误: 原因:org。springframework。豆。工厂NoSuchBeanDefinitionException:没有“com”类型的合格bean。目瞪口呆。戈布斯。基础服务FileImportService'可用:至少需要1个符合autowire候选资格的bean。依

  • 我有一个到oracle DB的jdbc连接; 谢谢!

  • 我很久以前做了一些自定义systemd服务,都有相同的配置(当然ExecStart除外) 这种配置已经运行了很多年,从18.04版LTS开始,我已经启动并运行了ubuntu,但是现在看起来有些systemd服务根本没有启动,配置如下(myapp.service): 服务已启用: 如果在重新启动后执行“systemctl status myapp”: 如果我在重新启动后执行“Journal alct

  • 问题内容: 码头工人给我一个困难时期。我按照以下说明进行操作,以便在运行由strato.de托管的Ubuntu 14.04的虚拟服务器上安装docker。 执行此行直接将我带入此错误消息: 安装完成后,我安装了上述两个软件包。现在我的问题是我无法让docker运行。 结果是: 结果是 和 结果是 有人对缺少哪些依赖项有任何线索吗?还有什么可能出问题了?码头工人是否提供任何日志? 我正在来回寻找解决