Microsoft phân phối các bản sửa lỗi Microsoft SQL Server 2008 và Microsoft SQL Server 2008 R2 như một tệp có thể tải xuống. Vì các bản sửa lỗi mang tính tích lũy, mỗi bản phát hành mới đều chứa toàn bộ hotfix và tất cả bản sửa lỗi bảo mật có trong bản phát hành sửa lỗi SQL Server 2008 hoặc SQL Server 2008 R2 trước đó.
Triệu chứng
Hãy cân nhắc các trường hợp sau:
Bạn tạo một ấn phẩm giao dịch trong Microsoft SQL Server 2008 hoặc trong Microsoft SQL Server 2008 R2.
Bạn có dạng xem được lập chỉ mục. Bạn đặt thuộc tính ANSI_NULLS của dạng xem chỉ mục là TRUE.
Bạn thêm dạng xem được lập chỉ mục vào ấn phẩm dưới dạng bài viết. Bạn đặt loại bài viết thành "dựa trên nhật ký dạng xem chỉ mục".
Lưu ý Bạn có thể sử dụng mã sau để xác định loại dạng xem được lập chỉ mục. Thực hiện thao tác này khi bạn chạy quy trình lưu trữ sp_addarticle để thêm bài viết dạng xem được lập chỉ mục vào ấn phẩm.
@type = N'indexed view logbased'Bạn tạo một đăng ký cho ấn phẩm giao dịch.
Dạng xem đã lập chỉ mục được sao chép đến cơ sở dữ liệu đăng ký.
Trong kịch bản này, thuộc tính ANSI_NULLS của dạng xem được lập chỉ mục được thay đổi thành FALSE trong cơ sở dữ liệu đăng ký.
Ghi chú
- Sự cố này thường xảy ra khi thuộc tính ANSI_NULLS của các bảng liên quan đến cấu trúc biểu thức SQL của dạng xem chỉ mục được đặt là FALSE.
- Sự cố này cũng tồn tại trong Microsoft SQL Server 2005.
Nguyên nhân
Sự cố này xảy ra vì các bảng, dạng xem, hàm và thủ tục lưu trữ trong SQL Server 2008 dùng chung cùng một bit lưu trữ cho thuộc tính ANSI_NULL. Do đó, nếu thuộc tính ANSI_NULLS của một trong các bảng có liên quan đến cấu trúc biểu thức SQL của dạng xem được lập chỉ mục được đặt là FALSE, thuộc tính ANSI_NULLS mặc định cho dạng xem được lập chỉ mục sẽ là FALSE.
Giải pháp
Thông tin cập nhật tích lũy
SQL Server 2008 Gói Dịch vụ 1
Bản sửa lỗi cho sự cố này được phát hành lần đầu trong Bản cập nhật tích lũy 10 dành cho SQL Server 2008 Gói Dịch vụ 1. Để biết thêm thông tin về gói cập nhật tích lũy này, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
2279604 Gói cập nhật tích lũy 10 cho SQL Server 2008 Gói Dịch vụ 1Lưu ý Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới đều chứa tất cả các bản hotfix và tất cả bản sửa lỗi bảo mật có trong bản phát hành bản sửa lỗi SQL Server 2008 trước đó. Microsoft khuyên bạn nên cân nhắc áp dụng bản phát hành bản sửa lỗi mới 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:
970365 Các bản dựng SQL Server 2008 được phát hành sau khi SQL Server 2008 Gói Dịch vụ 1 đượ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 hotfix SQL Server 2008 Gói Dịch vụ 1 cho cài đặt SQL Server 2008 Gói Dịch vụ 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.
SQL Server 2008 Gói Dịch vụ 2
Bản sửa lỗi cho sự cố này được phát hành lần đầu trong Bản cập nhật tích lũy 1 cho SQL Server 2008 Gói Dịch vụ 2. Để biết thêm thông tin về gói cập nhật tích lũy này, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
2289254 Cập nhật tích lũy 1 cho SQL Server 2008 Gói Dịch vụ 2Lưu ý Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới đều chứa tất cả các hotfix và tất cả bản sửa lỗi bảo mật có trong bản phát hành sửa lỗi SQL Server 2008 trước đó. Chúng tôi khuyên bạn nên cân nhắ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:
2402659 Các bản dựng SQL Server 2008 được phát hành sau khi SQL Server 2008 Gói Dịch vụ 2 được phát hành
SQL Server 2008 R2
Bản sửa lỗi cho sự cố này được phát hành lần đầu trong Cập nhật Tích lũy 4. Để biết thêm thông tin về cách lấy gói cập nhật tích lũy này cho SQL Server 2008 R2, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
2345451 Gói Cập nhật Tích lũy 4 cho SQL Server 2008 R2 Lưu ý Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới đều chứa tất cả các bản hotfix và tất cả bản sửa lỗi bảo mật có trong bản phát hành bản sửa lỗi SQL Server 2008 R2 trước đó. Chúng tôi khuyên bạn nên cân nhắ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 Các bản dựng SQL Server 2008 R2 được phát hành sau khi SQL Server 2008 R2 được phát hành
Giải pháp thay thế
Để tránh vấn đề này, hãy cập nhật bộ đệm ẩn siêu dữ liệu sau khi tạo dạng xem được lập chỉ mục và trước khi chạy sp_addarticle để thêm bài viết dạng xem được lập chỉ mục.
Ghi chú Để cập nhật bộ đệm ẩn siêu dữ liệu, hãy sử dụng một trong các phương pháp sau:
- Dừng dịch vụ SQL Server, rồi khởi động dịch vụ.
- Đặt cơ sở dữ liệu đăng ký là ngoại tuyến, rồi đặt cơ sở dữ liệu thành trực tuyến.
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
Để biết thêm thông tin về quy trình lưu trữ sp_addarticle, hãy truy nhập vào trang web sau của Microsoft:
Giới thiệu về thủ tục lưu trữ sp_addarticle (Transact-SQL) Để biết thêm thông tin về việc phát hành dữ liệu và đối tượng cơ sở dữ liệu, hãy truy cập vào trang web sau của Microsoft:
Phát hành dữ liệu và đối tượng cơ sở dữ liệu Để biết thêm thông tin về Mô hình Dịch vụ Gia tăng cho SQL Server, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
935897 Mô hình Dịch vụ Gia tăng có sẵn từ nhóm SQL Server để cung cấp các bản sửa lỗi nóng cho các sự cố được báo cáo
Để biết thêm thông tin về sơ đồ đặt tên cho các bản cập nhật SQL Server, 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:
822499 Giản đồ đặt tên mới cho các gói cập nhật phần mềm Microsoft SQL Server Để biết thêm thông tin về thuật ngữ cập nhật phần mềm, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở kiến thức Microsoft:
824684 Mô tả thuật ngữ chuẩn được sử dụng để miêu tả các bản cập nhật phần mềm của Microsoft