Partilhar via


Referência da CLI do SqlPackage

SqlPackage é um utilitário de linha de comando para portabilidade de banco de dados e implantações em ambientes Windows, Linux e macOS. A CLI (interface de linha de comando) SqlPackage analisa cada chamada em busca de parâmetros, propriedades e variáveis SQLCMD.

SqlPackage {parameters} {properties} {SQLCMD variables}
  • Os parâmetros são usados para especificar a ação a ser executada, os bancos de dados de origem e de destino e outras configurações gerais.
  • As propriedades são usadas para modificar o comportamento padrão de uma ação.
  • As variáveis SQLCMD são usadas para passar valores para as variáveis SQLCMD no arquivo de origem.

Para criar um comando SqlPackage, você deve especificar uma ação e seus parâmetros adicionais. Opcionalmente, você pode adicionar propriedades e variáveis SQLCMD para personalizar ainda mais o comando.

No exemplo a seguir, SqlPackage é usado para criar um arquivo .dacpac do esquema de banco de dados atual:

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

Nesse exemplo, os parâmetros foram:

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

Nesse exemplo, as propriedades eram:

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

Ações SqlPackage

  • Versão: retorna o número de build do aplicativo SqlPackage.

  • Extrair: cria um arquivo (.dacpac) do aplicativo da camada de dados que contém um esquema ou um esquema e os dados do usuário de um banco de dados SQL conectado.

  • Publicar: atualiza um esquema de banco de dados incrementalmente para que corresponda ao esquema de um arquivo .dacpac de origem. Se o banco de dados não existir no servidor, a operação de publicação o criará. Caso contrário, um banco de dados existente é atualizado.

  • Export: exporta um banco de dados SQL conectado, incluindo um esquema do banco de dados e dados do usuário para um arquivo BACPAC (.bacpac).

  • Import: importa os dados do esquema e da tabela de um arquivo BACPAC em um novo banco de dados de usuário.

  • DeployReport: cria um relatório em XML para declarar as alterações que uma ação de publicação realizaria.

  • DriftReport: cria um relatório em XML para declarar as alterações aplicadas a um banco de dados registrado desde o último registro.

  • Script: cria um script de atualização incremental Transact-SQL que atualiza o esquema de um destino para que corresponda ao esquema de origem.

Observação

Embora o Microsoft Entra ID seja o novo nome do Azure Active Directory (Azure AD), para evitar a interrupção de ambientes existentes, o Azure AD ainda permanecerá em alguns elementos codificados, como campos de interface do usuário, provedores de conexão, códigos de erro e cmdlets. Neste artigo, os dois nomes são intercambiáveis.

Parâmetros

Alguns parâmetros são compartilhados entre as ações SqlPackage. Abaixo é apresentada uma tabela que faz um resumo dos parâmetros. Para obter mais informações, clique nas páginas de ação específicas.

Parâmetro Forma abreviada Extrair Publicar Exportar Importaçãoação DeployReport DriftReport Script
/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

Propriedades

As ações do SqlPackage dão suporte a um grande número de propriedades para modificar o comportamento padrão de uma ação. O uso opcional de propriedades é realizado adicionando /p:PropertyName=Value à linha de comando. Várias propriedades podem ser especificadas e algumas propriedades podem ser especificadas mais de uma vez (por exemplo, /p:TableData=Product /p:TableData=ProductCategory). Para obter mais informações sobre propriedades, consulte as páginas de ação específicas.

Variáveis SQLCMD

As variáveis SQLCMD podem ser criadas em um arquivo .dacpac de um projeto SQL e, em seguida, definidas durante a implantação com SqlPackage Publish ou Script. Para obter mais informações sobre como adicionar variáveis SQLCMD a um projeto SQL, consulte a documentação de projetos SQL.

Comandos do utilitário

Versão

Exibe a versão do sqlpackage como um número de build. É possível usar a versão em solicitações interativas e em pipelines automatizados.

SqlPackage /Version

Ajuda

Você pode exibir informações de uso do SqlPackage usando /? ou /help:True.

SqlPackage /?

Para informações de parâmetro e propriedade específicas de uma determinada ação, use o parâmetro de ajuda além do parâmetro dessa ação.

SqlPackage /Action:Publish /?

Códigos de saída

Os comandos do SqlPackage retornam os seguintes códigos de saída:

  • 0 = êxito
  • diferente de zero = falha

Próximas etapas