Share via


MSSQLSERVER_7399

適用於:SQL Server

屬性
Products SQL Server
事件識別碼 7399
事件來源 MSSQLSERVER
元件 SQLEngine
符號名稱 RMT_HRESULT_FAIL
訊息文字 鏈接伺服器 %ls 的 OLE DB 提供者%ls“ 回報錯誤。%ls

說明

當連結的伺服器查詢因為遠端伺服器上產生的錯誤而失敗時,就會發生此錯誤。

錯誤 7399 是來自提供者的一般錯誤訊息。 在某些情況下,您可以啟用追蹤旗標 7300,以便從提供者取得更詳細的錯誤訊息。 您是否收到詳細資訊取決於您使用的 OLE DB (物件連結和內嵌、資料庫) 提供者。 若要啟用追蹤旗標,請先執行下列命令,再執行導致錯誤的查詢:

DBCC TRACEON (7300, 3604);

使用者動作

雖然錯誤 7399 是包含其中更特定訊息的一般錯誤,但常見的特定錯誤是「逾時已過期」。有兩個可設定的逾時選項會影響遠端查詢: 遠端登錄逾時 選項和 遠端查詢逾時 選項。 以下是您可能會如何看到 7399 內引發的逾時錯誤,以及如何加以解決的範例:

IDBInitialize::Initialize

伺服器:訊息 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

伺服器:訊息 7399、層級 16、狀態 1、第 1 行 OLE DB 提供者 'SQLOLEDB' 回報錯誤。 由於已經到達資源的限制而由提供者結束執行。 [OLE/DB 提供者傳回的訊息:逾時已過期]OLE DB 錯誤追蹤 [OLE/DB 提供者 'SQLOLEDB' ICommandText::Execute 傳回0x80040e31:提供者因為達到資源限制而終止執行。]。

這個錯誤訊息與 ICommandText::Execute 方法有關。 它表示查詢所處理的時間比遠端查詢逾時組態設定中指定的時間還要長。

默認 遠端查詢逾時 值為600 (10 分鐘)。

若要解決此錯誤,請執行下列程式代碼,將遠端查詢逾時值設定為 [無限等候] 來0停用逾時:

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