Príznaky
Zvážte nasledujúci scenár:
-
Predpokladajme, že máte tabuľky rozdelenú na oblasti v službe Microsoft SQL Server a sú súčasťou funkcie Change Data Capture (CDC) alebo Transactional Replication. Prepnutie alebo prepnutie oblasti z týchto tabuliek.
-
Po prepnutí oblasti pri vykonávaní operácií jazyka DML (Data Manipulation Language) si môžete všimnúť, že sa vyskytne EXCEPTION_ACCESS_VIOLATION a vygeneruje sa súbor s výpisom pamäte.
Date/Time ***Stack Dump being sent to FilePath\FileName
Date/Time SqlDumpExceptionHandler: ProcessID generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server sa tento proces ukončuje. Dátum a čas * ************** Dátum/čas * Dátum/čas * BEGIN STACK DUMP: Date/Time * Date/Time * Date/Time * Date/Time * Date/Time * Exception Address = 000007FEE724BD80 Module(sqllang+00000000015BBD80) Date/Time * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION Dátum a čas * Došlo k porušeniu prístupu čítanie adresa 0000000000002A Dátum a čas * Vstupná medzipamäť 70 bajtov Dátum a čas * sys.sp_MScdc_capture_job dátumu a času *Date/Time ***Stack Dump being sent to FilePath\FileName
Date/Time SqlDumpExceptionHandler: Process PID generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server sa tento proces ukončuje. Dátum a čas * ***************** Dátum a čas * Dátum a čas * BEGIN STACK DUMP: Date/Time * Date/TimeSPID Date/Time * Date/Time * Date/Time * Exception Address = 000007FEE9D26640 Module(sqllang+0000000001586640) Date/Time * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION Dátum a čas * Vyskytlo sa porušenie prístupu adresa 0000000000002A Dátum a čas * Vstupná medzipamäť 109 bajtov - Dátum a čas * 16 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Dátum/dátum Čas * s p _ r e p 01 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00 Dátum a čas * l c m d s & ô 6c 00 63 00 6d 00 64 00 73 00 00 00 00 00 26 04 04 f4 Dátum a čas * & & 01 00 00 00 00 00 26 04 04 00 00 00 00 00 00 26 04 04 ff Dátum a čas * riadky aj & ff ff ff 00 00 a5 0a 00 00 00 00 00 26 04 04 8f 13 00 Dátum a čas * & & } 00 00 00 00 26 04 04 00 00 00 00 00 00 26 04 04 20 a1 07 Dátum a čas * 00-
Ak spustíte nasledujúci dotaz na cieľovú tabuľku, potom si môžete všimnúť, že hodnota stĺpca is_replicated bude označená ako 1 pre nekopírovaný index, čo nie je správne.
select index_id, partition_number, * from sys.system_internals_partition_columns pc with(nolock)
JOIN sys.partitions p with(nolock)
ON p.partition_id = pc.partition_id
where p.object_id = object_id ('PartitionTable')
order by 2
Riešenie
Tento problém je opravený v nasledujúcich kumulatívnych aktualizáciách pre SQL Server:
Kumulatívna aktualizácia 1 pre SQL Server 2017
Každá nová kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchle opravy a všetky opravy zabezpečenia, ktoré boli zahrnuté do predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Najnovšia kumulatívna aktualizácia pre SQL Server 2017
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Odkazy
Získajte informácie o terminológii, ktorú spoločnosť Microsoft používa na popis aktualizácií softvéru.