Задача «Развертывание пакета базы данных ReadyRoll» выдает ошибку, поскольку «sqlcmd.exe» не распознается как внутренняя или внешняя команда».

Я добавил задачу Развертывание пакета базы данных ReadyRoll в определение выпуска VSTS для развертывания проекта базы данных ReadyRoll SQL Server с использованием подхода миграции.

Я перешел по этой ссылке для создания базы данных ReadRoll SQL Server. Проект в VS2017.

Я настроил определение сборки с помощью размещенного агента VS2017 в VSTS, как показано на рисунке ниже.

введите здесь описание изображения

А также настроил настроенное определение выпуска с помощью размещенного агента VS2017 в VSTS, как показано на рисунке ниже.

введите здесь описание изображения

После этого я создал выпуск в Hosted VS2017, после чего столкнулся с проблемой, как показано на рисунке ниже введите здесь описание изображения

Но здесь я использовал Azure SQL Server и базу данных с проверкой подлинности SQL Server.

Подскажите, пожалуйста, как решить эту проблему как можно скорее?


person Pradeep    schedule 07.09.2017    source источник
comment
Можете ли вы поделиться подробным журналом на OneDrive? (Установите для Sysem.debug значение true)   -  person starian chen-MSFT    schedule 08.09.2017
comment
Это ссылка на журналы 1drv.ms/u/s!At-JUB9_wu9CvXScnKqU7qyXkZy2   -  person Pradeep    schedule 08.09.2017


Ответы (1)


Добавление задачи PowerShell перед развертыванием пакета базы данных ReayRoll:

Тип: встроенный скрипт

Встроенный скрипт:

$sqlcmd = "C:\Program Files\Microsoft SQL Server\110\Tools\Binn";
Write-Host "##vso[task.setvariable variable=PATH;]${env:PATH};${sqlcmd}";
person starian chen-MSFT    schedule 11.09.2017
comment
Даже я добавил сценарий Powershell перед развертыванием пакета базы данных Ready Roll, но все равно получаю ту же проблему. - person Pradeep; 11.09.2017
comment
@pradeep Добавьте переменную System.Debug и установите для нее значение true, затем запустите выпуск и поделитесь журналами в OneDrive. - person starian chen-MSFT; 11.09.2017
comment
Это ссылки на журналы 1drv.ms/u/s!At-JUB9_wu9CvgIZKIUc4g8dw4Zc - person Pradeep; 11.09.2017
comment
@pradeep На основании ошибки существует сценарий предварительного развертывания для создания базы данных KZWU-RES-DB-02, но он уже существует, поэтому он не работает, используя вместо этого другую базу данных или удаляя существующую базу данных. - person starian chen-MSFT; 11.09.2017
comment
@pradeep Какое подробное сообщение об ошибке в журнале? Вы можете поделиться им снова. - person starian chen-MSFT; 12.09.2017
comment
в настоящее время я использовал детали подключения к локальной базе данных SQL для успешного применения миграции локальной базы данных. Но всякий раз, когда я использовал сведения о подключении к базе данных Azure SQL для применения миграции локальной базы данных, он выдает ошибку, например, sqlcmd.exe завершился с ненулевым кодом выхода. - person Pradeep; 12.09.2017
comment
@pradeep попробуйте удалить Pre-Deployment\01_Create_Database.sql из проекта (этот сценарий должен содержать условия, предотвращающие попытки создать БД, которая уже существует, но, похоже, не работает). Также убедитесь, что вы используете ReadyRoll 1.14.8 или более позднюю версию. - person Dan Nolan; 13.09.2017
comment
@pradeep Поделитесь файлами журналов в OneDrive. - person starian chen-MSFT; 13.09.2017
comment
Это ссылки на журналы 1drv.ms/u/s!At-JUB9_wu9CvhPoCMyGJuOvyNCt - person Pradeep; 13.09.2017
comment
@pradeep Судя по журналу, ошибка по-прежнему заключается в том, что база данных «KZWU-RES-DB-03» уже существует, удалите Pre-Deployment\01_Create_Database.sql и повторите попытку. - person starian chen-MSFT; 13.09.2017
comment
Я уже пытался удалить файл 01_Create_Database.sql, но все же у меня возникли те же проблемы. это ссылка на логи 1drv.ms/u/s!At-JUB9_wu9CvW6dtNl_Gjqzl0pQ - person Pradeep; 13.09.2017
comment
@pradeep Ошибка в том, что оператор USE не поддерживается для переключения между базами данных, не могли бы вы поделиться простым проектом в OneDrive? - person starian chen-MSFT; 13.09.2017
comment
Это мой простой проект 1drv.ms/f/s!At-JUB9_wu9CvhbBKUh4cmG2jh6m - person Pradeep; 13.09.2017
comment
@pradeep Щелкните правой кнопкой мыши проект в VS => Свойства => Настройки проекта => Выберите базу данных SQL Microsoft Azure V12 на целевой платформе, затем зарегистрируйте изменения и соберите, выпустите. - person starian chen-MSFT; 13.09.2017
comment
Спасибо @starrain, вы сэкономили мое время. теперь он работает без каких-либо проблем - person Pradeep; 13.09.2017