Нещодавно я оновив LocalDB з версії 13 до 14, використовуючи інсталятор SQL Server Express і цю інструкцію . Після встановлення я зупинив існуючий екземпляр за замовчуванням (MSSQLLOCALDB) версії 13 та створив новий, який автоматично використовував серверну систему v14.0.1000.
Я часто використовую LocalDB для тестів інтеграції баз даних, тобто в своїх тестах xunit я створюю (тимчасову) базу даних, яка видаляється, коли тест закінчується. Оскільки в новій версії, на жаль, всі мої тести виходять з ладу через таке повідомлення про помилку:
CREATE FILE зіткнулася з помилкою 5 операційної системи (доступ заборонено.) Під час спроби відкрити або створити фізичний файл 'C: \ Users \ kepflDBd0811493e18b46febf980ffb8029482a.mdf'
Дивна річ у тому, що цільовий шлях для файлу mdf невірний, зворотний косий рядок відсутній між C: \ Users \ kepfl та DBd0811493e18b46febf980ffb8029482a.mdf (що є випадковою базою даних для одного тесту). Бази даних створюються за допомогою простої команди CREATE DATABASE [databaseName]
- нічого особливого тут немає.
У SSMS я бачу, що цільовими місцями для даних, журналу та резервного копіювання є такі:
Однак, намагаючись оновити місцеположення, я отримую ще одне повідомлення про помилку:
Як я можу оновити місця за замовчуванням, щоб LocalDB змогла знову створити бази даних? Очевидно, що LocalDB неправильно поєднує каталог розташування за замовчуванням та ім'я файлу бази даних - чи є в реєстрі запис, який я можу редагувати? Або що-небудь ще?
Оновлення після відповіді Дуга та коментаря sepupic
Відповідно до цього питання Stackoverflow , розташування за замовчуванням також повинно бути змінено через реєстр. Однак якщо я спробую знайти відповідні клавіші "DefaultData", "DefaultLog" та "BackupDirectory", я не можу їх знайти у своєму реєстрі. Чи перейменував SQL Server v14 ці ключі реєстру чи перемістив цю інформацію з реєстру?