Поделиться через


SqlAzureDacpacDeployment@1 — задача развертывания базы данных SQL Azure версии 1

Используйте эту задачу для развертывания базы данных SQL Azure с помощью DACPAC или выполнения скриптов с помощью SQLCMD.

Синтаксис

# Azure SQL Database deployment v1
# Deploy an Azure SQL Database using DACPAC or run scripts using SQLCMD.
- task: SqlAzureDacpacDeployment@1
  inputs:
    #azureConnectionType: 'ConnectedServiceNameARM' # 'ConnectedServiceName' | 'ConnectedServiceNameARM'. Alias: ConnectedServiceNameSelector. Azure Service Connection Type. Default: ConnectedServiceNameARM.
    #azureClassicSubscription: # string. Alias: ConnectedServiceName. Required when ConnectedServiceNameSelector = ConnectedServiceName. Azure Classic Subscription. 
    azureSubscription: # string. Alias: ConnectedServiceNameARM. Required when ConnectedServiceNameSelector = ConnectedServiceNameARM. Azure Subscription. 
  # SQL Database
    AuthenticationType: 'server' # 'server' | 'aadAuthenticationPassword' | 'aadAuthenticationIntegrated' | 'connectionString' | 'servicePrincipal'. Required. Authentication Type. Default: server.
    #ServerName: # string. Required when AuthenticationType = server || AuthenticationType = aadAuthenticationPassword || AuthenticationType = aadAuthenticationIntegrated || AuthenticationType = servicePrincipal. Azure SQL Server. 
    #DatabaseName: # string. Required when AuthenticationType = server || AuthenticationType = aadAuthenticationPassword || AuthenticationType = aadAuthenticationIntegrated || AuthenticationType = servicePrincipal. Database. 
    SqlUsername: # string. Required when AuthenticationType = server. Login. 
    SqlPassword: # string. Required when AuthenticationType = server. Password. 
    #aadSqlUsername: # string. Required when AuthenticationType = aadAuthenticationPassword. Login. 
    #aadSqlPassword: # string. Required when AuthenticationType = aadAuthenticationPassword. Password. 
    #ConnectionString: # string. Required when AuthenticationType = connectionString. Connection String. 
  # Deployment Package
    deployType: 'DacpacTask' # 'DacpacTask' | 'SqlTask' | 'InlineSqlTask'. Alias: TaskNameSelector. Required. Deploy type. Default: DacpacTask.
    DeploymentAction: 'Publish' # 'Publish' | 'Extract' | 'Export' | 'Import' | 'Script' | 'DriftReport' | 'DeployReport'. Required when TaskNameSelector = DacpacTask. Action. Default: Publish.
    #DacpacFile: # string. Required when DeploymentAction = Publish || DeploymentAction = Script || DeploymentAction = DeployReport. DACPAC File. 
    #BacpacFile: # string. Required when DeploymentAction = Import. BACPAC File. 
    #SqlFile: # string. Required when TaskNameSelector = SqlTask. SQL Script. 
    #SqlInline: # string. Required when TaskNameSelector = InlineSqlTask. Inline SQL Script. 
    #PublishProfile: # string. Optional. Use when TaskNameSelector = DacpacTask || DeploymentAction = Script || DeploymentAction = DeployReport. Publish Profile. 
    #AdditionalArguments: # string. Optional. Use when TaskNameSelector = DacpacTask || DeploymentAction = Extract || DeploymentAction = Export || DeploymentAction = Import || DeploymentAction = Script || DeploymentAction = DeployReport || DeploymentAction = DriftReport. Additional SqlPackage.exe Arguments. 
    #SqlAdditionalArguments: # string. Optional. Use when TaskNameSelector = SqlTask. Additional Invoke-Sqlcmd Arguments. 
    #InlineAdditionalArguments: # string. Optional. Use when TaskNameSelector = InlineSqlTask. Additional Invoke-Sqlcmd Arguments. 
  # Firewall
    IpDetectionMethod: 'AutoDetect' # 'AutoDetect' | 'IPAddressRange'. Required. Specify Firewall Rules Using. Default: AutoDetect.
    #StartIpAddress: # string. Required when IpDetectionMethod = IPAddressRange. Start IP Address. 
    #EndIpAddress: # string. Required when IpDetectionMethod = IPAddressRange. End IP Address. 
    #DeleteFirewallRule: true # boolean. Delete Rule After Task Ends. Default: true.
# Azure SQL Database deployment v1
# Deploy an Azure SQL Database using DACPAC or run scripts using SQLCMD.
- task: SqlAzureDacpacDeployment@1
  inputs:
    #azureConnectionType: 'ConnectedServiceNameARM' # 'ConnectedServiceName' | 'ConnectedServiceNameARM'. Alias: ConnectedServiceNameSelector. Azure Service Connection Type. Default: ConnectedServiceNameARM.
    #azureClassicSubscription: # string. Alias: ConnectedServiceName. Required when ConnectedServiceNameSelector = ConnectedServiceName. Azure Classic Subscription. 
    azureSubscription: # string. Alias: ConnectedServiceNameARM. Required when ConnectedServiceNameSelector = ConnectedServiceNameARM. Azure Subscription. 
  # SQL Database
    AuthenticationType: 'server' # 'server' | 'aadAuthenticationPassword' | 'aadAuthenticationIntegrated' | 'connectionString'. Required. Authentication Type. Default: server.
    #ServerName: # string. Required when AuthenticationType = server || AuthenticationType = aadAuthenticationPassword || AuthenticationType = aadAuthenticationIntegrated. Azure SQL Server. 
    #DatabaseName: # string. Required when AuthenticationType = server || AuthenticationType = aadAuthenticationPassword || AuthenticationType = aadAuthenticationIntegrated. Database. 
    SqlUsername: # string. Required when AuthenticationType = server. Login. 
    SqlPassword: # string. Required when AuthenticationType = server. Password. 
    #aadSqlUsername: # string. Required when AuthenticationType = aadAuthenticationPassword. Login. 
    #aadSqlPassword: # string. Required when AuthenticationType = aadAuthenticationPassword. Password. 
    #ConnectionString: # string. Required when AuthenticationType = connectionString. Connection String. 
  # Deployment Package
    deployType: 'DacpacTask' # 'DacpacTask' | 'SqlTask' | 'InlineSqlTask'. Alias: TaskNameSelector. Required. Deploy type. Default: DacpacTask.
    DeploymentAction: 'Publish' # 'Publish' | 'Extract' | 'Export' | 'Import' | 'Script' | 'DriftReport' | 'DeployReport'. Required when TaskNameSelector = DacpacTask. Action. Default: Publish.
    #DacpacFile: # string. Required when DeploymentAction = Publish || DeploymentAction = Script || DeploymentAction = DeployReport. DACPAC File. 
    #BacpacFile: # string. Required when DeploymentAction = Import. BACPAC File. 
    #SqlFile: # string. Required when TaskNameSelector = SqlTask. SQL Script. 
    #SqlInline: # string. Required when TaskNameSelector = InlineSqlTask. Inline SQL Script. 
    #PublishProfile: # string. Optional. Use when TaskNameSelector = DacpacTask || DeploymentAction = Script || DeploymentAction = DeployReport. Publish Profile. 
    #AdditionalArguments: # string. Optional. Use when TaskNameSelector = DacpacTask || DeploymentAction = Extract || DeploymentAction = Export || DeploymentAction = Import || DeploymentAction = Script || DeploymentAction = DeployReport || DeploymentAction = DriftReport. Additional SqlPackage.exe Arguments. 
    #SqlAdditionalArguments: # string. Optional. Use when TaskNameSelector = SqlTask. Additional Invoke-Sqlcmd Arguments. 
    #InlineAdditionalArguments: # string. Optional. Use when TaskNameSelector = InlineSqlTask. Additional Invoke-Sqlcmd Arguments. 
  # Firewall
    IpDetectionMethod: 'AutoDetect' # 'AutoDetect' | 'IPAddressRange'. Required. Specify Firewall Rules Using. Default: AutoDetect.
    #StartIpAddress: # string. Required when IpDetectionMethod = IPAddressRange. Start IP Address. 
    #EndIpAddress: # string. Required when IpDetectionMethod = IPAddressRange. End IP Address. 
    #DeleteFirewallRule: true # boolean. Delete Rule After Task Ends. Default: true.

Входные данные

azureConnectionType - тип подключения службы Azure
Псевдоним ввода: ConnectedServiceNameSelector. string. Допустимые значения: ConnectedServiceName (классическая модель Azure), ConnectedServiceNameARM (Azure Resource Manager). Значение по умолчанию: ConnectedServiceNameARM.


azureClassicSubscription - классической подписке Azure
Псевдоним ввода: ConnectedServiceName. string. Требуется, если ConnectedServiceNameSelector = ConnectedServiceName.

Указывает целевую классическую подписку Azure для развертывания ФАЙЛОВ SQL.


azureSubscription - подписке Azure
Псевдоним ввода: ConnectedServiceNameARM. string. Требуется, если ConnectedServiceNameSelector = ConnectedServiceNameARM.

Указывает целевую подписку Azure Resource Manager для развертывания ФАЙЛОВ SQL.


AuthenticationType - Тип проверки подлинности
string. Обязательное. Допустимые значения: server (проверка подлинности SQL Server), aadAuthenticationPassword (Active Directory — пароль), aadAuthenticationIntegrated (Active Directory — встроенная), connectionString (строка подключения), servicePrincipal (субъект-служба). Значение по умолчанию: server.

Указывает тип проверки подлинности базы данных. Это может быть SQL Server, Active Directory (интегрированная), Active Directory (пароль), строка подключения или проверка подлинности субъекта-службы. Встроенная проверка подлинности указывает на то, что агент будет обращаться к базе данных с помощью текущего контекста учетной записи Active Directory.

Укажите параметр подключения к базе данных SQL Server Azure. Вы можете указать сведения о базе данных SQL Server Azure, строку подключения SQL Server, проверку подлинности AD (пароль или интегрированную) или использовать субъект-службу. Для проверки подлинности SQL Server используйте учетные данные пользователя SQL Server. Для проверки подлинности AD используйте учетные данные для пользователя AD, настроенного для SQL Server.


AuthenticationType - Тип проверки подлинности
string. Обязательное. Допустимые значения: server (проверка подлинности SQL Server), aadAuthenticationPassword (Active Directory — пароль), aadAuthenticationIntegrated (Active Directory — встроенная), connectionString (строка подключения). Значение по умолчанию: server.

Указывает тип проверки подлинности базы данных. Это может быть SQL Server, Active Directory (интегрированная), Active Directory (пароль), строка подключения или проверка подлинности субъекта-службы. Встроенная проверка подлинности указывает на то, что агент будет обращаться к базе данных с помощью текущего контекста учетной записи Active Directory.

Укажите параметр подключения к базе данных SQL Server Azure. Вы можете указать сведения о базе данных SQL Server Azure, строку подключения SQL Server, проверку подлинности AD (пароль или интегрированную) или использовать субъект-службу. Для проверки подлинности SQL Server используйте учетные данные пользователя SQL Server. Для проверки подлинности AD используйте учетные данные для пользователя AD, настроенного для SQL Server.


ServerName - Azure SQL Server
string. Требуется, если AuthenticationType = server || AuthenticationType = aadAuthenticationPassword || AuthenticationType = aadAuthenticationIntegrated || AuthenticationType = servicePrincipal.

Указывает имя SQL Server Azure, например Fabrikam.database.windows.net.placeholder,1433 или Fabrikam.database.windows.net.placeholder.


ServerName - Azure SQL Server
string. Требуется, если AuthenticationType = server || AuthenticationType = aadAuthenticationPassword || AuthenticationType = aadAuthenticationIntegrated.

Указывает имя SQL Server Azure, например Fabrikam.database.windows.net.placeholder,1433 или Fabrikam.database.windows.net.placeholder.


DatabaseName - база данных
string. Требуется, если AuthenticationType = server || AuthenticationType = aadAuthenticationPassword || AuthenticationType = aadAuthenticationIntegrated || AuthenticationType = servicePrincipal.

Указывает имя базы данных SQL Azure, в которой развертываются файлы.


DatabaseName - база данных
string. Требуется, если AuthenticationType = server || AuthenticationType = aadAuthenticationPassword || AuthenticationType = aadAuthenticationIntegrated.

Указывает имя базы данных SQL Azure, в которой развертываются файлы.


SqlUsername - входа
string. Требуется, если AuthenticationType = server.

Указывает имя входа администратора SQL Server Azure.


SqlPassword - пароль
string. Требуется, если AuthenticationType = server.

Указывает пароль администратора SQL Server Azure. Переменные, определенные в конвейерах сборки или выпуска, как $(passwordVariable) принимаются. Для защиты переменной можно пометить тип переменной как secret.


aadSqlUsername - входа
string. Требуется, если AuthenticationType = aadAuthenticationPassword.

Указывает имя пользователя Active Directory.


aadSqlPassword - пароль
string. Требуется, если AuthenticationType = aadAuthenticationPassword.

Указывает пароль для пользователя Active Directory. Переменные, определенные в конвейерах сборки или выпуска, как $(passwordVariable) принимаются. Для защиты переменной можно пометить тип переменной как secret.


строки подключения ConnectionString -
string. Требуется, если AuthenticationType = connectionString.

Указывает строку подключения к SQL Server Azure, например Server=testServer.database.windows.net.placeholder;Database=testdb;User ID=AccountPlaceholder;Password=$(securePassword);.


deployType - тип развертывания
Псевдоним ввода: TaskNameSelector. string. Обязательное. Допустимые значения: DacpacTask (ФАЙЛ DACPAC SQL), SqlTask (файл скрипта SQL), InlineSqlTask (встроенный скрипт SQL). Значение по умолчанию: DacpacTask.


DeploymentAction - действие
string. Требуется, если TaskNameSelector = DacpacTask. Допустимые значения: Publish, Extract, Export, Import, Script, DriftReport (отчет о смещениях), DeployReport (развертывание отчета). Значение по умолчанию: Publish.

Указывает одно из действий SQL из списка. Дополнительные сведения о списке действий SQL .


DacpacFile - DACPAC-файл
string. Требуется, если DeploymentAction = Publish || DeploymentAction = Script || DeploymentAction = DeployReport.

Указывает расположение DACPAC-файла в агенте автоматизации или пути UNC, доступного агенту автоматизации, например \\BudgetIT\Web\Deploy\FabrikamDB.dacpac. Также можно использовать предопределенные системные переменные, такие как $(agent.releaseDirectory).


BacpacFile - BACPAC-файл
string. Требуется, если DeploymentAction = Import.

Указывает расположение BACPAC-файла агента автоматизации или UNC-пути, доступного агенту автоматизации, например \\BudgetIT\Web\Deploy\FabrikamDB.bacpac. Также можно использовать предопределенные системные переменные, такие как $(agent.releaseDirectory).


скрипта SQL SqlFile -
string. Требуется, если TaskNameSelector = SqlTask.

Указывает расположение файла скрипта SQL в агенте автоматизации или по UNC-пути, доступного агенту автоматизации, например \\BudgetIT\Web\Deploy\FabrikamDB.sql. Также можно использовать предопределенные системные переменные, такие как $(agent.releaseDirectory).


SqlInline - встроенный скрипт SQL
string. Требуется, если TaskNameSelector = InlineSqlTask.

Указывает скрипт SQL для выполнения в ранее выбранной базе данных.


PublishProfile - профиля публикации
string. Необязательно. Используется при TaskNameSelector = DacpacTask || DeploymentAction = Script || DeploymentAction = DeployReport.

Обеспечивает подробный контроль над созданием или обновлением базы данных SQL Azure.
Указывает путь к XML-файлу профиля публикации на компьютере агента автоматизации или в UNC-ресурсе. Если профиль публикации содержит секреты, такие как учетные данные, отправьте его в защищенные файлы библиотеку, где она безопасно хранится с шифрованием. Затем используйте задачу Скачать безопасный файл в начале конвейера, чтобы скачать его на компьютер агента при запуске конвейера. Удалите его после завершения конвейера. Также можно использовать предопределенные системные переменные, такие как $(agent.buildDirectory) или $(agent.releaseDirectory).


AdditionalArguments - дополнительные аргументы SqlPackage.exe
string. Необязательно. Используется при TaskNameSelector = DacpacTask || DeploymentAction = Extract || DeploymentAction = Export || DeploymentAction = Import || DeploymentAction = Script || DeploymentAction = DeployReport || DeploymentAction = DriftReport.

Указывает дополнительные SqlPackage.exe аргументы, которые будут применяться при развертывании базы данных SQL Azure, если выбран параметр DACPAC, например /p:IgnoreAnsiNulls=True /p:IgnoreComments=True. Эти аргументы переопределяют параметры в XML-файле профиля публикации (если это указано).


SqlAdditionalArguments - дополнительные аргументы Invoke-Sqlcmd
string. Необязательно. Используется при TaskNameSelector = SqlTask.

Указывает дополнительные Invoke-Sqlcmd аргументы, которые применяются при выполнении заданного SQL-запроса в базе данных SQL Azure, например -ConnectionTimeout 100 -OutputSqlErrors.


InlineAdditionalArguments - дополнительные аргументы Invoke-Sqlcmd
string. Необязательно. Используется при TaskNameSelector = InlineSqlTask.

Указывает дополнительные Invoke-Sqlcmd аргументы, которые применяются при выполнении заданного SQL-запроса в базе данных SQL Azure, например -ConnectionTimeout 100 -OutputSqlErrors.


IpDetectionMethod - укажите правила брандмауэра с помощью
string. Обязательное. Допустимые значения: AutoDetect, IPAddressRange. Значение по умолчанию: AutoDetect.

Для выполнения задачи IP-адрес агента автоматизации необходимо добавить в разрешенные IP-адреса в брандмауэре SQL Server Azure. Выберите автоматическое обнаружение, чтобы автоматически добавить исключение брандмауэра для диапазона возможного IP-адреса агента автоматизации или явно указать диапазон.


StartIpAddress - начальный IP-адрес
string. Требуется, если IpDetectionMethod = IPAddressRange.

Указывает начальный IP-адрес пула машин агента автоматизации, например 196.21.30.50.


EndIpAddress - конечный IP-адрес
string. Требуется, если IpDetectionMethod = IPAddressRange.

Указывает конечный IP-адрес пула компьютеров агента автоматизации, например 196.21.30.65.


DeleteFirewallRule - удалить правило после завершения задачи
boolean. Значение по умолчанию: true.

Если выбрано, после завершения задачи IP-адреса, указанные здесь, удаляются из списка разрешенных IP-адресов в брандмауэре SQL Server Azure.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.

Выходные переменные

Эта задача определяет следующие выходные переменные, которые можно использовать в подчиненных шагах, заданиях и этапах.

SqlDeploymentOutputFile
Путь к созданному выходному файлу, если действие пакета развертывания Extract, Export, Script, DriftReportили DeployReport.

Замечания

Используйте эту задачу для развертывания базы данных SQL Azure с помощью DACPAC или выполнения скриптов с помощью SQLCMD.

Это важно

Эта задача поддерживается только в среде Windows. Если вы пытаетесь использовать встроенную проверку подлинности Azure Active Directory (Azure AD), необходимо создать частный агент. Встроенная проверка подлинности Azure AD не поддерживается для размещенных агентов.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент
требования Локальные агенты должны иметь возможности, соответствующие следующим требованиям выполнения заданий, использующих эту задачу: sqlpackage
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента 1.103.0 или более поздней версии
Категория задач Внедрять