KB3014867 - OPRAVA: Při použití SQL Server 2014 nelze zachytit výjimku "Selhání vzdáleného zabezpečení" a potenciální ztrátu dat

Platí pro
SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Příznaky

Předpokládejme, že v instanci Microsoft SQL Server 2014 povolíte skupiny dostupnosti AlwaysOn. Převzetí služeb při selhání skupiny dostupnosti provádíte, když má primární replika aktivní transakce. Pak se zobrazí následující zpráva upozornění 3303:

Poznámka

Vzdálené zesílení transakce %.*ls (ID 0x%016I64x %ls) začalo na %S_DATE v databázi %ls na LSN %S_LSN selhalo.

V takovém případě nemohou následující ovladače nebo poskytovatelé dat zachytit výjimku "selhání vzdáleného posílení zabezpečení":

  • Ovladač Microsoft JDBC pro SQL Server 4.0
  • Ovladač OLE DB pro SQL Server
  • SQL Server Native Client for OLE DB

Klientská aplikace, která používá tyto ovladače nebo zprostředkovatele, proto neví, že transakce je pochybná. Pochybná transakce znamená, že mohla být úspěšně potvrzena a posílena na disk, nebo je přerušena a vrácena zpět serverem SQL Server. Pokud je tato pochybná transakce odvolána, mohou tyto ovladače nebo poskytovatelé stále považovat transakci za úspěšně potvrzenou, protože nemohou zachytit výjimku. To může způsobit problém s nekonzistencí dat aplikace.

Poznámka: Následující poskytovatelé připojení mohou zachytit výjimku "selhání vzdáleného zabezpečení" pro transakce "in-doubt":

  • Ovladač Microsoft ODBC pro SQL Server
  • SQL Server Native Client (ODBC)

      

Řešení

Tento problém byl poprvé opraven v následující kumulativní aktualizaci SQL Server.

Kumulativní aktualizace 5 pro SQL Server 2014 /en-cz/help/3011055

Informace o kumulativních aktualizacích pro SQL Server

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:

      

Informace o opravě hotfixTato oprava hotfix zavádí nový příznak trasování 3923. Příznak trasování umožní systému SQL Server vyvolat výjimku pro aplikaci při vyvolání zprávy upozornění 3303.

Po instalaci opravy hotfix je nutné tento příznak trasování vyřešit. S opravou hotfix a příznakem trasování musí aplikace také implementovat ověřovací kódy, aby zkontrolovala, zda je transakce vrácena zpět nebo potvrzena po zachycení výjimky.

 Podporovanou opravu hotfix poskytuje Microsoft. Tato oprava hotfix je však určena pouze k opravě problému popsaného v tomto článku. Tuto opravu hotfix použijte pouze v systémech, ve kterých dochází k tomuto konkrétnímu problému.

Pokud je oprava hotfix dostupná ke stažení, je k dispozici část "Hotfix Download Available" (K dispozici je položka ke stažení opravy hotfix) v horní části tohoto článku znalostní báze Knowledge Base. Pokud se tato část nezobrazí, odešlete žádost službám zákazníkům a podpoře společnosti Microsoft o získání opravy hotfix.

Poznámka: Pokud se vyskytnou další problémy nebo je vyžadováno jakékoli řešení potíží, budete pravděpodobně muset vytvořit samostatnou žádost o služby. Další dotazy a problémy týkající se podpory, které se netýkají této konkrétní opravy hotfix, podléhají běžným sazbám za podporu. Úplný seznam telefonních čísel zákaznických služeb a podpory společnosti Microsoft nebo vytvoření samostatné žádosti o služby naleznete na následujícím webu společnosti Microsoft:

/contactus/?ws=support Poznámka: Formulář "Hotfix Download Available" (K dispozici je ke stažení opravy hotfix) zobrazuje jazyky, pro které je oprava hotfix k dispozici. Pokud svůj jazyk nevidíte, je to proto, že pro tento jazyk není k dispozici oprava hotfix.

Požadavky na restartováníPo instalaci této opravy hotfix není nutné restartovat počítač.

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.