Не удается развернуть базу данных из TFS
Возникла очень сложная проблема с развертыванием решения для составной базы данных из TFS для моей локальной установки sql.
Интересно, кто-нибудь может дать совет? Спасибо
Составные базы данных проектов в Team Foundation Server. MarketRisk и MarketRisk_Structure. Оба имеют ссылки на другую базу данных под названием DataMirror.
MarketRisk_Structure содержит представление vwLiveTrades, которое в сценарии выглядит так:
SELECT * FROM [$(LSRV_ENQ)].[$(DataMirror)].dbo.AS400_Positions
В проекте MarketRisk_Structure имеется ссылка на DataMirror в ссылках, а также переменная в SQLCMDVARS для DataMirror и LSRV_ENQ (связанный сервер).
В проекте MarketRisk есть ссылка на Datamirror в ссылках, а также переменная в SQLCMDVARS для DataMirror и LSRV_ENQ (связанный сервер).
Я думаю, что мне нужны и ссылка DataMirror, и ссылка LSRV_ENQ в обоих проектах, потому что sprocs в MarketRisk обращаются к связанному серверу, а представления в MarketRisk_Structure обращаются к связанному серверу.
Я не знаю, будет ли эта циклическая ссылка причиной следующей проблемы:
MarketRisk.dbschema(0,0)Error TSD00563: This deployment may encounter errors during execution because [dbo].[spRetrieveSingleIntraDayTradeFromLive] depends on [dbo].[vwLiveTrades].[OptionPremiumDueDate] and [dbo].[vwLiveTrades].[OptionPremiumDueDate] does not exist in the target database.
Я получаю много таких ошибок, все из-за того, что spRetrieveSingleIntraDayTradeFromLive в MarketRisk пытается ссылаться на столбцы в представлении MarketRisk_Structure.
MarketRisk.dbschema(0,0)Error TSD01234: Plan verification encountered errors; deployment cannot continue.
2 ответа
У меня была та же проблема, но поскольку это была устаревшая база данных с тысячами "предупреждений", я не смог реально избавиться от всех предупреждений. Ошибка TSD01234 вызвана проверкой параметра "Проверка развертывания" в файле.sqlDeployment вашего проекта (он является последним в разделе "Дополнительные параметры"). После того, как я отключил опцию Verify Deployment, я смог создать сценарий развертывания.
Для всех, кто столкнулся с этой проблемой:
Я решил, явно назвав все столбцы в представлении. Развертыванию не понравился шаблон.
Кроме того, необходимо было задать имя целевой базы данных в свойствах развертывания для MarketRisk_Structure равным "MarketRisk".
С уважением Грэм