在此文中,我将与一个日志传送错误“连接超时过期”分享我的经验,我的客户通过全面的数据库性能运行状况检查与我联系。根据他们的说法,还原作业因错误而失败。让我们学习如何解决日志传送作业错误:无法连接到服务器。
作业名称:LSRestore_
步骤名称:日志传送还原日志作业步骤。
持续时间:00:00:23
消息:
<DateTime> 错误:无法检索还原设置。(Microsoft.SqlServer.Management.LogShipping)
<DateTime> 错误:无法连接到服务器ServerName。 (Microsoft.SqlServer.ConnectionInfo)
<DateTime> 错误:连接超时已过期。尝试使用登录前握手确认时,超时时间已过。这可能是因为登录前握手失败或服务器无法及时回复。尝试连接到该服务器所花费的时间为– [登录前]初始化= 17708;握手= 15341; (.Net SqlClient数据提供程序)
<DateTime> 错误:等待操作超时()
<DateTime>-交易记录还原结束–
这里没有什么有趣的事情要注意。
- 总作业时间为23秒。
- 错误是“连接超时过期”
- 初始化和握手的总时间= 17708 + 15341 = 33049,即33秒。
- 花费的时间归因于登录前的握手。
解决方法
登录过程可能会花费很多时间,可能有多种原因。原因可能是服务器繁忙,域控制器通信缓慢或网络缓慢。简而言之,日志传送作业中的这些错误表明sqllogship.exe试图连接到SQL Server,并最终超时,因为该连接花费的时间超过了30秒(默认值)的间隔。我观察到我的客户端配置了太多的数据库来进行日志传送,并且所有作业同时运行。因此,我要求他们将作业错开,以免所有作业都同时运行。
另一个可能的解决方法是更改登录/连接超时并设置一个更高的值。编辑这些文件时,可以发现复制和还原作业称为sqllogship.exe。为避免连接超时错误,我们对此进行了编辑,并在作业中附加了一个附加参数“ -logintimeout 60”(不带引号)。
这将导致作业等待60秒,然后才超时连接到服务器。这是sqllogship.exe中记录的选项。
添加此参数后,问题得到解决,作业成功运行。