1

Я пытаюсь настроить управление выпуском VSTS для своей базы данных Azure SQL. Я использую задачу «Развернуть Azure SQL DACPAC». Путь к файлу dacpac установлен какVSTS: Развертывание управления выпуском Azure SQL DACPAC с ошибкой

$(System.DefaultWorkingDirectory)\**\*.dacpac 

Хотя обновления базы данных правильно я получаю сообщение об ошибке, в конце концов, что вызывает задание на провал.

"System.Management.Automation.ParentContainsErrorRecordException: *** Could not deploy package" 

Похоже, что все обновления применяются к базе данных, но задача по-прежнему вызывает ошибку. Войти под

2016-07-07T07:50:44.6118522Z Publishing to database 'mydb' on server 'myserver.database.windows.net'. 
2016-07-07T07:50:45.7587428Z Initializing deployment (Start) 
2016-07-07T07:50:52.5825349Z Initializing deployment (Complete) 
2016-07-07T07:50:52.5835341Z Analyzing deployment plan (Start) 
2016-07-07T07:50:52.7085342Z Analyzing deployment plan (Complete) 
2016-07-07T07:50:52.7085342Z Updating database (Start) 
2016-07-07T07:50:53.7000358Z Altering [dbo].[usp_Products_List]... 
2016-07-07T07:50:53.7170379Z Creating [dbo].[usp_Products_GetById]... 
2016-07-07T07:50:53.8745919Z An error occurred while the batch was being executed. 
2016-07-07T07:50:53.8855912Z Updating database (Failed) 
2016-07-07T07:50:53.9105905Z ##[debug]System.Management.Automation.RemoteException: *** Could not deploy package. 
2016-07-07T07:50:53.9225921Z ##[debug][Azure RDFE Call] Deleting firewall rule 260745ad-327c-45ae-bcb8-5c6bb0e43797 on azure database server: myserver 
2016-07-07T07:50:55.9753040Z ##[debug][Azure RDFE Call] Firewall rule 260745ad-327c-45ae-bcb8-5c6bb0e43797 deleted on azure database server: myserver 
2016-07-07T07:50:55.9934761Z ##[error]System.Management.Automation.ParentContainsErrorRecordException: *** Could not deploy package. 

код хранимых процедур

CREATE PROCEDURE [dbo].[usp_Products_GetById] 
    @pId int 
AS 
    SET NOCOUNT ON; 

SELECT [id] 
     ,[description] 
     ,[created_dt] 
     ,[last_mod_dt] 
     ,[active] 
    FROM [dbo].[Products] 
    WHERE [id] = @pId 
GO 

ответ

0

В моем конкретном случае эта ошибка произошла, потому что в моем проекте базы данных в одном из сценариев инициализации таблицы я пытался установить спецификацию идентификатора для нечислового столбца.

Итак, убедитесь, что все ваши скрипты работают без ошибок (с использованием SQL Management Studio или Visual Studio), если другие решения не работают.

Жаль, что ошибка в VSTS не фиксирует ошибку SQL ...

+0

Изменено это на принятый ответ. Как я уже сказал в своем ответе, я сначала использовал FQDN. Но ошибка скрипта была, вероятно, тем, что начало ошибки в первом случае. – BeesNees

1

Это обычно вызвано «целевой платформы» вашего SQL проекта не совпадает с версией SQL Server вашего развертывании. Проверьте, соответствует ли «целевая платформа» вашего проекта SQL версия базы данных Azure SQL: enter image description here

+0

версии правильно установлен как в проекте SQL Azure и SQL. – BeesNees

+0

@BipinDas Можете ли вы добавить переменную с именем «system.debug» в определение выпуска и установить значение «true», а затем запустить выпуск и поделиться журналами? –

+0

Добавлен журнал ошибок на вопрос. – BeesNees

0

Я попытался вручную установить правило брандмауэра и использовать только имя сервера, а не полное доменное имя. Затем я снова попробовал FQDN, и это сработало. Поэтому не уверен, почему он терпел неудачу.

Смежные вопросы