Triệu chứng
Giả sử bạn có một cơ sở dữ liệu chứa các nhóm tệp chỉ đọc trong Microsoft SQL Server 2014. Khi bạn chạy DBCC CHECKDB trên cơ sở dữ liệu, lệnh DBCC không thể tạo ảnh cơ sở dữ liệu cho cơ sở dữ liệu đó.
Nếu không có kết nối khác đến cơ sở dữ liệu, thao tác DBCC sẽ hoàn thành mà không có lỗi. Tuy nhiên, bạn nhận được thông báo lỗi sau đây:
Lưu ý
DBCC CHECKDB sẽ không kiểm tra tính nhất quán của danh mục SQL Server hoặc Service Broker vì không thể tạo ảnh cơ sở dữ liệu hoặc vì WITH TABLOCK đã được chỉ định.
Nếu có các kết nối khác đến cơ sở dữ liệu, thì thao tác DBCC sẽ không thành công và bạn sẽ nhận được thông báo lỗi sau đây:
Lưu ý
Thông báo 5030, Mức 16, Trạng thái 12, Dòng 1
Cơ sở dữ liệu không thể được khóa riêng để thực hiện thao tác.
Thông báo 7926, Mức 16, Trạng thái 1, Dòng 1
Câu lệnh kiểm tra bị huỷ. Không thể kiểm tra cơ sở dữ liệu vì không thể tạo ảnh cơ sở dữ liệu và không khóa được cơ sở dữ liệu hoặc bảng. Xem Sách Trực tuyến để biết chi tiết về thời điểm hành vi này được mong đợi và những giải pháp thay thế đang tồn tại. Cũng xem các lỗi trước để biết thêm chi tiết.
Giải pháp
Thông tin Cập nhật Tích lũy
Sự cố này được khắc phục lần đầu tiên trong bản cập nhật tích lũy tiếp theo của SQL Server.
Đề xuất: Cài đặt bản cập nhật tích lũy mới nhất cho SQL Server
Mỗi bản cập nhật tích lũy mới dành cho SQL Server chứa tất cả các bản sửa lỗi nóng và bản sửa lỗi bảo mật được tích hợp trong bản cập nhật tích lũy trước đó. Chúng tôi khuyên bạn nên tải xuống và cài đặt các bản cập nhật tích lũy mới nhất cho SQL Server:
Xem thêm thông tin
Để tái tạo sự cố này, hãy chạy các lệnh sau trong SQL Server:
Lưu ý
-- Open a new query that is named conn1, and then create a new database. CREATE DATABASE DbTest GO -- Add a new file group. ALTER DATABASE DbTest ADD FILEGROUP FGTest GO -- Add a file to the new file group. ALTER DATABASE DbTest ADD FILE (NAME=DbTest_Data2, FILENAME=''C:\temp\DbTest_Data2.ndf') TO FILEGROUP FGTest GO -- Change the file group to read-only. ALTER DATABASE DbTest MODIFY FILEGROUP FGTest READONLY GO -- Run the DBCC CHECK command in the conn1 query. DBCC CHECKDB (DbTest) -- The DBCC CHECK command runs correctly. However, you may receive the following message: "DBCC CHECKDB will not check SQL Server catalog or Service Broker consistency because a database snapshot could not be created or because WITH TABLOCK was specified." -- Open a new query window that is named conn2, and then set the database as DbTest. This action opens a connection to the DbTest database. -- Return to the conn1 query, and run the DBCC command again. DBCC CHECKDB (DbTest) -- Notice the error message that is mentioned in the "Symptoms" section.
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".