KB3099548 - KHẮC PHỤC: Không thể tạo ảnh cơ sở dữ liệu khi bạn sử dụng DBCC CHECKDB SQL Server 2014

Áp dụng cho
SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

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 nào khác với cơ sở dữ liệu, thao tác DBCC sẽ được hoàn tất mà không có lỗi. Tuy nhiên, bạn nhận được thông báo lỗi sau:

Lưu ý

DBCC CHECKDB sẽ không kiểm tra danh mục SQL Server nhất quán của 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, thao tác DBCC không thành công và bạn nhận được thông báo lỗi sau:

Lưu ý

Msg 5030, Cấp 16, Tiểu bang 12, Dòng 1
Không thể chỉ khóa cơ sở dữ liệu để thực hiện thao tác.
Msg 7926, Cấp 16, Tiểu bang 1, Dòng 1
Kiểm tra điều khoản bị hủy bỏ. Không thể kiểm tra cơ sở dữ liệu dưới dạng ảnh cơ sở dữ liệu và không thể khóa 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 gì giải pháp thay thế tồn tại. Ngoài ra, hãy 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 trong bản cập nhật tích lũy sau đây 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 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 đó. 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

Để mô phỏng vấn đề này, chạy các lệnh sau đây 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".