Son zamanlarda, LocalDB'yi SQL Server Express yükleyicisini ve bu talimatı kullanarak 13'den 14'e yükselttim . Yüklemeden sonra, sürüm 13'ün mevcut varsayılan örneğini (MSSQLLOCALDB) durdurdum ve v14.0.1000 sunucu motorunu otomatik olarak kullanan yeni bir tane oluşturdum.
LocalDB'yi Veri Tabanı Entegrasyonu testleri için kullanıyorum, yani xunit testlerimde test bittiğinde silinen (geçici) bir veri tabanı oluşturuyorum. Yeni sürümden beri, maalesef tüm testlerim aşağıdaki hata mesajı nedeniyle başarısız oluyor:
CREATE FILE, 'C: \ Users \ kepflDBd0811493e18b46febf980ffb8029482a.mdf' dosyasını açmaya veya oluşturmaya çalışırken işletim sistemi hatası 5’le (Erişim reddedildi.) Karşılaştı.
Tuhaf olan şey, mdf dosyasının hedef yolunun yanlış olması, C: \ Users \ kepfl ve DBd0811493e18b46febf980ffb8029482a.mdf ( ters tek bir test için rastgele veritabanı adı) arasında ters eğik çizgi olmamasıdır . Veritabanları basit komutla oluşturulur CREATE DATABASE [databaseName]
- burada özel bir şey yok.
SSMS'de veri, günlük ve yedekleme için hedef konumların aşağıdaki olduğunu görüyorum:
Ancak, konumu güncellemeye çalıştığımda başka bir hata mesajı alıyorum:
LocalDB'nin tekrar veritabanı oluşturabilmesi için varsayılan konumları nasıl güncelleyebilirim? LocalDB'nin varsayılan konum dizinini ve veritabanı dosya adını doğru şekilde birleştirmediği açıktır - düzenleyebileceğim bir kayıt defteri girişi var mı? Veya başka bir şey?
Doug'ın cevabı ve sepupic'in yorumundan sonra güncelleme
Bu Stackoverflow sorusuna göre , varsayılan konumun kayıt defteri aracılığıyla da değiştirilebilir olması gerekir. Ancak ilgili anahtarları "DefaultData", "DefaultLog" ve "BackupDirectory" tuşlarını bulmaya çalışırsam, kayıt defterimde bulamıyorum. SQL Server v14 bu kayıt defteri anahtarlarını yeniden adlandırdı mı veya bu bilgileri kayıt defterinden çıkardı mı?