Microsoft phân phối Microsoft SQL Server 2008 hoặc 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 2008 hoặc SQL Server 2008 R2.
Triệu chứng
Giả định rằng bạn có một phiên bản được đặt tên trong Microsoft SQL Server 2008 hoặc trong Microsoft SQL Server 2008 R2 được cài đặt trên máy chủ. Khi bạn chạy truy vấn biểu thức bảng thông thường (CTE) sử dụng hàm Freetexttable hoặc containstable trên một dạng xem được lập chỉ mục, truy vấn CTE không thành công và ngoại lệ vi phạm Access xảy ra. Ngoài ra, bạn nhận được thông báo lỗi sau đây:
Msg 0, mức 11, bang 0, dòng 0 một lỗi nghiêm trọng xảy ra trên lệnh hiện tại. Kết quả, nếu có, hãy loại bỏ.
Ví dụ, ngoại trừ vi phạm Access xảy ra khi bạn chạy mã sau đây:
WITH CTE AS (select [Key] as Key, [Rank] from FREETEXTTABLE(< indexed view name >, *, '< search string >')) SELECT * FROM CTE
Giải pháp
Thông tin Cập Nhật tích lũy
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 4 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:
2527180 Gói Cập Nhật tích lũy 4 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.
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 Cumulative 4. Để 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:
2345451 Gói Cập Nhật tích lũy 4 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
Cách giải quyết
Để khắc phục sự cố này, hãy sử dụng một trong các phương pháp sau:
-
Sử dụng dạng xem, bảng tạm thời hoặc biến bảng thay vì một CTE để lưu trữ các kết quả trung gian.
-
Cập Nhật truy vấn để sử dụng bảng có nguồn gốc hoặc truy vấn phụ. Điều này sẽ loại bỏ việc cần sử dụng một dấu XTE.
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ách sử dụng biểu thức bảng chung, hãy truy cập trang web Microsoft sau đây:
Cách dùng biểu thức bảng chungĐể biết thêm thông tin về hàm Freetexttable (Transact-SQL), hãy truy cập trang web Microsoft sau đây:
FREETEXTTABLE (Transact-SQL)Để biết thêm thông tin về hàm Containstable (Transact-SQL), hãy truy cập trang web Microsoft sau đây:
THỂ thao tác (Transact-SQL)Để biết thêm thông tin về cách tạo dạng xem được lập chỉ mục, hãy truy cập trang web Microsoft sau đây:
Cách tạo dạng xem được lập chỉ mụcĐể 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 sẵn dùng từ nhóm SQL Server để cung cấp hotfixes cho các vấn đề được báo cáoĐể biết thêm thông tin về lược đồ đặt tên cho các bản Cập Nhật SQL Server, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
822499Lược đồ đặt tên mới cho gói cập nhật phần mềm Microsoft SQL ServerĐể biết thêm thông tin về các 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