抉择不悔

倒计时


日志分类
小站公告
“人只不过是一根苇草,是自然界最脆弱的东西;但他是一根能思想的苇草。用不着整个宇宙都拿起武器来才能毁灭他;一口气、一滴水就足以致他死命了。然而,纵使宇宙毁灭了他,人却仍然要比致他于死命的东西更高贵得多;因为他知道自己要死亡,以及宇宙对他所具有的优势,而宇宙对此却是一无所知。因而,我们全部的尊严就在于思……”
    ----帕斯卡尔
最新日志
最新回复
最新留言
用户登陆
博客统计
博客名称:抉择不悔 日志总数:20 评论数量:4 访问次数:97474 建立时间::2005年05月21日

 PRB:链接的服务器查询出现错误信息 7399:"Timeout Expired"
标签(TAG):  

症状

当执行链接的服务器查询时,您可能会看到以下错误信息之一:
Server:Msg 7399, Level 16, State 1, Line 1 OLE DB provider 'SQLOLEDB' reported an error.[OLE/DB provider returned Timeout expired]
―或者―
Server:Msg 7399, Level 16, State 1, Line 1 OLE DB provider 'SQLOLEDB' reported an error.Execution terminated by the provider because a resource limit was reached.[OLE/DB provider returned message:Timeout expired]
错误 7399 是提供程序返回的一般错误信息,表示存在某种问题。您必须使用跟踪标志 7300 从提供程序获取更详细、更有用的错误信息。跟踪标志 7300 的输出有助于确定此文章是否涵盖您接收的特定的 7399 错误信息。

如果执行 DBCC TRACEON (7300, 3604) 语句,然后执行查询,则您可能会在错误信息中看到其他信息;但是具体是否可以看到更多信息取决于您使用的提供程序。例如:

Server:Msg 7399, Level 16, State 1, Line 1 OLE DB provider 'SQLOLEDB' reported an error.[OLE/DB provider returned message:Timeout expired] OLE DB error trace [OLE/DB Provider 'SQLOLEDB' IDBInitialize::Initialize returned 0x80004005:].
―或者―
Server:Msg 7399, Level 16, State 1, Line 1 OLE DB provider 'SQLOLEDB' reported an error.Execution terminated by the provider because a resource limit was reached.[OLE/DB provider returned message:Timeout expired] OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ICommandText::Execute returned 0x80040e31:Execution terminated by the provider because a resource limit was reached.].

原因

有两个可配置的超时选项可以影响远程查询的执行。当查询超过超时选项值时出现错误信息。有关该超时选项的更多详细信息,请参阅本文中"更多信息"一节。

替代方法

若要解决该问题,您可以重新配置超时设置。

根据所遇到的错误的类型,您可以按如下方式重新配置超时设置:

使用以下代码将远程登录超时值设置为 30 秒:
sp_configure 'remote login timeout', 30
go
reconfigure with override 
go


使用以下代码将远程查询超时值设置为 0(无限等待):
sp_configure 'remote query timeout', 0 
go
reconfigure with override 
go

参考

有关远程登录超时设置和在何处调用 IDBInitialize::Initialize 的更多信息,请参考 MSDN 中的"连接到 OLE DB 提供程序"主题或 BackOffice Resource Kit 中的 Microsoft SQL Server 7.0 资源指南。

您还可以参考 MSDN 中的以下主题获得查询处理器如何与 OLE DB 提供程序交互以启用分布式和异类查询的说明:
Microsoft SQL Server 2000 分布式查询:OLE DB 连接
基本 OLE DB

更多信息

第一条错误信息与 IDBInitialize:Initialize 方法有关。

当查询试图建立与远程服务器的连接时,如果该查询建立连接所花的时间超过远程登录超时选项的值,则将出现第一条错误信息。

第二条错误信息与 ICommandText::Execute 方法有关。

此消息指示该查询进行处理所花的时间大于在远程查询超时配置设置中指定的时间。

默认情况下,在 Microsoft SQL Server 7.0 中,超时设置为零(0 表示无限等待)。默认情况下,在 SQL Server 2000 中,超时设置为 600(10 分钟)。
关键字:
kbprb KB314530
抉择不悔 发表于:2006/9/25 14:31:49 阅读(3022) 评论(970)
 

中华工控网 | 联系我们 | 工控论坛首页 | 工控博客首页 | 博客注册 | 博客登陆

工控博客管理联系邮箱:工控博客服务邮箱

中华工控网 © Copyright 2013. All rights reserved.