KB4039089 - DÜZELTME: SQL Server'da sys.sp_MScdc_capture_job saklı yordamını çalıştırdığınızda EXCEPTION_ACCESS_VIOLATION hatası

Uygulandığı Öğe
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2017 on Windows (all editions) SQL Server 2017 on Linux (all editions) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Belirtiler

Aşağıdaki senaryoyu ele alalım:

  • Microsoft SQL ServerSQL Server'da bölümlenmiş tablolarınız olduğunu ve bunların Change Data CaptureCapture (CDC) veya Transactional Replication'ın parçası olduğunu varsayalım. Bu tablolardan bölüm açar veya kapatırsın.
  • Veri İşleme Dili (DML) işlemleri gerçekleştirdiğinizde bölüm değişikliğinden sonra bir EXCEPTION_ACCESS_VIOLATION oluştuğunu ve bir bellek dökümü dosyasının oluşturulduğunu fark edebilirsiniz.

Not

Tarih/Saat ***FilePath\FileName konumuna gönderilen Yığın Dökümü
Tarih/Saat SqlDumpExceptionHandler: İşlem ProcessID önemli özel durum c0000005 EXCEPTION_ACCESS_VIOLATION oluşturdu. SQL ServerSQL Server bu işlemi sonlandırıyor.
Tarih/Saat * *******************************************************************************
Tarih/Saat
Tarih/Saat * YIĞIN DÖKÜMÜNÜ BAŞLATIN:
Tarih/Saat
Tarih/Saat
Tarih/Saat *
Tarih/Saat
Tarih/Saat * Özel Durum Adresi = 000007FEE724BD80 Module(sqllang+00000000015BBD80)
Tarih/Saat * Özel Durum Kodu = c0000005 EXCEPTION_ACCESS_VIOLATION
Tarih/Saat * Erişim İhlali Yaşandı, Adres 000000000000002A okundu
Tarih/Saat * Giriş Arabelleği 70 bayt
Tarih/Saat * sys.sp_MScdc_capture_job
Tarih/Saat *

Not

Tarih/Saat ***FilePath\FileName konumuna gönderilen Yığın Dökümü
Tarih/Saat SqlDumpExceptionHandler: İşlem PID önemli özel durum c0000005 EXCEPTION_ACCESS_VIOLATION oluşturdu. SQL ServerSQL Server bu işlemi sonlandırıyor.
Tarih/Saat * *******************************************************************************
Tarih/Saat *
Tarih/Saat * YIĞIN DÖKÜMÜNÜ BAŞLATIN:
Tarih/Saat * Tarih/SaatSPID
Tarih/Saat *
Tarih/Saat *
Tarih/Saat * Özel Durum Adresi = 000007FEE9D26640 Module(sqllang+0000000001586640)
Tarih/Saat * Özel Durum Kodu = c0000005 EXCEPTION_ACCESS_VIOLATION
Tarih/Saat * Erişim İhlali Yaşandı, Adres 000000000000002A okundu
Tarih/Saat * Giriş Arabelleği 109 bayt -
Tarih/Saat * 16 00 00 00 12 00 00 00 00 02 00 00 00 00 00 00 00 00
Tarih/Saat * s p _ r e p 01 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00
Tarih/Saat * l c m d s & ô 6c 00 63 00 6d 00 64 00 73 00 00 00 00 00 00 26 04 04 f4
Tarih/Saat * & & ÿ 01 00 00 00 00 26 04 04 00 00 00 00 00 00 00 26 04 04 ff
Tarih/Saat * ÿÿÿ ¥ & ff ff ff 00 00 a5 0a 00 00 00 00 00 26 04 04 8f 13 00
Tarih/Saat * & & ¡ 00 00 00 26 04 04 00 00 00 00 00 00 00 26 04 04 20 A1 07
Tarih/Saat * 00

  • Aşağıdaki sorguyu hedef tabloda çalıştırırsanız, is_replicated sütunun değerinin kümelenmemiş dizin için '1' olarak işaretlendiğini fark edebilirsiniz ki bu doğru değildir.

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

Çözüm

Bu sorun, SQL ServerSQL Server için aşağıdaki toplu güncelleştirmelerde düzeltildi:

Cumulative Update 1 for SQL ServerSQL Server 2017

Cumulative Update 5 for SQL ServerSQL Server 2016 SP1

Cumulative Update 8 for SQL ServerSQL Server 2014 SP2

SQL Server toplu güncelleştirmeleri hakkında:

SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmeye dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. SQL Server için en son toplu güncelleştirmelere göz atın:

En son toplu güncelleştirme SQL ServerSQL Server 2017

SQL Server 2016 için en son toplu güncelleştirme

SQL Server 2014 için en son toplu güncelleştirme

Durum

Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.

Başvurular

Microsoft'un yazılım güncelleştirmelerini tanımlamak için kullandığı terminoloji hakkında bilgi edinin.