ฐานข้อมูลจากรุ่นก่อนหน้าของ SQL Server จะไม่สามารถใช้งานเมื่อมีแนบกับอินสแตนซ์ของ SQL Server 2012

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 2710782 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

อาการ

พิจารณาสถานการณ์สมมติต่อไปนี้:
  • คุณติดตั้งอินสแตนซ์ ของ Microsoft SQL Server 2005 ของ Microsoft SQL Server 2008 หรือ Microsoft SQL Server 2008 r2
  • อินสแตนซ์ของ SQL Server จะมีชื่อว่า INST1 และเป็นโฮสต์ของฐานข้อมูลที่ถูกตั้งชื่อว่า Test_RO_FG_DB
  • ฐานข้อมูลประกอบด้วยกลุ่มแฟ้มต่อไปนี้:
    • หลัก
    • RO_FG
    • RW_FG
  • กลุ่มแฟ้มของที่ชื่อ RO_FG ถูกทำเครื่องหมายเป็น READ_ONLY
  • คุณติดตั้งอินสแตนซ์ใหม่ของ 2012 เซิร์ฟเวอร์ของ Microsoft SQL นี้อินสแตนซ์ของ SQL Server 2012 จะมีชื่อว่า INST2
  • คุณถอดถอน Test_RO_FG_DB ฐานข้อมูลจาก INST1
  • คุณได้พยายามที่แนบฐานข้อมูล Test_RO_FG_DB INST2
  • คุณได้รับข้อความแสดงข้อผิดพลาดที่คล้ายกับต่อไปนี้:
    ข่าวสารเกี่ยวกับ 3415 ระดับ 16 สถานะ 2 บรรทัด 1
    ไม่สามารถปรับรุ่นฐานข้อมูล 'Test_RO_FG_DB' เนื่องจากเป็นอ่านอย่างเดียว มีแฟ้มแบบอ่านอย่างเดียว หรือผู้ใช้ที่มีสิทธิ์ในการปรับเปลี่ยนแฟ้มบางแฟ้มได้ ทำให้ฐานข้อมูลหรือแฟ้มแบบเขียนได้ และเรียกใช้การกู้คืน
  • คุณได้พยายามที่ทบทวนฐานข้อมูล Test_RO_FG_DB INST1
ในสถานการณ์สมมตินี้ คุณไม่ต้องการฐานข้อมูลที่จะ INST1 และ คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้ในการบันทึกข้อผิดพลาด SQL Server:

2012-05-03 22:55:45.37 spid52 เริ่มต้นฐานข้อมูล 'Test_RO_FG_DB'
2012-05-03 22:55:45.78 spid52 * *******************************************************************************
spid52 22:55:45.78 2012 05 03 * เริ่มกองถ่ายโอนข้อมูล:
spid52 22:55:45.78 2012 05 03 * 05/03/12 22:55:45 spid 52
spid52 22:55:45.78 2012 05 03 * ตำแหน่ง: logscan.cpp:1490
spid52 22:55:45.78 2012 05 03 * นิพจน์: FALSE
spid52 22:55:45.78 2012 05 03 * SPID: 52
spid52 22:55:45.78 2012 05 03 * หมายเลขกระบวนการ: 9156
spid52 22:55:45.78 2012 05 03 * คำอธิบาย: ค่าสลับที่ไม่ถูกต้อง
spid52 22:55:45.78 2012 05 03 * ไบต์ 98 บัฟเฟอร์การป้อนข้อมูล -
spid52 22:55:45.78 2012 05 03 * ดัดแปลงฐานข้อมูล Test_RO_FG_DB ตั้งค่าแบบออนไลน์
เกิดข้อผิดพลาด spid52 22:55:51.05 2012 05 03: ความรุนแรง 17065 : 16 สถานะ: 1
22:55:51.05 2012 05 03 ยืนยันหลักของเซิร์ฟเวอร์ SQL spid52: แฟ้ม:<logscan.cpp>บรรทัด =ยืนยันหลักการล้มเหลว 1490 =ค่า 'FALSE' สลับที่ไม่ถูกต้อง ข้อผิดพลาดนี้อาจเป็นที่เกี่ยวข้องกับการกำหนดเวลา ถ้าข้อผิดพลาดยังคงมีอยู่หลังจากสำเร็จคำ ใช้ DBCC CHECKDB เพื่อตรวจสอบความสมบูรณ์ของโครงสร้างฐานข้อมูล หรือเริ่มการทำงานของเซิร์ฟเวอร์เพื่อให้แน่ใจว่า โครงสร้างข้อมูลในหน่วยความจำจะไม่เกิดความเสียหาย
เกิดข้อผิดพลาด spid52 22:55:51.10 2012 05 03: ความรุนแรง 3624 : 20 สถานะ: 1
2012-05-03 22:55:51.10 spid52 A ระบบยืนยันหลักล้มเหลว ตรวจสอบล็อกข้อผิดพลาดของเซิร์ฟเวอร์ SQL สำหรับรายละเอียด โดยทั่วไป ความล้มเหลวในการยืนยันหลักจะเกิดจากการที่ซอฟต์แวร์จุดบกพร่องหรือข้อมูลเสีย เมื่อต้องการตรวจสอบความเสียหายของฐานข้อมูล พิจารณาใช้ DBCC CHECKDB ถ้าคุณตกลงที่จะส่งการถ่ายโอนข้อมูลไปยัง Microsoft ในระหว่างการติดตั้ง การถ่ายโอนข้อมูลแบบย่อส่วนจะถูกส่งไปยัง Microsoft การปรับปรุงอาจพร้อมใช้งานจาก Microsoft ใน Service Pack ล่าสุด หรือ ในการ QFE จากฝ่ายสนับสนุนด้านเทคนิค
เกิดข้อผิดพลาด spid52 22:56:09.16 2012 05 03: ความรุนแรง 3414 : 21 สถานะ: 1
spid52 22:56:09.16 2012 05 03 ข้อผิดพลาดเกิดขึ้นในระหว่างการกู้คืน การป้องกันไม่ให้เริ่มการทำงานฐานข้อมูล 'Test_RO_FG_DB' (ID 19 ฐาน) วินิจฉัยข้อผิดพลาดกู้คืน และการแก้ไขปัญหาเหล่านั้น หรือคืนค่าจากสำเนาสำรองที่ดีรู้จัก ถ้าข้อผิดพลาดไม่ถูกแก้ไข หรือคาดว่า ติดต่อฝ่ายสนับสนุนด้านเทคนิค
เกิดข้อผิดพลาด spid52 22:56:09.18 2012 05 03: ความรุนแรง 928 : 20 สถานะ: 1
spid52 22:56:09.18 2012 05 03 ในระหว่างการปรับรุ่น ฐานข้อมูลยกเว้น 926 ความรุนแรง 14 สถานะ 1 ที่อยู่ 0000000000F6A971 ใช้หมายเลขยกเว้นเพื่อค้นหาสาเหตุ</logscan.cpp>


หมายเหตุ ปัญหานี้เกิดขึ้นเมื่อคุณพยายามแนบฐานข้อมูลที่ประกอบด้วยกลุ่มแฟ้มของที่ถูกทำเครื่องหมาย READ_ONLY เท่านั้น ปัญหานี้เกิดขึ้นเมื่อคุณพยายามที่จะย้ายฐานข้อมูล READ_ONLY ซึ่งข้อมูลทั้งหมดถูกกำหนด READ_ONLY

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจาก SQL Server 2012 ไม่พบกลุ่มแฟ้มอ่านอย่างเดียวของก่อนที่เริ่มการทำงานการปรับรุ่นฐานข้อมูล หลังจากที่มีเริ่มการปรับรุ่น SQL Server 2012 เขียนรายการการล็อกธุรกรรม รุ่นก่อนหน้านี้ไม่สามารถอ่านรายการการล็อกธุรกรรมใหม่

สถานะ

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

การแก้ไข

ปรับปรุงข้อมูล

SQL Server 2012

การแก้ไขสำหรับปัญหานี้ก่อนเปิดใน 2 ปรับปรุงที่สะสมสำหรับ SQL Server 2012 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมปรับปรุงนี้ คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2703275 แพคเกจการปรับปรุง 2 สำหรับ SQL Server 2012
หมายเหตุ เนื่องจาก builds เป็นแบบสะสม นำออกใช้แก้ไขใหม่แต่ละที่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่ถูกรวมเข้ากับเซิร์ฟเวอร์ 2012 ก่อนหน้าของ SQL แก้ไขนำออกใช้ Microsoft ขอแนะนำว่า คุณควรพิจารณาถึงการนำไปใช้แก้ไขรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2692828 สร้าง 2012 การเซิร์ฟเวอร์ SQL ที่เผยแพร่หลังจากเปิดตัว SQL Server 2012
คุณต้องใช้โปรแกรมแก้ไขด่วนของ SQL Server 2012 เมื่อต้องการติดตั้งของ SQL Server 2012

การหลีกเลี่ยงปัญหา

เมื่อต้องหลีกเลี่ยงปัญหานี้ ใช้หนึ่งในวิธีต่อไปนี้

วิธีที่ 1

การคืนค่าสำเนาสำรองของฐานข้อมูลจาก INST1 บน INST2

หมายเหตุ ปัญหาที่อธิบายไว้ในส่วน "อาการ" เกิดขึ้นใน SQL Server 2012 เมื่อคุณคืนค่าสำเนาสำรองจากรุ่นก่อน

วิธีที่ 2

ทำการอัปเกรดแบบแทนของ SQL Server 2012 SQL Server รุ่นก่อนหน้า

วิธีที่ 3

ย้ายฐานข้อมูลที่ประกอบด้วยกลุ่มแฟ้มแบบอ่านอย่างเดียวของการอินสแตนซ์ของ SQL Server 2012 เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้

หมายเหตุ ทำตามขั้นตอนที่ 4 ถึง 11 บนเซิร์ฟเวอร์ที่กำลังเรียกใช้ SQL Server 2012 ทำตามขั้นตอนที่ 4 ถึง 11 ตัวอย่าง บน INST2
  1. บน INST1 แยกฐานข้อมูล ตัวอย่าง ถอดถอนฐานข้อมูล Test_RO_FG_DB
  2. ย้ายแฟ้มฐานข้อมูลไปยังเซิร์ฟเวอร์ที่เป็นโฮสต์ให้อินสแตนซ์ INST2
  3. ลองแนบฐานข้อมูล INST2 ตัวอย่างรหัสต่อไปนี้แสดงวิธีการดังนี้:
    CREATE DATABASE [Test_RO_FG_DB] ON PRIMARY ( NAME = N'Test_RO_FG', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RO_FG.mdf' ), 
    FILEGROUP [RO_FG] ( NAME = N'Test_RO_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RO_FG_File1.ndf' ), 
    FILEGROUP [RW_FG] ( NAME = N'Test_RW_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RW_FG_File1.ndf' )
    LOG ON ( NAME = N'Test_RO_FG_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RO_FG_log.ldf' )
    FOR ATTACH;
    GO
    หมายเหตุ คุณจะได้รับ 3425 ข้อความแสดงข้อผิดพลาดที่กล่าวถึงในส่วน "อาการ"
  4. บนหน้าจอพร้อมรับคำสั่ง เปลี่ยนชื่อแฟ้มฐานข้อมูล ตัวอย่างคำสั่งต่อไปนี้แสดงวิธีการดังนี้:
    rename Test_RO_FG.mdf original_Test_RO_FG.mdf
    rename Test_RO_FG_File1.ndf original_Test_RO_FG_File1.ndf
    rename Test_RW_FG_File1.ndf original_Test_RW_FG_File1.ndf
    rename Test_RO_FG_log.ldf original_Test_RO_FG_log.ldf
  5. ใน SQL Server Studio จัดการ สร้างฐานข้อมูลที่มีชื่อเดียวกันและโครงสร้างทางกายภาพเป็นฐานข้อมูลที่คุณต้องการแนบ ตัวอย่างรหัสต่อไปนี้แสดงวิธีการดังนี้:
    CREATE DATABASE [Test_RO_FG_DB] ON PRIMARY ( NAME = N'Test_RO_FG_DB', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RO_FG_DB.mdf' , SIZE = 4072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), 
    FILEGROUP [RO_FG] ( NAME = N'Test_RO_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RO_FG_File1.ndf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), 
    FILEGROUP [RW_FG] ( NAME = N'Test_RW_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RW_FG_File1.ndf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
    LOG ON ( NAME = N'Test_RO_FG_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\Test_RO_FG_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
    GO
  6. ตั้งค่าฐานข้อมูลแบบออฟไลน์ เมื่อต้องการทำเช่นนี้ เรียกใช้คำสั่งต่อไปนี้:
    ALTER DATABASE [Test_RO_FG_DB] SET OFFLINE
    GO
  7. บนหน้าจอพร้อมรับคำสั่ง เปลี่ยนชื่อแฟ้มในฐานข้อมูลใหม่ ตัวอย่างคำสั่งต่อไปนี้แสดงวิธีการดังนี้:
    rename Test_RO_FG.mdf new_Test_RO_FG.mdf
    rename Test_RO_FG_File1.ndf new_Test_RO_FG_File1.ndf
    rename Test_RW_FG_File1.ndf new_Test_RW_FG_File1.ndf
    rename Test_RO_FG_log.ldf new_Test_RO_FG_log.ldf
  8. บนหน้าจอพร้อมรับคำสั่ง เปลี่ยนชื่อแฟ้มในฐานข้อมูลที่คุณย้ายในขั้นตอนที่ 2 เปลี่ยนชื่อแฟ้มให้ตรงกับฐานข้อมูลที่คุณสร้างในขั้นตอนที่ 4 ตัวอย่างคำสั่งต่อไปนี้แสดงวิธีการดังนี้:
    rename original_Test_RO_FG.mdf Test_RO_FG.mdf 
    rename original_Test_RO_FG_File1.ndf Test_RO_FG_File1.ndf 
    rename original_Test_RW_FG_File1.ndf Test_RW_FG_File1.ndf 
    rename original_Test_RO_FG_log.ldf Test_RO_FG_log.ldf
  9. ตั้งค่าฐานข้อมูลแบบออนไลน์ เมื่อต้องการทำเช่นนี้ เรียกใช้คำสั่งต่อไปนี้:
    ALTER DATABASE [Test_RO_FG_DB] SET ONLINE
    GO
  10. ตรวจสอบว่า ฐานข้อมูลแบบออนไลน์ และฟังก์ชันการทำงานของบริการ Broker ที่ตั้งขึ้นใหม่
  11. ลบแฟ้มฐานข้อมูลที่ไม่จำเป็น ตัวอย่างคำสั่งต่อไปนี้แสดงวิธีการดังนี้:
    del /P new_Test_RO_FG.mdf
    del /P new_Test_RO_FG_File1.ndf
    del /P new_Test_RW_FG_File1.ndf
    del /P new_Test_RO_FG_log.ldf
วิธีที่ 4

ทบทวนฐานข้อมูลที่ประกอบด้วยกลุ่มแฟ้มแบบอ่านอย่างเดียวของการอินสแตนซ์ก่อนหน้าของ SQL Server เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้

บันทึกย่อ
  • ฐานข้อมูลประกอบด้วยรายการล็อกธุรกรรมใหม่จากการปรับรุ่นล้มเหลว
  • ทำขั้นตอนที่ 3 ถึง 10 บนเซิร์ฟเวอร์ที่กำลังเรียกใช้ SQL Server รุ่นก่อนหน้านี้ ยกตัวอย่างเช่น ทำขั้นตอนที่ 3 ถึง 10 บน INST1

  1. ย้ายแฟ้มฐานข้อมูลกับอินสแตนซ์ของ SQL Server ที่เป็นโฮสต์ของ INST1
  2. ลองแนบฐานข้อมูล INST1 ตัวอย่างรหัสต่อไปนี้แสดงวิธีการดังนี้:
    CREATE DATABASE [Test_RO_FG_DB] ON PRIMARY ( NAME = N'Test_RO_FG_DB', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RO_FG_DB.mdf' ), 
    FILEGROUP [RO_FG] ( NAME = N'Test_RO_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RO_FG_File1.ndf' ), 
    FILEGROUP [RW_FG] ( NAME = N'Test_RW_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RW_FG_File1.ndf' )
    LOG ON ( NAME = N'Test_RO_FG_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RO_FG_log.ldf' )
    FOR ATTACH
    GO
    หมายเหตุ คุณจะได้รับ 3624 ข้อความแสดงข้อผิดพลาดที่กล่าวถึงในส่วน "อาการ" นอกจากนี้คุณยังจะได้รับข้อความแสดงข้อผิดพลาด 1813
  3. บนหน้าจอพร้อมรับคำสั่ง เปลี่ยนชื่อแฟ้มของฐานข้อมูลบน INST1 ตัวอย่างคำสั่งต่อไปนี้แสดงวิธีการดังนี้:
    rename Test_RO_FG.mdf original_Test_RO_FG.mdf
    rename Test_RO_FG_File1.ndf original_Test_RO_FG_File1.ndf
    rename Test_RW_FG_File1.ndf original_Test_RW_FG_File1.ndf
    rename Test_RO_FG_log.ldf original_Test_RO_FG_log.ldf
  4. ใน SQL Server Studio จัดการ สร้างฐานข้อมูลที่มีชื่อเดียวกันและโครงสร้างทางกายภาพเป็นฐานข้อมูลที่คุณต้องการแนบ ตัวอย่างรหัสต่อไปนี้แสดงวิธีการดังนี้:
    CREATE DATABASE [Test_RO_FG_DB] ON PRIMARY ( NAME = N'Test_RO_FG_DB', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RO_FG_DB.mdf' , SIZE = 4072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), 
    FILEGROUP [RO_FG] ( NAME = N'Test_RO_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RO_FG_File1.ndf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), 
    FILEGROUP [RW_FG] ( NAME = N'Test_RW_FG_File1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RW_FG_File1.ndf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
    LOG ON ( NAME = N'Test_RO_FG_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\Test_RO_FG_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
    GO
  5. ตั้งค่าฐานข้อมูลแบบออฟไลน์ เมื่อต้องการทำเช่นนี้ เรียกใช้คำสั่งต่อไปนี้:
    ALTER DATABASE [Test_RO_FG_DB] SET OFFLINE
    GO
  6. บนหน้าจอพร้อมรับคำสั่ง เปลี่ยนชื่อแฟ้มในฐานข้อมูลใหม่ ตัวอย่างคำสั่งต่อไปนี้แสดงวิธีการดังนี้:
    rename Test_RO_FG.mdf new_Test_RO_FG.mdf
    rename Test_RO_FG_File1.ndf new_Test_RO_FG_File1.ndf
    rename Test_RW_FG_File1.ndf new_Test_RW_FG_File1.ndf
    rename Test_RO_FG_log.ldf new_Test_RO_FG_log.ldf
  7. บนหน้าจอพร้อมรับคำสั่ง เปลี่ยนชื่อแฟ้มในฐานข้อมูลที่คุณย้ายในขั้นตอนที่ 2 เปลี่ยนชื่อแฟ้มให้ตรงกับฐานข้อมูลที่คุณสร้างในขั้นตอนที่ 4 ตัวอย่างคำสั่งต่อไปนี้แสดงวิธีการดังนี้:
    rename original_Test_RO_FG.mdf Test_RO_FG.mdf 
    rename original_Test_RO_FG_File1.ndf Test_RO_FG_File1.ndf 
    rename original_Test_RW_FG_File1.ndf Test_RW_FG_File1.ndf 
    rename original_Test_RO_FG_log.ldf Test_RO_FG_log.ldf
  8. การตั้งค่าฐานข้อมูลไปยังโหมดฉุกเฉิน และทำการซ่อมแซม เมื่อต้องการทำเช่นนี้ ให้เรียกใช้คำสั่งต่อไปนี้

    หมายเหตุ ล็อกฐานข้อมูลจะถูกสร้างในระหว่างขั้นตอนนี้ ซึ่งอาจทำให้ข้อมูลสูญหาย ดังนั้น เราแนะนำให้ คุณสำรองฐานข้อมูลก่อนที่คุณทำขั้นตอนนี้
    ALTER DATABASE Test_RO_FG_DB SET EMERGENCY
    GO
    ALTER DATABASE Test_RO_FG_DB SET SINGLE_USER
    GO
    DBCC CHECKDB (Test_RO_FG_DB, repair_allow_data_loss) WITH ALL_ERRORMSGS
    GO
    ALTER DATABASE Test_RO_FG_DB SET MULTI_USER
    GO
  9. ตรวจสอบว่า ฐานข้อมูลแบบออนไลน์ และฟังก์ชันการทำงานของบริการ Broker ที่ตั้งขึ้นใหม่
  10. ลบแฟ้มฐานข้อมูลที่ไม่จำเป็น ตัวอย่างคำสั่งต่อไปนี้แสดงวิธีการดังนี้:
    del /P new_Test_RO_FG.mdf
    del /P new_Test_RO_FG_File1.ndf
    del /P new_Test_RW_FG_File1.ndf
    del /P new_Test_RO_FG_log.ldf

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

มีขั้นตอนต่าง ๆ ที่เกิดขึ้นเมื่อฐานข้อมูลถูกแนบกับอินสแตนซ์ของ SQL Server ขั้นตอนเหล่านี้รวมถึงการกู้คืนฐานข้อมูล และแฟ้มการปรับรุ่นจากรุ่นก่อนหน้าของ SQL Server

ในปัญหาที่อธิบายไว้ในส่วน "อาการ" SQL Server 2012 เริ่มต้นกระบวนการปรับรุ่นก่อนตรวจพบแฟ้มแบบอ่านอย่างเดียวในฐานข้อมูล ขั้นตอนการปรับรุ่นรวมเริ่มต้นธุรกรรมการยกเลิกเลือกบิต "สตรีปิด" ในหน้าการเริ่มต้นระบบของฐานข้อมูล SQL Server รุ่นก่อนหน้านี้ไม่สามารถอ่านระเบียนเริ่มต้นธุรกรรม ดังนั้น ฐานข้อมูลไม่ได้ใช้งานได้ใน SQL Server รุ่นก่อนหน้านี้ และ SQL Server สร้างข้อผิดพลาด 3624

ปรับรุ่นแบบแทนเมื่อฐานข้อมูลถูกทำเครื่องหมายเป็นอ่านอย่างเดียว

เมื่อคุณทำการปรับรุ่นแบบแทนอินสแตนซ์ของ SQL Server ที่ประกอบด้วยฐานข้อมูลแบบอ่านอย่างเดียวที่ชื่อ Test_RO_DB กับ SQL Server 2012 คุณอาจได้รับข้อความแสดงข้อผิดพลาดที่คล้ายกับต่อไปนี้ในการบันทึกข้อผิดพลาด SQL Server:

2012-05-04 21:03:59.23 spid19s เริ่มต้นฐานข้อมูล 'Test_RO_DB'
2012-05-04 21:03:59.56 spid19s Converting ฐาน 'Test_RO_DB' รุ่น 661 เป็น 706 รุ่นปัจจุบัน
เกิดข้อผิดพลาด spid19s 21:03:59.56 2012 05 04: ความรุนแรง 928 : 20 สถานะ: 1
spid19s 21:03:59.56 2012-05-04 ในระหว่างการปรับรุ่น ฐานข้อมูลยกเว้น 3415 ความรุนแรง 16 สถานะ 1, 000007FEE66D784A ที่อยู่ ใช้หมายเลขยกเว้นเพื่อค้นหาสาเหตุ
เกิดข้อผิดพลาด spid19s 21:03:59.61 2012 05 04: ความรุนแรง 3415 : 16 สถานะ: 1
2012-05-04 21:03:59.61 spid19s ไม่สามารถปรับรุ่นฐานข้อมูล 'Test_RO_DB' เนื่องจากเป็นอ่านอย่างเดียว มีแฟ้มแบบอ่านอย่างเดียว หรือผู้ใช้ที่มีสิทธิ์ในการปรับเปลี่ยนแฟ้มบางแฟ้มได้ ทำให้ฐานข้อมูลหรือแฟ้มแบบเขียนได้ และเรียกใช้การกู้คืน


ในตอนท้ายของกระบวนการปรับรุ่น Test_RO_DB ฐานข้อมูลจะเป็นในรัฐ RECOVERY_PENDING คุณต้องใช้คำสั่งเปลี่ยนฐานข้อมูลเพื่อตั้งค่าฐานข้อมูล READ_WRITE จากนั้น ใช้คำสั่งเปลี่ยนฐานข้อมูลเพื่อตั้งค่าฐานข้อมูล READ_ONLY ซึ่งช่วยให้โปรแกรม SQL Server การปรับรุ่นฐานข้อมูลรุ่นถูกต้อง

แบบแทนการปรับรุ่นเมื่อฐานข้อมูลแบบอ่าน/เขียนประกอบด้วยกลุ่มของแฟ้มที่ถูกทำเครื่องหมายเป็นแบบอ่านอย่างเดียว

เมื่อคุณทำการปรับรุ่นแบบแทนการ SQL Server 2012 คุณอาจได้รับข้อความแสดงข้อความที่คล้ายกับต่อไปนี้ในการบันทึกข้อผิดพลาด SQL Server ปัญหานี้เกิดขึ้นเมื่ออินสแตนซ์ก่อนหน้าของ SQL Server ที่เป็นโฮสต์ของฐานข้อมูลแบบอ่าน/เขียน และประกอบด้วยกลุ่มของแฟ้มที่ถูกทำเครื่องหมาย READ_ONLY อย่างไรก็ตาม กระบวนการปรับรุ่นเสร็จสมบูรณ์ตามที่คาดไว้ และฐานข้อมูลเริ่มทำงานแบบออนไลน์

หมายเหตุ ในข้อความข้อผิดพลาดต่อไปนี้ ฐานข้อมูลมีชื่อว่า Test_RO_FG:

2012-05-04 21:03:59.23 spid18s เริ่มต้นฐานข้อมูล 'Test_RO_FG'
2012-05-04 21:03:59.71 spid18s Converting ฐาน 'Test_RO_FG' รุ่น 661 เป็น 706 รุ่นปัจจุบัน
2012-05-04 21:03:59.71 spid18s 'Test_RO_FG' เรียกใช้ขั้นตอนการปรับรุ่นจากรุ่น 661 รุ่น 668 ของฐานข้อมูล



คุณสมบัติ

หมายเลขบทความ (Article ID): 2710782 - รีวิวครั้งสุดท้าย: 18 มิถุนายน 2555 - Revision: 2.0
ใช้กับ
  • Microsoft SQL Server 2012 Enterprise
Keywords: 
kbsurveynew kbprb kbtshoot kbmt KB2710782 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:2710782

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com