Microsoft phân phối Microsoft SQL Server 2005, Microsoft SQL Server 2008 và các bản sửa lỗi Microsoft SQL Server 2008 R2 là một tệp được tải xuống. Vì bản sửa lỗi được tích lũy, mỗi bản phát hành mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản phát hành SQL Server 2005, SQL Server 2008 hoặc SQL Server 2008 R2.
Triệu chứng
Hãy xem xét tình huống sau:
-
Bạn bật tùy chọn ALLOW_SNAPSHOT_ISOLATION trên Microsoft sql server 2005, Microsoft sql server 2008 hoặc cơ sở dữ liệu Microsoft sql server 2008 R2.
-
Bạn thực hiện thao tác lập phiên bản trên bảng. Ví dụ, bạn cập nhật bảng.
-
Bạn vô hiệu hóa mức độ phân tách bản chụp nhanh trên cơ sở dữ liệu.
-
Bạn cập nhật một cột khóa chỉ mục trên bản ghi có chứa thông tin lập phiên bản.
-
Bạn dựng lại chỉ mục trực tuyến trên bảng.
Trong trường hợp này, một lỗi khẳng định xảy ra và bạn nhận được thông báo sau đây trong Nhật ký lỗi SQL Server:
Thời gian <ngày><> <dịch vụ SPID> * bắt đầu đổ kết xuất: <ngày><thời gian> <dịch vụ SPID> * <ngày><thời gian> <SPID> <ngày><> <dịch vụ SPID> * <ngày><> <> SPID: appendonlyverstoremgr. cpp: 738> <0 ngày><> <dịch vụ spid> * biểu thức: 0> <6 ngày><thời gian> <> SPID <* SPID:><SPID><ngày> <> dịch vụ SPID> <0 * quy trình ID: 6328><ngày> <>SPID, mô tả: không thể xác định bản ghi và trang Phiên bản Trạng thái = 3 Date<ngày ><> <dịch vụ spid> * <ngày><> <dịch vụ SPID> * input Buffer 170 BYTE-<ngày><> <SPID> * Alter INDEX <Table> trên <index> dựng lại với (O> <2 ngày><> <SPID>
Nguyên nhân
Sự cố này xảy ra vì thông tin lập phiên bản cho một bản ghi mới của phím chỉ mục được sao chép từ bản ghi cũ của phím chỉ mục. Do đó, lỗi xảy ra khi chỉ mục được xây dựng lại.
Giải pháp
Thông tin Cập Nhật tích lũy
SQL Server 2008 R2
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong bản Cập Nhật tích lũy 5. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy cho SQL Server 2008 R2, hãy bấm số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:
2438347 Gói Cập Nhật tích lũy 5 cho SQL Server 2008 R2 Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản phát hành khắc phục SQL Server 2008 trước đó. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
981356 Bản dựng SQL Server 2008 R2 đã được phát hành sau khi SQL Server 2008 R2 được phát hành
Gói dịch vụ SQL Server 2005 4
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong Cumulative Update 1 cho SQL Server 2005 Service Pack 4. Để biết thêm thông tin về gói Cập Nhật lũy tích này, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2464079 Gói Cập Nhật tích lũy 1 cho SQL Server 2005 gói dịch vụ 4Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản phát hành khắc phục SQL Server 2005 trước đó. Microsoft khuyên bạn nên cân nhắc việc áp dụng bản phát hành khắc phục gần đây nhất có chứa các hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
2485757 Bản dựng SQL Server 2005 đã được phát hành sau khi SQL Server 2005 Service Pack 4 được phát hành Các hotfix Microsoft SQL Server 2005 được tạo cho các gói dịch vụ SQL Server cụ thể. Bạn phải áp dụng SQL Server 2005 gói dịch vụ 4 vào bản cài đặt SQL Server 2005 Service Pack 4. Theo mặc định, mọi hotfix được cung cấp trong gói dịch vụ SQL Server sẽ được đưa vào gói dịch vụ SQL Server tiếp theo.
SQL Server 2005 SP3
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong bản Cập Nhật Cumulative 12. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy cho SQL Server 2005 SP3, hãy bấm số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:
2345449 Gói Cập Nhật tích lũy 12 cho SQL Server 2005 gói dịch vụ 3 Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản phát hành khắc phục SQL Server 2005 trước đó. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
960598 Bản dựng SQL Server 2005 đã được phát hành sau khi SQL Server 2005 Service Pack 3 đã được phát hành
Gói dịch vụ SQL Server 2008 1
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong bản Cập Nhật Cumulative Update 11 cho SQL Server 2008 Service Pack 1. Để biết thêm thông tin về gói Cập Nhật lũy tích này, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2413738 Gói Cập Nhật tích lũy 11 cho SQL Server 2008 gói dịch vụ 1Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản phát hành khắc phục SQL Server 2008 trước đó. Microsoft khuyên bạn nên cân nhắc việc áp dụng bản phát hành khắc phục gần đây nhất có chứa các hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
970365 Bản dựng SQL Server 2008 đã được phát hành sau khi SQL Server 2008 Service Pack 1 đã được phát hànhCác hotfix Microsoft SQL Server 2008 được tạo cho các gói dịch vụ SQL Server cụ thể. Bạn phải áp dụng một hotfix của SQL Server 2008 gói dịch vụ 1 vào một bản cài đặt của SQL Server 2008 Service Pack 1. Theo mặc định, mọi hotfix được cung cấp trong gói dịch vụ SQL Server sẽ được đưa vào gói dịch vụ SQL Server tiếp theo.
Gói dịch vụ SQL Server 2008 2
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong Cumulative Update 2 cho SQL Server 2008 Service Pack 2. Để biết thêm thông tin về gói Cập Nhật lũy tích này, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2467239 Gói Cập Nhật tích lũy 2 cho SQL Server 2008 gói dịch vụ 2Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản phát hành khắc phục SQL Server 2008 trước đó. Microsoft khuyên bạn nên cân nhắc việc áp dụng bản phát hành khắc phục gần đây nhất có chứa các hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
2402659 Bản dựng SQL Server 2008 đã được phát hành sau khi SQL Server 2008 Service Pack 2 đã được phát hành Các hotfix Microsoft SQL Server 2008 được tạo cho các gói dịch vụ SQL Server cụ thể. Bạn phải áp dụng SQL Server 2008 gói dịch vụ 2 để cài đặt gói dịch vụ SQL Server 2008 2. Theo mặc định, mọi hotfix được cung cấp trong gói dịch vụ SQL Server sẽ được đưa vào gói dịch vụ SQL Server tiếp theo.
Cách giải quyết
Để giải quyết vấn đề này, hãy dựng lại chỉ mục của cơ sở dữ liệu này bằng cách đặt tùy chọn trực tuyến để tắt trong truy vấn.
Trạng thái
Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Tham khảo
Để biết thêm thông tin về các hoạt động chỉ mục trực tuyến, hãy truy cập trang web Microsoft sau đây:
Thông tin chung về các thao tác chỉ mục
Để biết thêm thông tin về các chi tiết của các hoạt động chỉ mục trực tuyến, hãy truy cập trang web Microsoft sau đây: