Справочник по интерфейсу командной строки 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
Следующие шаги
- Дополнительные сведения об извлечении SqlPackage
- Дополнительные сведения о публикации SqlPackage
- Дополнительные сведения об экспорте SqlPackage
- Дополнительные сведения об импорте SqlPackage
- Дополнительные сведения об устранении неполадок с SqlPackage
- Предоставление общего доступа к SqlPackage в репозитории DacFx GitHub