2015-11-06 4 views
3

У нас есть DB-проект Visual Studio, который имеет объекты DB, которые ссылаются на базу данных master/или msdb.Разверните DACPAC с помощью SqlPackage.exe со ссылками на master и msdb

В настоящее время существует два случая:

(1) С, не имеющими ссылок на базы данных системы «хозяин» и «MSDN» в настройках проекта, можно в построить проект, но есть много предупреждений, потому что ссылки на «master» или «msdb» не могут быть разрешены. Внедрение DACPAC не представляет проблемы.

(2) Имея ссылки на системные базы данных «master» и «msdn» в настройках проекта, можно создать проект без предупреждения, но развертывание возможно только тогда, когда также «master.dacpac» и «msdn.dacpac» поставляется с нашими проектами DACPAC.

Таким образом, оба случая работают, но в первом случае у нас есть много предупреждений во время разработки. Во втором случае «master.dacpac» и «msdn.dacpac» должны быть доставлены клиенту, и я не знаю, обновлены ли они во время развертывания.

Итак, есть ли способ решить эти недостатки обоих случаев?

целевая платформа для DB-проекта установлена ​​SQL Server 2012. Мы хотим использовать файл DACPAC для обновления SQL Server 2012 и SQL Server 2014.

+0

Что вы имеете в виду «должны быть доставлены заказчику», вы передающим dacpac на сервер клиента? Как вы развертываете dacpac? Мне интересно, потому что у меня подобная проблема. – Davos

+0

Да, мы передаем dacpac клиенту и развертываем его с помощью SqlPackage.exe – user1027167

+0

Вы храните dacpac в той же структуре каталогов на сервере этого клиента? У меня проблема, когда dacpac хранит жестко закодированные пути к ссылкам. – Davos

ответ

2

Go с вариантом 2, они фактически не развернуть на msdb или master они используются только для проверки кода в вашем dacpac.

ред