Sdílet prostřednictvím


MSSQLSERVER_7399

platí pro:SQL Server

Vlastnost Hodnota
Product SQL Server
ID události 7399
Zdroj událostí MSSQLSERVER
Součást SQLEngine
Symbolický název RMT_HRESULT_FAIL
Text zprávy Zprostředkovatel OLE DB "%ls" pro odkazovaný server "%ls" oznámil chybu.%ls

Explanation

K této chybě dochází v případě, že dotaz na odkazovaný server selže kvůli chybě vygenerované na vzdáleném serveru.

Chyba 7399 je obecná chybová zpráva od poskytovatele. V některých případech můžete příznak trasování 7300 povolit, abyste od poskytovatele získali podrobnější chybovou zprávu. Zda obdržíte další informace, závisí na zprostředkovateli OLE DB (propojení objektů a vkládání, databáze), kterého používáte. Pokud chcete příznak trasování povolit, spusťte před spuštěním dotazu následující příkaz, který způsobí chybu:

DBCC TRACEON (7300, 3604);

Akce uživatele

I když je chyba 7399 obecnou chybou, která obsahuje konkrétnější zprávu, běžně pozorovaná konkrétní chyba je "Vypršel časový limit". Existují dvě konfigurovatelné možnosti časového limitu, které ovlivňují vzdálené dotazy: možnost časového limitu vzdáleného přihlášení a možnost časového limitu vzdáleného dotazu . Tady jsou příklady, jak se může zobrazit chyba časového limitu vyvolaná v rámci 7399 a jak ji vyřešit:

IDBInitialize::Initialize

Server: Msg 7399, level 16, State 1, Line 1 OLE DB provider 'SQLOLEDB' oznámil chybu. [Vrácené zprostředkovateli OLE/DB: Vypršel časový limit] Trasování chyb OLE DB [Zprostředkovatel OLE/DB SQLOLEDB IDBInitialize::Initialize vrácen 0x80004005: ].

Tato chybová zpráva se týká IDBInitialize::Initialize metody. K tomu dochází v případě, že doba potřebná dotazem k navázání připojení ke vzdálenému serveru překročí hodnotu časového limitu vzdáleného přihlášení .

Pokud chcete tuto chybu obejít, nastavte hodnotu časového limitu vzdáleného přihlášení na 30 sekund spuštěním následujícího kódu:

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

ICommandText::Execute

Server: Msg 7399, level 16, State 1, Line 1 OLE DB provider 'SQLOLEDB' oznámil chybu. Spuštění ukončeno poskytovatelem, protože bylo dosaženo limitu prostředků. [Vrácené zprostředkovateli OLE/DB: Vypršel časový limit] Trasování chyb OLE DB [Zprostředkovatel OLE/DB SQLOLEDB ICommandText::Execute vrácen 0x80040e31: Spuštění ukončeno poskytovatelem, protože bylo dosaženo limitu prostředků.]

Tato chybová zpráva se týká ICommandText::Execute metody. Označuje, že zpracování dotazu trvalo déle než čas zadaný v nastavení konfigurace časového limitu vzdáleného dotazu .

Výchozí hodnota časového limitu vzdáleného dotazu je 600 (10 minut).

Pokud chcete tuto chybu obejít, zakažte časový limit nastavením hodnoty časového limitu vzdáleného dotazu na 0 (nekonečné čekání) spuštěním následujícího kódu:

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