KB4078097 - KHẮC PHỤC: Hàm NEWSEQUENTIALID tạo ra GUID trùng lặp sau khi khởi SQL Server 2017 Linux động lại

Áp dụng cho
SQL Server 2017 Developer Linux SQL Server 2017 Enterprise on Linux SQL Server 2017 Enterprise Core on Linux SQL Server 2017 Standard on Linux

Triệu chứng

Giả sử bạn sử dụng hàm NEWSEQUENTIALID() để tạo GUID duy nhất cho bảng trong SQL Server 2017 trên Linux. Sau khi bạn khởi động SQL Server, hàm NEWSEQUENTIALID() có thể tạo ra một GUID trùng lặp với GUID trước đây được tạo ra bởi hàm này.

Xem thêm thông tin

SQL Server trên Linux lưu trữ hạt giống UUID tuần tự trong /var/opt/mssql/.system/instance_id và tăng dần UUID trong quá trình khởi động. Sao lưu tệp instance_id trường hợp hệ thống bị lỗi. Nếu tệp bị mất, hạt giống bị thiếu và hạt giống mới được tái tạo. Thế hệ hạt giống ban đầu được dựa trên một mẫu bit ngẫu nhiên và UUID để tránh va chạm. Tuy nhiên, các hạt giống mới mà đã được thứ tự tuần tự có thể không được sắp xếp thứ tự sau khi các hạt giống bị mất.

Giải pháp

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

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

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

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.