Baru-baru ini, saya memutakhirkan LocalDB dari versi 13 ke 14 menggunakan penginstal SQL Server Express dan instruksi ini . Setelah instalasi, saya menghentikan instance default yang ada (MSSQLLOCALDB) versi 13 dan membuat yang baru, yang secara otomatis menggunakan mesin server v14.0.1000.
Saya sering menggunakan LocalDB untuk tes Integrasi Basis Data, yaitu dalam tes xunit saya, saya membuat database (sementara) yang dihapus ketika tes selesai. Sejak versi baru, sayangnya semua pengujian saya gagal karena pesan kesalahan berikut:
BUAT FILE menemukan kesalahan sistem operasi 5 (Akses ditolak.) Saat mencoba membuka atau membuat file fisik 'C: \ Users \ kepflDBd0811493e18b46febf980ffb8029482a.mdf'
Yang aneh adalah bahwa path target untuk file mdf tidak benar, backslash hilang antara C: \ Users \ kepfl dan DBd0811493e18b46febf980ffb8029482a.mdf (yang merupakan nama database acak untuk satu tes). Basis data dibuat melalui perintah sederhana CREATE DATABASE [databaseName]
- tidak ada yang istimewa di sini.
Di SSMS, saya melihat bahwa lokasi target untuk data, log, dan cadangan adalah sebagai berikut:
Namun, ketika saya mencoba memperbarui lokasi, saya mendapatkan pesan kesalahan lain:
Bagaimana saya bisa memperbarui lokasi default sehingga LocalDB dapat membuat database lagi? Sudah jelas bahwa LocalDB tidak menggabungkan direktori lokasi default dan nama file database dengan benar - apakah ada entri registri yang dapat saya edit? Atau sesuatu yang lain?
Update setelah jawaban Doug dan komentar sepupic
Menurut pertanyaan Stackoverflow ini , lokasi default juga harus dapat diubah melalui registri. Namun, jika saya mencoba menemukan kunci yang sesuai "DefaultData", "DefaultLog" dan "BackupDirectory", saya tidak dapat menemukannya di registri saya. Apakah SQL Server v14 mengubah nama kunci registri ini, atau memindahkan informasi ini dari registri?