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


Справочник по интерфейсу командной строки SqlPackage

SqlPackage — это программа командной строки для переносимости баз данных и развертываний в средах Windows, Linux и macOS. Интерфейс командной строки SqlPackage анализирует каждый вызов для параметров, свойств и переменных SQLCMD.

SqlPackage {parameters} {properties} {SQLCMD variables}
  • Параметры используются для указания выполняемых действий, исходных и целевых баз данных и других общих параметров.
  • Свойства используются для изменения поведения действия по умолчанию.
  • Переменные SQLCMD используются для передачи значений переменным SQLCMD в исходном файле.

Чтобы создать команду SqlPackage, необходимо указать действие и его дополнительные параметры. При необходимости можно добавить свойства и переменные SQLCMD для дальнейшей настройки команды.

В следующем примере SqlPackage используется для создания DACPAC-файла текущей схемы базы данных:

SqlPackage /Action:Extract /TargetFile:"C:\sqlpackageoutput\output_current_version.dacpac" \
 /SourceServerName:"localhost" /SourceDatabaseName:"Contoso" \
 /p:IgnoreUserLoginMappings=True /p:Storage=Memory

В этом примере параметры:

  • /Action:Extract
  • /TargetFile:"C:\sqlpackageoutput\output_current_version.dacpac"
  • /SourceServerName:"localhost"
  • /SourceDatabaseName:"Contoso"

В этом примере свойства:

  • /p:IgnoreUserLoginMappings=True
  • /p:Storage=Memory

Действия SqlPackage

  • Версия. Возвращает номер сборки приложения SqlPackage.

  • Extract: Создает файл приложения уровня данных (DACPAC), содержащий только схему или схему и пользовательские данные из подключенной базы данных SQL.

  • Publish: выполняет добавочное обновление схемы базы данных в соответствии со схемой исходного DACPAC-файла. Если база данных не существует на сервере, операция публикации создает ее. В противном случае обновляется существующая база данных.

  • Export: экспортирует подключенную базу данных SQL, включая схему базы данных и пользовательские данные, в BACPAC-файл.

  • Import: импортирует схему и данные таблиц из BACPAC-файла в новую пользовательскую базу данных.

  • DeployReport: создает XML-отчет, представляющий изменения, которые будут предпринять действия публикации.

  • DriftReport: создает XML-отчет, представляющий изменения, примененные к зарегистрированной базе данных с момента последней регистрации.

  • Script: создает скрипт добавочного обновления на языке Transact-SQL, который обновляет схему целевой базы данных до соответствия схеме базы данных-источника.

Примечание.

Хотя идентификатор Microsoft Entra — это новое имя Azure Active Directory (Azure AD), чтобы предотвратить нарушение существующих сред, Azure AD по-прежнему остается в некоторых жестко закодированных элементах, таких как поля пользовательского интерфейса, поставщики подключений, коды ошибок и командлеты. В этой статье два имени являются взаимозаменяемыми.

Параметры

Некоторые параметры являются общими для действий SqlPackage. Ниже приведена таблица с сводкой параметров, чтобы получить дополнительные сведения, щелкните страницы конкретных действий.

Параметр Краткая форма Extract Опубликовать Экспорт Импорт DeployReport DriftReport Скрипт
/AccessToken: /at x x x x x x x
/ClientId: /cid x
/DeployScriptPath: /dsp x x
/DeployReportPath: /drp x x
/Diagnostics: /d x x x x x x x
/DiagnosticsFile: /df x x x x x x x
/MaxParallelism: /mp x x x x x x x
/OutputPath: /op x x x
/OverwriteFiles: /of x x x x x x
/Profile: /pr x x x
/Properties: /p x x x x x x
/Quiet: /q x x x x x x x
/Secret: /secr x
/SourceConnectionString: /scs x x x x x
/SourceDatabaseName: /sdn x x x x x
/SourceEncryptConnection: /sec x x x x x
/SourceFile: /sf x x x x
/SourcePassword: /sp x x x x x
/SourceServerName: /ssn x x x x x
/SourceTimeout: /st x x x x x
/SourceTrustServerCertificate: /stsc x x x x x
/SourceUser: /su x x x x x
/TargetConnectionString: /tcs x x x x
/TargetDatabaseName: /tdn x x x x x
/TargetEncryptConnection: /tec x x x x x
/TargetFile: /tf x x x x
/TargetPassword: /tp x x x x x
/TargetServerName: /tsn x x x x x
/TargetTimeout: /tt x x x x x
/TargetTrustServerCertificate: /ttsc x x x x x
/TargetUser: /tu x x x x x
/TenantId: /tid x x x x x x x
/UniversalAuthentication: /ua x x x x x x x
/Variables: /v x x

Свойства

Действия SqlPackage поддерживают большое количество свойств, которые позволяют изменить поведение действия по умолчанию. Необязательное использование свойств выполняется путем добавления /p:PropertyName=Value в командную строку. Можно указать несколько свойств, а некоторые свойства можно указать несколько раз (например, /p:TableData=Product /p:TableData=ProductCategory). Дополнительные сведения о свойствах см. на конкретных страницах действий.

Переменные SQLCMD

Переменные SQLCMD можно встроить в dacpac-файл из проекта SQL, а затем задать во время развертывания с помощью sqlPackage Publish или Script. Дополнительные сведения о добавлении переменных SQLCMD в проект SQL см. в документации по проектам SQL.

Вспомогательные команды

Версия

Выводит версию sqlpackage в виде номера сборки. Можно использовать в интерактивных запросах и в автоматизированных конвейерах.

SqlPackage /Version

Справка

Сведения об использовании SqlPackage можно отобразить с помощью /? или /help:True.

SqlPackage /?

Чтобы получить сведения о параметре или свойстве для определенного действия, используйте параметр help с параметром этого действия.

SqlPackage /Action:Publish /?

Коды выхода

Команды SqlPackage возвращают следующие коды выхода:

  • 0 = успешное завершение;
  • nonzero = failure

Следующие шаги