MSSQLSERVER_7399

适用于:SQL Server

属性
产品 SQL Server
事件 ID 7399
事件来源 MSSQLSERVER
组件 SQLEngine
符号名称 RMT_HRESULT_FAIL
消息正文 链接服务器 “%ls” 的 OLE DB 访问接口 “%ls” 报告了错误。%ls

说明

当链接服务器查询由于远程服务器上生成的错误而失败时,会发生此错误。

错误 7399 是提供程序的一般错误消息。 在某些情况下,可以启用跟踪标志 7300,以便从提供程序获取更详细的错误消息。 是否收到更多信息取决于所使用的 OLE DB (对象链接和嵌入,数据库)提供程序。 若要启用跟踪标志,请在运行导致错误的查询之前运行以下命令:

DBCC TRACEON (7300, 3604);

用户操作

尽管错误 7399 是一般错误,其中包含一条更具体的消息,但通常观察到的特定错误是“超时已过期”。有两个可配置的超时选项会影响远程查询: 远程登录超时 选项和 远程查询超时 选项。 下面是有关如何在 7399 内引发的超时错误以及如何解决此错误的示例:

IDBInitialize::Initialize

服务器:Msg 7399、级别 16、状态 1、第 1 行 OLE DB 提供程序“SQLOLEDB”报告错误。 [OLE/DB 提供程序返回的消息:超时过期]OLE DB 错误跟踪 [OLE/DB 提供程序'SQLOLEDB' IDBInitialize::Initialize 返回0x80004005: ]。

此错误消息与 IDBInitialize::Initialize 该方法相关。 如果查询建立与远程服务器的连接所花费的时间超过 远程登录超时 选项值,则会发生此错误。

若要解决此错误, 请通过运行以下代码将远程登录超时 值设置为 30 秒:

sp_configure 'remote login timeout', 30;
GO
RECONFIGURE WITH OVERRIDE;
GO

ICommandText::Execute

服务器:Msg 7399、级别 16、状态 1、第 1 行 OLE DB 提供程序“SQLOLEDB”报告错误。 由于达到了资源限制,提供程序终止了执行。 [OLE/DB 提供程序返回的消息:超时过期]OLE DB 错误跟踪 [OLE/DB Provider 'SQLOLEDB' ICommandText::Execute 返回0x80040e31:由于达到了资源限制,提供程序终止了执行。

此错误消息与 ICommandText::Execute 该方法相关。 它表示查询处理时间比远程查询超时配置设置中指定的时间长。

默认 远程查询超时 值为 600 (10 分钟)。

若要解决此错误,请通过运行以下代码将远程查询超时值设置为0(无限等待)来禁用超时

sp_configure 'remote query timeout', 0;
GO
RECONFIGURE WITH OVERRIDE;
GO