เมื่อเร็ว ๆ นี้ฉันอัพเกรด LocalDB จากรุ่น 13 เป็น 14 โดยใช้โปรแกรมติดตั้ง SQL Server Express และคำสั่งนี้ หลังจากการติดตั้งฉันหยุดอินสแตนซ์เริ่มต้นที่มีอยู่ (MSSQLLOCALDB) เวอร์ชัน 13 และสร้างขึ้นใหม่ซึ่งใช้เอ็นจิ้นเซิร์ฟเวอร์ v14.0.1000 โดยอัตโนมัติ
ฉันมักจะใช้การทดสอบ LocalDB for Database Integration เช่นในการทดสอบ xunit ของฉันฉันสร้างฐานข้อมูล (ชั่วคราว) ซึ่งจะถูกลบเมื่อการทดสอบเสร็จสิ้น ตั้งแต่เวอร์ชันใหม่โชคไม่ดีที่การทดสอบทั้งหมดของฉันล้มเหลวเนื่องจากข้อความแสดงข้อผิดพลาดต่อไปนี้:
สร้างไฟล์พบข้อผิดพลาดของระบบปฏิบัติการ 5 (ปฏิเสธการเข้าถึง) ในขณะที่พยายามเปิดหรือสร้างไฟล์ฟิสิคัล 'C: \ Users \ kepflDBd0811493e18b46febf980ffb8029482a.mdf'
สิ่งแปลกคือเส้นทางเป้าหมายสำหรับไฟล์ mdf ไม่ถูกต้องแบ็กสแลชหายไประหว่างC: \ Users \ kepflและDBd0811493e18b46febf980ffb8029482a.mdf (ซึ่งเป็นชื่อฐานข้อมูลแบบสุ่มสำหรับการทดสอบเดี่ยว) ฐานข้อมูลถูกสร้างผ่านคำสั่งง่าย ๆCREATE DATABASE [databaseName]
- ไม่มีอะไรพิเศษที่นี่
ใน SSMS ฉันเห็นว่าตำแหน่งที่ตั้งเป้าหมายสำหรับข้อมูลบันทึกและสำรองข้อมูลมีดังต่อไปนี้:
อย่างไรก็ตามเมื่อฉันพยายามอัปเดตตำแหน่งฉันได้รับข้อความแสดงข้อผิดพลาดอื่น:
ฉันจะอัปเดตตำแหน่งเริ่มต้นเพื่อให้ LocalDB สามารถสร้างฐานข้อมูลได้อีกครั้งได้อย่างไร เป็นที่ชัดเจนว่า LocalDB ไม่ถูกต้องรวมไดเรกทอรีที่ตั้งเริ่มต้นและชื่อไฟล์ฐานข้อมูล - มีรายการรีจิสทรีที่ฉันสามารถแก้ไขได้หรือไม่ หรือสิ่งอื่นใด
อัปเดตหลังจากคำตอบของดั๊กและความคิดเห็นของเซพปิค
ตามคำถาม Stackoverflow นี้ตำแหน่งเริ่มต้นควรเปลี่ยนแปลงได้ผ่านรีจิสตรี อย่างไรก็ตามถ้าฉันพยายามค้นหาคีย์ที่เกี่ยวข้อง "DefaultData", "DefaultLog" และ "BackupDirectory" ฉันจะไม่สามารถหาพวกมันได้ในรีจิสตรีของฉัน SQL Server v14 เปลี่ยนชื่อรีจิสตรีคีย์หรือย้ายข้อมูลเหล่านี้ออกจากรีจิสตรีหรือไม่?