Compartir a través de


Referencia de la CLI de SqlPackage

SqlPackage es una utilidad de línea de comandos para la portabilidad y las implementaciones de bases de datos en entornos windows, Linux y macOS. La interfaz de la línea de comandos (CLI) de SqlPackage analiza cada invocación de parámetros, propiedades y variables SQLCMD.

SqlPackage {parameters} {properties} {SQLCMD variables}
  • Los parámetros se usan para especificar la acción que se va a realizar, las bases de datos de origen y de destino y otras configuraciones generales.
  • Las propiedades se usan para modificar el comportamiento predeterminado de una acción.
  • Las variables SQLCMD se usan para pasar valores a las variables SQLCMD del archivo de origen.

Para crear un comando SqlPackage, debe especificar una acción y sus parámetros adicionales. Opcionalmente, puede agregar propiedades y variables SQLCMD para personalizar aún más el comando.

En el ejemplo siguiente, SqlPackage se usa para crear un archivo .dacpac del esquema de base de datos actual:

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

En ese ejemplo, los parámetros eran:

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

En ese ejemplo, las propiedades eran:

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

Acciones de SqlPackage

  • Versión: devuelve el número de compilación de la aplicación SqlPackage.

  • Extract: crea un archivo de aplicación de capa de datos (.dacpac) que contiene el esquema o el esquema y los datos de usuario de una base de datos SQL conectada.

  • Publicar: actualiza de forma incremental un esquema de la base de datos para coincidir con el esquema de un archivo .dacpac de origen. Si la base de datos no existe en el servidor, la operación de publicación la creará. De lo contrario, se actualiza una base de datos existente.

  • Export: exporta una base de datos SQL conectada, incluidos el esquema de la base de datos y los datos de usuario, a un archivo BACPAC (.bacpac).

  • Import: importa el esquema y los datos de tabla de un archivo BACPAC en una nueva base de datos de usuario.

  • DeployReport: crea un informe XML que representa los cambios que realizaría una acción de publicación.

  • DriftReport: crea un informe XML que representa los cambios que se han aplicado en una base de datos registrada desde que se registró por última vez.

  • Script: crea un script de actualización incremental de Transact-SQL que actualiza el esquema de un destino para que coincida con el esquema de un origen.

Nota:

Aunque Microsoft Entra ID es el nuevo nombre de Azure Active Directory (Azure AD), para evitar interrumpir los entornos existentes, Azure AD sigue estando en algunos elementos codificados de forma rígida como campos de interfaz de usuario, proveedores de conexiones, códigos de error y cmdlets. En este artículo, los dos nombres son intercambiables.

Parámetros

Algunos parámetros se comparten entre las acciones de SqlPackage. A continuación se muestra una tabla que resume los parámetros. Para más información, haz clic en las páginas de acción específicas.

Parámetro Forma corta Extracción Publicar Exportar Importar 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

Propiedades

Las acciones sqlPackage admiten un gran número de propiedades para modificar el comportamiento predeterminado de una acción. El uso opcional de las propiedades se realiza agregando /p:PropertyName=Value a la línea de comandos. Se pueden especificar varias propiedades y algunas propiedades se pueden especificar más de una vez (por ejemplo, /p:TableData=Product /p:TableData=ProductCategory). Para obtener más información sobre las propiedades, consulte las páginas de acciones específicas.

Variables SQLCMD

Las variables SQLCMD se pueden integrar en un archivo .dacpac desde un proyecto de SQL y, después, establecer durante la implementación con SqlPackage Publish o Script. Para obtener más información sobre cómo agregar variables SQLCMD a un proyecto de SQL, consulte la documentación de proyectos de SQL.

Comandos de utilidad

Versión

Muestra la versión de sqlpackage como un número de compilación. Se puede usar en solicitudes interactivas y en canalizaciones automatizadas.

SqlPackage /Version

Ayuda

Puede mostrar la información de uso de SqlPackage mediante /? o /help:True.

SqlPackage /?

Para obtener información acerca de propiedades y parámetros específicos de una acción determinada, use el parámetro de ayuda además del parámetro de esa acción.

SqlPackage /Action:Publish /?

Códigos de salida

Los comandos de SqlPackage devuelven los siguientes códigos de salida:

  • 0 = success
  • distinto de cero = error

Pasos siguientes