Проект VS 2010 DB не удается развернуть после обновления до Sql Server 2012 Ошибка Deploy01234
У меня есть VS2010 Premium и недавно обновлен от SQL Server 2008R2 до 2012 Developer Edition. Теперь, когда я пытаюсь развернуть существующий проект базы данных (созданный при использовании 2008R), я получаю следующую ошибку.
Ошибка {имя}: поставщик схемы целевой базы данных не может быть определяется
Кроме того, я не вижу вариантов создания нового проекта базы данных на 2012 год из доступных шаблонов проектов в VS, как должно быть доступно для SQL Server Data Tools (которые были успешно установлены в рамках обновления 2012 года).
Ответы
Ответ 1
С помощью сайта MS я смог решить эту проблему.
I (re) установил SSDT из http://msdn.microsoft.com/en-us/data/gg427686 и перезагрузился. Затем был открыт SSDT, чтобы создать новый проект sql. Сначала я не нашел новый шаблон проекта для "Sql Server Database Project" - для меня он отображается в разделе Установленные шаблоны/Другие языки/Сервер Sql. Поскольку я не уверен, посмотрел ли я там до этого теста (не на интуитивном месте), я не могу сказать, действительно ли переустановка сделала трюк. Но это заставило меня идти.
Ответ 2
У меня была аналогичная ошибка выше, при развертывании обновлений баз данных с помощью vsdbcmd.
Поставщик целевой базы данных не может быть определен. Развертывание не может продолжаться. {PATH и NAME}.dbschema
Ссылка на внешние элементы из источника с именем {yourschema}.dbschema могут не разрешается, поскольку такой источник не загружен.
Пример моей команды:
/cs:"Data Source=DbServer; Integrated Security=True; Initial Catalog=Database"
Устранение неполадок:
- Убедитесь, что вы скопировали все необходимые файлы для развертывания
program = > \Microsoft Visual Studio 10.0\VSTSDB\Deploy
- Убедитесь, что вы можете подключиться к серверу БД с помощью sqlcmd точно так же, как вы используете vsdbcmd = > Integrated Security vs Username/Password
- Если вы указываете Начальный каталог, удалите из соединения
string и используйте a/p: YourDatabase
Пара SQL-команд для проверки возможности подключения:
sqlcmd.exe -S tcp:<server>,<port> -Q "select getdate()"
sqlcmd.exe -S tcp:<server>\<instance> -Q "select getdate()"
Литература:
ссылка командной строки vsdbcmd (MSDN)
ссылка командной строки sqlcmd (MSDN)
http://sadomovalex.blogspot.co.uk/2011/10/vsdbcmd-fix-possible-reason-for-target.html (2011)