Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na: SQL Server 2014 (12.x) a novější verze
Azure SQL Database
SQL database in Microsoft Fabric
Přehled
Počínaje ovladačem Microsoft OLE DB pro SQL Server verze 18.6.0 umožňuje odolnost připojení ovladači automaticky obnovit nefunkční nečinná připojení.
Následující diagram vysvětluje, jak funguje odolnost nečinných připojení v ovladači OLE DB: 
- V T1 se vytvoří připojení pomocí IDBInitialize::Initialize.
- Mezi ovladačem a serverem mezi T2 a T3 není žádná komunikace, což vede k nečinným připojením. Během této doby může být síťové připojení přerušeno. Přerušení může být něco jako síťové zařízení zavírání nečinného soketu nebo uvedení zařízení do pohotovostního režimu po krátkou dobu.
- V T3 se klientská aplikace pokusí spustit příkaz pomocí ovladače OLE DB (například pomocí ICommand::Execute. Ovladač zjistí, že připojení je přerušené a transparentně znovu naváže připojení.
Klíčová slova a vlastnosti
| Keyword | Vlastnictví | Hodnoty | Výchozí | Description |
|---|---|---|---|---|
| ConnectRetryCount | SSPROP_INIT_CONNECT_RETRY_COUNT | Celočíselná hodnota mezi 0 a 255 (včetně) | 1 | Určuje maximální počet pokusů o opětovné připojení, pokud došlo k přerušení připojení. Ve výchozím nastavení se při přerušení připojení provede jeden pokus o opětovné navázání připojení. Hodnota 0 znamená, že se nebude pokoušet o opětovné připojení. |
| ConnectRetryInterval | SSPROP_INIT_CONNECT_RETRY_INTERVAL | Celé číslo mezi 1 a 60 (včetně) | 10 | Doba v sekundách mezi jednotlivými pokusy o opakování připojení. Toto klíčové slovo je ignorováno, pokud se ConnectRetryCount rovná 0. |
Následující stránky obsahují další informace o nastavení těchto vlastností:
- Použití klíčových slov připojovacího řetězce s ovladačem OLE DB pro SQL Server
- Inicializace a vlastnosti autorizace
Pokud aplikace naváže připojení k DBPROP_INIT_PROMPT a později se pokusí spustit příkaz přes přerušené připojení, ovladač OLE DB dialogové okno znovu nezobrazí.
Při získávání stavu připojení prostřednictvím vlastnosti DBPROP_CONNECTIONSTATUS:
- Během obnovení vrátí tato vlastnost DBPROPVAL_CS_INITIALIZED.
- Pokud obnovení selhalo, vrátí se vlastnost DBPROPVAL_CS_COMMUNICATIONFAILURE.
Poznámka:
Pokud je časový limit příkazu (DBPROP_COMMANDTIMEOUT v DBPROPSET_ROWSET) nastavený na nenulovou hodnotu a obnovení připojení trvá déle, než je časový limit příkazu, připojení se neobnoví.
Obnovení připojení s asynchronním spouštěním
Pokud používáte asynchronní spuštění a připojení je potřeba obnovit, obnovení připojení proběhne synchronně před spuštěním asynchronního volání. Další informace o asynchronním spuštění naleznete v tématu Provádění asynchronních operací.
Očekávané chyby
Pokud obnovení připojení selže, může dojít k jedné z následujících chyb:
- Připojení je přerušené a obnovení není možné. Klientský ovladač se pokusil připojení jednou nebo vícekrát obnovit a všechny pokusy se nezdařily. Zvyšte hodnotu ConnectRetryCount a zvyšte počet pokusů o obnovení.
- Server nepotvrdil pokus o obnovení, obnovení připojení není možné.
- Server nezachoval přesnou verzi TDS klienta požadovanou během pokusu o obnovení, obnovení připojení není možné.
- Server nezachoval přesnou hlavní verzi serveru požadovanou během pokusu o obnovení, obnovení připojení není možné.
- Připojení je přerušené a obnovení není možné. Připojení je označeno serverem jako neobnovitelné. Nebyl proveden žádný pokus o obnovení připojení.
- Připojení je přerušené a obnovení není možné. Připojení je označeno klientským ovladačem jako neopravitelné. Nebyl proveden žádný pokus o obnovení připojení.
- Server během pokusu o obnovení nezachoval šifrování SSL, obnovení připojení není možné.