Симптоми
Обмислете следния сценарий:
-
Да предположим, че имате разделени таблици в Microsoft SQL Server и те са част от промяна на събирането на данни (CDC) или репликация на транзакции. Можете да включите или изключите дял от тези таблици.
-
След превключване на дяловете, когато извършвате операции с език за обработка на данни (DML), може да забележите, че възниква EXCEPTION_ACCESS_VIOLATION и се генерира вторично копие на паметта.
Date/Time ***Stack Dump being sent to FilePath\FileName
Date/Time SqlDumpExceptionHandler: Process ProcessID генерира фатално изключение c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server прекратява този процес. Дата/час * ************* Date/Time * Дата/час * BEGIN STACK DUMP: Date/Time * Date/Time * Date/Time * Date/Time * Date/Time * Exception Address = 000007FEE724BD80 Module(sqllang+00000000015BBD80) Дата/час * Код на изключение = c0000005 EXCEPTION_ACCESS_VIOLATION дата/час * Непозволен достъп нарушение четене адрес 00000000000002A дата/час * входен буфер 70 байта дата/час * sys.sp_MScdc_capture_job дата/час *Date/Time ***Stack Dump being sent to FilePath\FileName
Date/Time SqlDumpExceptionHandler: Process PID generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server прекратява този процес. Дата/час * ******* Date/Time * Date/Time * BEGIN STACK DUMP: Date/Time * Date/TimeSPID Date/Time * Дата/час * Дата/час * Адрес на изключението = 000007FEE9D26640 Module(sqllang+0000000001586640) Дата/час * Код на изключение = c0000005 EXCEPTION_ACCESS_VIOLATION Дата/час * Непозволен достъп непозволен адрес за четене 000000000002A Дата/час * Входен буфер 109 байта - Дата/час * 16 00 00 00 12 00 00 00 00 00 00 00 00 00 00 Дата/Time * s p _ r e p 01 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00 Дата/час * l c m d s & ô 6c 00 63 00 6d 00 64 00 73 00 00 00 00 00 26 04 04 f4 дата/час * & & ÿ 01 00 00 00 00 00 26 04 04 00 00 00 00 00 26 04 04 ff Дата/час * ÿÿÿ ¥ & ff ff 00 00 a5 0a 00 00 00 00 00 26 04 04 8f 13 00 Date/Време * & & – 00 00 00 26 04 04 00 00 00 00 00 00 26 04 04 20 a1 07 Дата/час * 00-
Ако изпълните следната заявка спрямо таблицата местоназначение, може да забележите, че стойността на is_replicated колона ще бъде маркирана като "1" за индекс без клъстери, която не е правилна.
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
Решение
Този проблем е коригиран в следните кумулативни актуализации за SQL Server:
Кумулативна актуализация 1 за SQL Server 2017 г.
Всяка нова кумулативна актуализация за SQL Server съдържа всички горещи поправки и всички корекции на защитата, които са били включени в предишната кумулативна актуализация. Прегледайте най-новите кумулативни актуализации за SQL Server:
Най-нова кумулативна актуализация за SQL Server 2017
Статут
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са изброени в раздела "Отнася се за".
Препратки
Научете повече за терминологията, която Microsoft използва за описване на актуализациите на софтуера.