DefaultDataPath пуст в скрипте развертывания базы данных SQL2008 VS2010 - PullRequest
2 голосов
/ 17 ноября 2011

У меня есть проект базы данных VS2010, указывающий на базу данных SQL2005.Когда я его внедряю, он корректно выбирает DefaultDataPath из экземпляра SQL, и все работает.

Сегодня я изменил тип проекта с SQL205 на SQL2008 и изменил свойства развертывания, чтобы они указывали на мой сервер SQL2008.Однако теперь, когда я пытаюсь выполнить развертывание, я получаю эту ошибку:

Error SQL01268: .Net SqlClient Data Provider: Msg 5105, Level 16, State 2, Line 1 A file activation error occurred. The physical file name '\AutoDeployedTRS.mdf' may be incorrect. Diagnose and correct additional errors, and retry the operation.

Error SQL01268: .Net SqlClient Data Provider: Msg 1802, Level 16, State 1, Line 1 CREATE DATABASE failed. Some file names listed could not be created. Check related errors.

An error occurred while the batch was being executed.

Причина этой ошибки состоит в том, что сценарий SQL, созданный VS, содержит следующие три строки:

:setvar DatabaseName "AutoDeployedTRS"
:setvar DefaultDataPath "\"
:setvar DefaultLogPath "\"

Если я проверяю свойства экземпляра SQL (через пользовательский интерфейс или читая реестр), они устанавливаются правильно, поэтому создается впечатление, что VS2010 не может подобрать их по какой-то причине.

Есть идеи?

1 Ответ

2 голосов
/ 18 ноября 2011

Попробуйте перейти к расположению Объекты схемы \ Объекты уровня базы данных \ Хранилище \ Файлы.
Можно найти два файла:
Откройте файл [your_database_name] .sql и введите параметр FILENAME = '$(DefaultDataPath)$(DatabaseName).mdf'.
Тогдаоткройте файл [your_database_name] _log.sql и введите параметр FILENAME = '$(DefaultDataPath)$(DatabaseName)_log.ldf'.
После этого попробуйте развернуть ваш проект.Эти параметры теперь определяются во время развертывания в соответствии с текущим целевым путем к базе данных.Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...