KB4039089 - KHẮC PHỤC: Lỗi EXCEPTION_ACCESS_VIOLATION khi bạn thực hiện quy trình sys.sp_MScdc_capture_job lưu trữ trong SQL Server

Áp dụng cho
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)

Triệu chứng

Hãy cân nhắc các trường hợp sau:

  • Giả sử bạn có bảng được phân vùng trong Microsoft SQL Server và chúng là một phần của Thay đổi Dữ liệu Ghi nhận (CDC) hoặc Sao nhân bản Giao dịch. Bạn chuyển vào hoặc chuyển ra phân vùng từ những bảng này.
  • Sau khi chuyển đổi phân vùng khi bạn thực hiện thao tác Data Manipulation Language (DML), bạn có thể nhận thấy rằng một lỗi EXCEPTION_ACCESS_VIOLATION xảy ra và một tập tin kết xuất bộ nhớ được tạo ra.

Lưu ý

Ngày/Giờ ***Kết xuất Xếp chồng được gửi đến FilePath\FileName
Ngày/Giờ SqlDumpExceptionHandler: ProcessID đã tạo ra ngoại lệ gây tử vong c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server sẽ tái diễn quá trình này.
Ngày/Giờ * *******************************************************************************
Ngày/Giờ
Ngày/Giờ * BEGIN STACK DUMP:
Ngày/Giờ
Ngày/Giờ
Ngày/Giờ *
Ngày/Giờ
Ngày/Giờ * Địa chỉ Ngoại lệ = 000007FEE724BD80 Module(sqllang+00000000015BBD80)
Ngày/Giờ * Mã Ngoại lệ = c0000005 EXCEPTION_ACCESS_VIOLATION
Ngày/Giờ * Đã xảy ra Vi phạm Truy nhập khi đọc 000000000000002A
Ngày/Giờ * Bộ đệm Nhập 70 byte
Ngày/Giờ * sys.sp_MScdc_capture_job
Ngày/Giờ *

Lưu ý

Ngày/Giờ ***Kết xuất Xếp chồng được gửi đến FilePath\FileName
Ngày/Giờ SqlDumpExceptionHandler: Process PID generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server sẽ tái diễn quá trình này.
Ngày/Giờ * *******************************************************************************
Ngày/Giờ *
Ngày/Giờ * BEGIN STACK DUMP:
Ngày/Giờ * Ngày/GiờPID
Ngày/Giờ *
Ngày/Giờ *
Ngày/Giờ * Địa chỉ Ngoại lệ = 000007FEE9D26640 Module(sqllang+0000000001586640)
Ngày/Giờ * Mã Ngoại lệ = c0000005 EXCEPTION_ACCESS_VIOLATION
Ngày/Giờ * Đã xảy ra Vi phạm Truy nhập khi đọc 000000000000002A
Ngày/Giờ * Bộ đệm Nhập 109 byte -
Ngày/Giờ * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
Ngày/Giờ * s p _ r e p 01 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00
Ngày/Giờ * l c m s s & ô 6c 00 63 00 6d 00 64 00 73 00 00 00 00 00 00 26 04 04 f4
Ngày/Giờ * & & 01 00 00 00 00 26 04 04 00 00 00 00 00 00 00 26 04 04 ff
Ngày/Giờ * & ¥ & ff ff ff 00 00 a5 0a 00 00 00 00 00 26 04 04 8f 13 00
Ngày/Giờ * & & ¡ 00 00 00 26 04 04 00 00 00 00 00 00 26 04 04 20 a1 07
Ngày/Giờ * 00

  • Nếu bạn chạy truy vấn sau đối với bảng đích thì bạn có thể nhận thấy rằng giá trị của cột is_replicated sẽ được đánh dấu là '1' đối với chỉ mục không liên cụm không chính xác.

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

Giải pháp

Sự cố này đã được khắc phục trong các bản cập nhật tích lũy sau đây SQL Server:

Bản cập nhật Tích lũy 1 cho SQL Server 2017

Bản cập nhật tích lũy 5 cho SQL Server 2016 SP1

Bản cập nhật tích lũy 8 cho SQL Server 2014 SP2

Giới thiệu về các bản cập nhật tích lũy SQL Server:

Mỗi bản cập nhật tích lũy mới dành cho SQL Server sẽ chứa tất cả các bản cập nhật nóng và tất cả các bản sửa lỗi bảo mật được bao gồm trong bản cập nhật tích lũy trước đó. Xem các bản cập nhật tích lũy mới nhất dành cho doanh SQL Server:

Bản cập nhật tích lũy mới nhất cho SQL Server 2017

Bản cập nhật tích lũy mới nhất cho SQL Server 2016

Bản cập nhật tích lũy mới nhất cho SQL Server 2014

Trạng thái

Microsoft đã xác nhận rằng đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong mục "áp dụng cho".

Tham khảo

Tìm hiểu về thuật ngữ mà Microsoft dùng để mô tả các bản cập nhật phần mềm.