Simptomi
Pretpostavimo da imate najmanje jednu AlwaysOn grupu dostupnosti sa DTC_SUPPORT=PER_DB u sistemu Microsoft SQL Server 2016 ili 2017. Ako izvršite SQL Server okidač koji sadrži transakciju unakrsne baze podataka koja uključuje najmanje jednu od baza podataka grupe dostupnosti, može doći do greške u tvrdnji. Evidencija grešaka sistema SQL Server izveštava o sledećim porukama o neuspehu potvrde:
DateTime spid20s * **********************************************************************************************************************************************************************************************************************************DateTime spid20s * BEGIN STACK DUMP:DateTime spid20s * Location: FileName:3880DateTime spid20s * Expression: m_state == BaseXact::XACT_PREPARED || m_state == BaseXact::XACT_COMMITTEDDateTime spid20s * SPID: 20
DateTime spid20s Greška: 17066, težina: 16, stanje: 1.DateTime spid20s SQL Server Assertion: File: <FileName>, line=LineNumber Failed Assertion = 'm_state == BaseXact::XACT_PREPARED || m_state == BaseXact::XACT_COMMITTED'. Ova greška je možda povezana sa vremenskim rasporedom. Ako greška potraje i nakon ponovnog pokretanja izjave, koristite DBCC CHECKDB da biste proverili da li u bazi podataka postoji strukturni integritet ili ponovo pokrenite server da biste se uverili da strukture podataka u memoriji nisu oštećene.DateTime spid20s Greška: 3624, težina: 20, stanje: 1.DateTime spid20s Provera sistemske potvrde nije uspela. Za detalje proverite da li postoje detalji evidencije grešaka na SQL Serveru. Do greške u tvrdnji obično dolazi zbog softverske greške ili oštećenja podataka. Da biste proverili da li ima oštećenja baze podataka, razmislite o pokretanju DBCC CHECKDB. Ako ste pristali da šaljete deponije korporaciji Microsoft tokom instalacije, mini deponija će biti poslata korporaciji Microsoft. Ispravka može biti dostupna od korporacije Microsoft u najnovijem servisnom paketu ili u hitnoj ispravki tehničke podrške.
Pored toga, možete dobiti poruku o grešci koja je slična sledećoj:
Greška servera datetime: 19407, težina: 16, stanje: 1.
DateTime Server Zakup između grupe dostupnosti "GroupName" i "Windows Server Failover Cluster" je istekao. Došlo je do problema sa povezivanjem između instance sistema SQL Server i klastera neuspešnog pada sistema Windows Server. Da biste utvrdili da li grupa dostupnosti ispravno otkazuje, proverite odgovarajući resurs grupe raspoloživosti u klasteru otkazivanja Windows servera.
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".
Rešenje
Kumulativne informacije o ažuriranju:
Ovaj problem je rešen u sledećim kumulativnim ispravkama za SQL Server:
Kumulativne ispravke za SQL Server:Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:
Informacije o hitnoj ispravki na zahtev:
Ovaj problem je rešen u sledećim hitnim ispravkama na zahtev za SQL Server:
Reference
Saznajte više oterminologiju koju Microsoft koristi za opisivanje softverskih ispravki.