อาการ
สมมติว่า คุณมีฐานข้อมูลที่ประกอบด้วยกลุ่มแฟ้มแบบอ่านอย่างเดียวใน 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 ที่แสดงไว้ในส่วน "นำไปใช้กับ"