Недавно я обновил 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 неправильно совмещает каталог расположения по умолчанию и имя файла базы данных - есть ли запись реестра, которую я могу редактировать? Или что-нибудь еще?
Обновление после ответа Дуга и комментария Сепупика
В соответствии с этим вопросом Stackoverflow местоположение по умолчанию также должно изменяться через реестр. Однако, если я пытаюсь найти соответствующие ключи «DefaultData», «DefaultLog» и «BackupDirectory», я не могу найти их в своем реестре. SQL Server v14 переименовал эти разделы реестра или переместил эту информацию из реестра?