KB3099548 - การแก้ไข: ไม่สามารถสร้างสแนปช็อตฐานข้อมูลเมื่อคุณใช้ DBCC CHECKDB ใน SQL Server 2014

นำไปใช้กับ
SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

อาการ

สมมติว่า คุณมีฐานข้อมูลที่ประกอบด้วยกลุ่มแฟ้มแบบอ่านอย่างเดียวใน Microsoft SQL Server 2014 เมื่อคุณเรียกใช้ DBCC CHECKDB บนฐานข้อมูล คําสั่ง DBCC ไม่สามารถสร้างสแนปช็อตฐานข้อมูลสําหรับฐานข้อมูลได้

ถ้าไม่มีการเชื่อมต่อกับฐานข้อมูลอื่น การดําเนินการ DBCC จะเสร็จสมบูรณ์โดยไม่มีข้อผิดพลาด อย่างไรก็ตาม คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

หมายเหตุ

DBCC CHECKDB จะไม่ตรวจสอบความสอดคล้องของแค็ตตาล็อกหรือโบรกเกอร์บริการ SQL Server เนื่องจากไม่สามารถสร้างสแนปช็อตฐานข้อมูลหรือเนื่องจากมีการระบุ WITH TABLOCK ไว้

ถ้ามีการเชื่อมต่อกับฐานข้อมูลอื่น การดําเนินการ DBCC ล้มเหลว และคุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

หมายเหตุ

Msg 5030, ระดับ 16, สถานะ 12, บรรทัดที่ 1
ไม่สามารถล็อกฐานข้อมูลแบบเอกสิทธิ์เฉพาะบุคคลเพื่อดําเนินการ
Msg 7926, ระดับ 16, สถานะ 1, บรรทัดที่ 1
ตรวจสอบใบแจ้งยอดถูกยกเลิก ไม่สามารถตรวจสอบฐานข้อมูลเนื่องจากไม่สามารถสร้างสแนปช็อตฐานข้อมูลได้ และไม่สามารถล็อกฐานข้อมูลหรือตารางได้ โปรดดู Books Online เพื่อดูรายละเอียดว่าลักษณะการทํางานนี้จะเกิดขึ้นเมื่อใดและวิธีแก้ไขปัญหาชั่วคราวใดบ้าง นอกจากนี้ ให้ดูข้อผิดพลาดก่อนหน้านี้สําหรับรายละเอียดเพิ่มเติม

การแก้ปัญหา

ข้อมูลการอัปเดตสะสม

ปัญหานี้ได้รับการแก้ไขเป็นครั้งแรกในการอัปเดตแบบสะสมของ SQL Server ต่อไปนี้

ข้อแนะนํา: ติดตั้งการอัปเดตแบบสะสมล่าสุดสําหรับ SQL Server

แต่ละปรับปรุงสะสมใหม่สําหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการปรับปรุงสะสมก่อนหน้านี้ เราขอแนะนําให้คุณดาวน์โหลดและติดตั้งการอัปเดตแบบสะสมล่าสุดสําหรับ SQL Server:

ข้อมูลเพิ่มเติม

เมื่อต้องการสร้างปัญหานี้ใหม่ ให้เรียกใช้คําสั่งต่อไปนี้ใน SQL Server:

หมายเหตุ

-- 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.

สถานะ

Microsoft ได้ยืนยันว่านี่เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ที่แสดงไว้ในส่วน "นำไปใช้กับ"