我有一个服务在启动时尝试连接到 MSSQL DB,但当我启动计算机时,它会抛出一个错误,因为它无法连接到 DB。发生这种情况是因为 MSSQL 服务尚未启动特定 DB,尽管我的服务已为 MSSQL 服务设置了依赖关系。
我该怎么办?有什么解决办法吗?
我可以将我的服务延迟 5 分钟,但这是我会使用的最后一个解决方案,因为从我的角度来看这不是一个合适的解决方案。
LE:忘了说,它必须在 Windows XP SP3 上运行,我尝试过自动延迟,但它不起作用。
答案1
将您的服务设置为自动(延迟启动)?这会将其延迟 2 分钟,直到最后一个自动服务启动之后。
答案2
将您想要延迟的服务设置为手动。
现在转到您的 SQL Server 控制台并按照以下步骤操作:https://stackoverflow.com/questions/287060/scheduled-run-of-stored-procedure-on-sql-server
创建如下命令:
xp_cmdshell 'net start yourservice'
希望这能有所帮助,这里无法测试。我猜这需要 SQL Server 代理。
答案3
一罐在 Windows XP 中计划任务这将启动一个批处理文件,该文件将根据触发事件在您需要时启动该服务。
触发事件可以很简单,例如At Logon
,这肯定只会在一定延迟之后发生。
为了更好地控制,在创建任务时,单击任务的高级属性中的打开,然后单击完成。在任务的属性对话框中,可以指定更多条件: