SQL 2000 DTS针对SQL2008R2数据库的随机登录超时过期错误

时间:2019-02-14 11:16:24

标签: sql-server-2008-r2 sql-server-2000 remote-server timeoutexception

我有一些在SQL Server 2000上运行的JOB,它们正在调用存储过程或对远程SQL Server(不同版本)的查询。

JOB称为DTS,是进行远程连接并执行存储过程或从远程服务器获取查询结果的DTS。

多年来一直没有出现错误。我不知道为什么在过去的一个月中,我在此类工作中出现随机错误...我读过其他文章,似乎与安全问题有关,但我经常重复作业正在运行,只有部分运行失败并显示错误。

Executed as user: SERVER\user. DTSRun:  Loading...   DTSRun:  Executing...  
DTSRun OnStart:  DTSStep_DTSDynamicPropertiesTask_2   DTSRun OnError:
DTSStep_DTSDynamicPropertiesTask_2, Error = -2147467259 (80004005)
Error string:  Login timeout expired      Error source:  Microsoft OLE DB
Provider for SQL Server      Help file:        Help context:  0
Error Detail Records:      Error:  -2147467259 (80004005); Provider Error:  0 (0)
Error string:  Login timeout expired      Error source:  Microsoft OLE DB Provider for SQL Server
Help file:        Help context:  0      DTSRun OnFinish:
DTSStep_DTSDynamicPropertiesTask_2   DTSRun:  Package execution complete.
Process Exit Code 1.  The step failed.

我真的不知道要检查什么。重新启动服务器后,问题仍然存在。大家的帮助将不胜感激。

编辑2019-02-14 16:15 -------------------------------------- -------------------------------------------------- ---

我发现的解决方案之一是通过执行以下代码将“远程登录超时”属性从默认的20秒更改为30秒,或更改为0(零表示无超时):

sp_configure 'remote login timeout', 30  --Or 0 seconds for infinite
go 
reconfigure with override 
go 

发件人:https://support.microsoft.com/es-es/help/314530/error-message-when-you-execute-a-linked-server-query-in-sql-server-tim

我尝试过将该解决方案更改为30秒,但结果相同。当然,出于明显的原因,我没有将其设置为0,因为超时是存在的。并且尝试了300秒(需要5分钟才能登录!),并且仍然相同。

编辑2019-02-25 11:25 -------------------------------------- -------------------------------------------------- ---

非常类似于我的问题,仍然没有解决... https://www.sqlservercentral.com/Forums/Topic1727739-391-1.aspx

1 个答案:

答案 0 :(得分:0)

目前我有一个临时解决方案,它是增加Connection对象上的 Connect Timeout

它为空白(可能使用其默认值)。

因为我将此属性(“连接对象”>“高级...”>“连接超时”)更改为 300 ,所以我在这些DTS上没有遇到问题。我没有更改就保留了2个DTS,以确保我仍然遇到问题,而这是唯一继续出现问题的解决方案。更改后的代码现在可以正常工作。

相关问题