นำไปใช้กับ
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Standard Edition for Small Business SQL Server 2008 Workgroup SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup

อาการ

พิจารณาสถานการณ์ต่อไปนี้:

  • คุณสร้างฐานข้อมูลใน Microsoft SQL Server 2008 R2

  • คุณปรับปรุงชื่อตรรกะของฐานข้อมูล โดยใช้คําสั่ง ALTER DATABASE

  • คุณดําเนินการสํารองข้อมูลทั้งหมดของฐานข้อมูล หมายเหตุ ไฟล์สํารองฐานข้อมูลแบบเต็มจะถูกสร้างขึ้นหลังจากดําเนินการสํารองข้อมูล

  • คุณพยายามคืนค่าฐานข้อมูลจากแฟ้มสํารองฐานข้อมูล

ในสถานการณ์นี้ คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

Msg 3234, Level 16, State 2, Line 1Logical file '<logical file name>' ไม่ได้เป็นส่วนหนึ่งของฐานข้อมูล '<ชื่อฐานข้อมูล>' ใช้ RESTORE FILELISTONLY เพื่อแสดงรายการชื่อไฟล์แบบลอจิคัลMsg 3013, ระดับ 16, สถานะ 1, บรรทัดที่ 1คืนค่าฐานข้อมูล สิ้นสุดลงอย่างผิดปกติ

หากคุณใช้คําสั่ง RESTORE FILELISTONLY เพื่อตรวจสอบไฟล์สํารอง คุณจะพบว่าชื่อไฟล์แบบลอจิคัลที่คุณอัปเดตเสียหาย อักขระตัวสุดท้ายของชื่อไฟล์แบบลอจิคัลจะถูกตัดทอน ตัวอย่างเช่น คุณพยายามปรับปรุงชื่อตรรกะสําหรับฐานข้อมูลเพื่อ DB_modified แต่จะมีการเปลี่ยนแปลงอย่างไม่ถูกต้องใน DB_modifie ในไฟล์สํารองหมายเหตุ ปัญหานี้จะไม่เกิดขึ้นถ้าคุณเริ่มการทํางานของบริการ SQL Server หลังจากอัปเดตชื่อไฟล์แบบลอจิคัล

การแก้ไข

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

SQL Server 2008 R2

การแก้ไขสําหรับปัญหานี้ถูกนําออกใช้ครั้งแรกในการอัปเดตสะสม 6 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงสะสมสําหรับ SQL Server 2008 R2 ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

2489376 แพคเกจโปรแกรมปรับปรุงสะสม 6 สําหรับ SQL Server 2008 R2 หมายเหตุเนื่องจากรุ่นเป็นแบบสะสม แต่ละการเผยแพร่การแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่กับการเผยแพร่การแก้ไข 2008 R2 SQL Server R2 ก่อนหน้า เราขอแนะนําให้คุณพิจารณาใช้การแก้ไขรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

981356 รุ่น SQL Server 2008 R2 ที่เผยแพร่หลังจากเผยแพร่ SQL Server 2008 R2

ข้อมูลโปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนที่ได้รับการสนับสนุนจาก Microsoft พร้อมใช้งานแล้ว อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มุ่งหวังเพื่อแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น ใช้โปรแกรมแก้ไขด่วนนี้เฉพาะกับระบบที่พบปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น ถ้าคุณจะไม่ได้รับผลกระทบอย่างร้ายแรงจากปัญหานี้ เราขอแนะนําให้คุณรอการอัปเดตซอฟต์แวร์ถัดไปที่มีโปรแกรมแก้ไขด่วนนี้หากโปรแกรมแก้ไขด่วนพร้อมให้ดาวน์โหลดแล้ว จะมีส่วน "โปรแกรมแก้ไขด่วนพร้อมให้ดาวน์โหลด" ที่ด้านบนของบทความฐานความรู้นี้ หากส่วนนี้ไม่ปรากฏ ให้ติดต่อฝ่ายบริการลูกค้าของ Microsoft และฝ่ายสนับสนุนเพื่อขอรับโปรแกรมแก้ไขด่วน หมายเหตุ ถ้ามีปัญหาเพิ่มเติมเกิดขึ้น หรือถ้าการแก้ไขปัญหาใด ๆ ที่จําเป็น คุณอาจต้องสร้างการร้องขอบริการแยกต่างหาก ค่าใช้จ่ายในการสนับสนุนปกติจะใช้กับคําถามและปัญหาการสนับสนุนเพิ่มเติมที่ไม่มีคุณสมบัติสําหรับโปรแกรมแก้ไขด่วนนี้เฉพาะ สําหรับรายการทั้งหมดของหมายเลขโทรศัพท์ของฝ่ายบริการลูกค้าและฝ่ายสนับสนุนของ Microsoft หรือเมื่อต้องการสร้างคําขอรับบริการแยกต่างหาก โปรดไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:

http://support.microsoft.com/contactus/?ws=supportหมายเหตุ ฟอร์ม "โปรแกรมแก้ไขด่วนที่พร้อมใช้งาน" แสดงภาษาที่มีโปรแกรมแก้ไขด่วน หากคุณไม่เห็นภาษาของคุณ เป็นเพราะโปรแกรมแก้ไขด่วนไม่พร้อมใช้งานสําหรับภาษานั้น

ข้อกำหนดเบื้องต้น

เมื่อต้องการใช้โปรแกรมแก้ไขด่วนนี้ คุณต้องมี Microsoft SQL Server 2008 R2 ติดตั้งอยู่

ความต้องการในการเริ่มระบบใหม่

คุณไม่จําเป็นต้องเริ่มการทํางานของคอมพิวเตอร์ใหม่หลังจากที่คุณใช้โปรแกรมแก้ไขด่วนนี้

ข้อมูลการแทนที่โปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนนี้ไม่มีการแทนที่โปรแกรมแก้ไขด่วนอื่นใด

ข้อมูลไฟล์

โปรแกรมแก้ไขด่วนรุ่นภาษาอังกฤษนี้มีแอตทริบิวต์ของแฟ้ม (หรือแอตทริบิวต์ของแฟ้มที่ใหม่กว่า) ซึ่งแสดงอยู่ในตารางต่อไปนี้ วันที่และเวลาสำหรับไฟล์เหล่านี้จะแสดงในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลไฟล์จะถูกแปลงเป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC และเวลาท้องถิ่น ให้ใช้แท็บ โซนเวลา ในรายการ วันที่และเวลา ใน แผงควบคุม

อินสแตนซ์หลักของบริการฐานข้อมูล 2008 R2 SQL Server 32 บิต

ชื่อไฟล์

รุ่นของไฟล์

ขนาดไฟล์

วันที่

เวลา

แพลตฟอร์ม

atxcore.dll

2009.100.1755.0

26464

24-ธ.ค.-10

0:33

x86

datacollectorcontroller.dll

2009.100.1755.0

135520

24-ธ.ค.-10

0:33

x86

etwcls.mof

ไม่สามารถใช้ได้

1116328

วันที่ 23 ธ.ค. 53

3:54

ไม่สามารถใช้ได้

instmsdb.sql

ไม่สามารถใช้ได้

2241260

22-ธ.ค. 53

20:49

ไม่สามารถใช้ได้

mssqlsystemresource.ldf

ไม่สามารถใช้ได้

524288

22-ธ.ค. 53

22:52

ไม่สามารถใช้ได้

mssqlsystemresource.mdf

ไม่สามารถใช้ได้

63569920

22-ธ.ค. 53

22:52

ไม่สามารถใช้ได้

sql_engine_core_inst_keyfile.dll

2009.100.1755.0

13664

24-ธ.ค.-10

0:31

x86

sqlaccess.dll

2009.100.1755.0

415584

24-ธ.ค.-10

0:29

x86

sqlagent.exe

2009.100.1755.0

367968

24-ธ.ค.-10

0:34

x86

sqlagent100_msdb_upgrade.sql

ไม่สามารถใช้ได้

2371245

วันที่ 23 ธ.ค. 53

3:53

ไม่สามารถใช้ได้

sqlos.dll

2009.100.1755.0

14688

24-ธ.ค.-10

0:22

x86

sqlscriptdowngrade.dll

2009.100.1755.0

14688

24-ธ.ค.-10

0:21

x86

sqlscriptupgrade.dll

2009.100.1755.0

4611424

24-ธ.ค.-10

0:21

x86

sqlservr.exe

2009.100.1755.0

42904928

24-ธ.ค.-10

0:34

x86

sqsrvres.dll

2009.100.1755.0

89952

24-ธ.ค.-10

0:21

x86

อินสแตนซ์หลักของบริการฐานข้อมูล 2008 R2 SQL Server 64 บิต

ชื่อไฟล์

รุ่นของไฟล์

ขนาดไฟล์

วันที่

เวลา

แพลตฟอร์ม

atxcore.dll

2009.100.1755.0

31584

วันที่ 23 ธ.ค. 53

23:40

x64

datacollectorcontroller.dll

2009.100.1755.0

262496

วันที่ 23 ธ.ค. 53

23:40

x64

etwcls.mof

ไม่สามารถใช้ได้

1116328

วันที่ 23 ธ.ค. 53

3:54

ไม่สามารถใช้ได้

instmsdb.sql

ไม่สามารถใช้ได้

2241260

22-ธ.ค. 53

20:49

ไม่สามารถใช้ได้

mssqlsystemresource.ldf

ไม่สามารถใช้ได้

524288

22-ธ.ค. 53

22:52

ไม่สามารถใช้ได้

mssqlsystemresource.mdf

ไม่สามารถใช้ได้

63569920

22-ธ.ค. 53

22:52

ไม่สามารถใช้ได้

sql_engine_core_inst_keyfile.dll

2009.100.1755.0

14176

วันที่ 23 ธ.ค. 53

23:40

x64

sqlaccess.dll

2009.100.1755.0

403296

วันที่ 23 ธ.ค. 53

23:38

x86

sqlagent.exe

2009.100.1755.0

428384

วันที่ 23 ธ.ค. 53

23:40

x64

sqlagent100_msdb_upgrade.sql

ไม่สามารถใช้ได้

2371245

วันที่ 23 ธ.ค. 53

3:53

ไม่สามารถใช้ได้

sqlos.dll

2009.100.1755.0

15712

วันที่ 23 ธ.ค. 53

23:37

x64

sqlscriptdowngrade.dll

2009.100.1755.0

15712

วันที่ 23 ธ.ค. 53

23:37

x64

sqlscriptupgrade.dll

2009.100.1755.0

4610912

วันที่ 23 ธ.ค. 53

23:37

x64

sqlservr.exe

2009.100.1755.0

61957984

วันที่ 23 ธ.ค. 53

23:40

x64

sqsrvres.dll

2009.100.1755.0

105824

วันที่ 23 ธ.ค. 53

23:37

x64

สถาปัตยกรรม Itanium SQL Server อินสแตนซ์หลักของบริการฐานข้อมูล 2008 R2

ชื่อไฟล์

รุ่นของไฟล์

ขนาดไฟล์

วันที่

เวลา

แพลตฟอร์ม

atxcore.dll

2009.100.1755.0

63328

วันที่ 23 ธ.ค. 53

23:05

ia64

datacollectorcontroller.dll

2009.100.1755.0

477024

วันที่ 23 ธ.ค. 53

23:05

ia64

etwcls.mof

ไม่สามารถใช้ได้

1116328

วันที่ 23 ธ.ค. 53

3:54

ไม่สามารถใช้ได้

instmsdb.sql

ไม่สามารถใช้ได้

2241260

22-ธ.ค. 53

20:49

ไม่สามารถใช้ได้

mssqlsystemresource.ldf

ไม่สามารถใช้ได้

524288

22-ธ.ค. 53

22:52

ไม่สามารถใช้ได้

mssqlsystemresource.mdf

ไม่สามารถใช้ได้

63569920

22-ธ.ค. 53

22:52

ไม่สามารถใช้ได้

sql_engine_core_inst_keyfile.dll

2009.100.1755.0

19296

วันที่ 23 ธ.ค. 53

23:05

ia64

sqlaccess.dll

2009.100.1755.0

392032

วันที่ 23 ธ.ค. 53

23:01

x86

sqlagent.exe

2009.100.1755.0

1205600

วันที่ 23 ธ.ค. 53

23:09

ia64

sqlagent100_msdb_upgrade.sql

ไม่สามารถใช้ได้

2371245

วันที่ 23 ธ.ค. 53

3:53

ไม่สามารถใช้ได้

sqlos.dll

2009.100.1755.0

22368

วันที่ 23 ธ.ค. 53

22:56

ia64

sqlscriptdowngrade.dll

2009.100.1755.0

20832

วันที่ 23 ธ.ค. 53

22:56

ia64

sqlscriptupgrade.dll

2009.100.1755.0

4617056

วันที่ 23 ธ.ค. 53

22:56

ia64

sqlservr.exe

2009.100.1755.0

121762656

วันที่ 23 ธ.ค. 53

23:09

ia64

sqsrvres.dll

2009.100.1755.0

188768

วันที่ 23 ธ.ค. 53

22:56

ia64

สถานะ

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

วิธีแก้ไขปัญหาชั่วคราว

เมื่อต้องการแก้ไขปัญหานี้ ให้ใช้หนึ่งในสองวิธีต่อไปนี้:

  • หลังจากชื่อไฟล์แบบลอจิคัลถูกปรับเปลี่ยน ให้เรียกใช้คําสั่งต่อไปนี้เพื่อเริ่มฐานข้อมูลใหม่:ALTER DATABASE <ชื่อฐานข้อมูล> SET OFFLINEALTER DATABASE <ชื่อฐานข้อมูล> SET ONLINE

  • เมื่อคุณปรับเปลี่ยนชื่อไฟล์แบบลอจิคัล ให้ผนวกอักขระช่องว่างดัมมีในชื่อตรรกะใหม่ ตัวอย่างเช่น ถ้าคุณต้องการเปลี่ยนชื่อตรรกะเป็น DB_modified ให้ใช้คําสั่งต่อไปนี้เพื่อปรับเปลี่ยนชื่อไฟล์แบบลอจิคัล:ALTER DATABASE <ชื่อฐานข้อมูล> MODIFY FILE (NAME=N'<ชื่อฐานข้อมูล>', NEWNAME='DB_modified ') -- ผนวก ' ' ไปยัง NEWNAME

อ้างอิง

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับคําสั่ง ALTER DATABASE Transact-SQL โปรดเยี่ยมชมเว็บไซต์ Microsoft Developer Network (MSDN) ต่อไปนี้:

ข้อมูลทั่วไปเกี่ยวกับคําสั่ง ALTER DATABASE Transact-SQLสําหรับข้อมูลเพิ่มเติมเกี่ยวกับคําสั่ง RESTORE FILELISTONLY Transact-SQL แวะไปที่เว็บไซต์ Microsoft Developer Network (MSDN) ต่อไปนี้:

ข้อมูลทั่วไปเกี่ยวกับคําสั่ง RESTORE FILELISTONLY Transact-SQL

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ