SqlPackage.exe

SqlPackage.exe es una utilidad de línea de comandos que automatiza las siguientes tareas de desarrollo de base de datos:

  • Versión: devuelve el número de compilación de la aplicación SqlPackage. Se agregó en la versión 18.6.

  • 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 no existe la base de datos en el servidor, la operación de publicación la crea. 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 de los cambios que realizaría una acción de publicación.

  • DriftReport: crea un informe XML de los cambios que se han realizado 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.

La herramienta de línea de comandos SqlPackage.exe permite especificar estas acciones junto con parámetros y propiedades específicos de cada acción.

Descargar la última versión . Para más información sobre la última versión, consulte las notas de la versión.

Sintaxis de línea de comandos

SqlPackage.exe inicia las acciones especificadas usando los parámetros, las propiedades y las variables de SQLCMD especificadas en la línea de comandos.

SqlPackage {parameters}{properties}{SQLCMD Variables}  

Ejemplos de uso

Generación de una comparación entre las bases de datos mediante archivos .dacpac con una salida de script SQL

Empiece por crear un archivo .dacpac de los cambios de la base de datos más recientes:

sqlpackage.exe /TargetFile:"C:\sqlpackageoutput\output_current_version.dacpac" /Action:Extract /SourceServerName:"." /SourceDatabaseName:"Contoso.Database"

Cree un archivo .dacpac del destino de la base de datos (sin cambios):

sqlpackage.exe /TargetFile:"C:\sqlpackageoutput\output_target.dacpac" /Action:Extract /SourceServerName:"." /SourceDatabaseName:"Contoso.Database"

Cree un script SQL que genere las diferencias de dos archivos .dacpac:

sqlpackage.exe /Action:Script /SourceFile:"C:\sqlpackageoutput\output_current_version.dacpac" /TargetFile:"C:\sqlpackageoutput\output_target.dacpac" /TargetDatabaseName:"Contoso.Database" /OutputPath:"C:\sqlpackageoutput\output.sql"

Versión

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

sqlpackage.exe /Version

Ayuda

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

sqlpackage.exe /?

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.exe /Action:Publish /?

Códigos de salida

Comandos que devuelven los siguientes códigos de salida:

  • 0 = success
  • distinto de cero = error

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, haga 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

Algunas propiedades se comparten entre las acciones de SqlPackage. A continuación se muestra una tabla que resume las propiedades. Para más información, haga clic en las páginas de acción específicas.

Propiedad Extracción Publicar Exportar Importar DeployReport Script
AdditionalDeploymentContributorArguments=(STRING) x x x
AdditionalDeploymentContributors=(STRING) x x x
AdditionalDeploymentContributorPaths=(STRING) x x x
AllowDropBlockingAssemblies=(BOOLEAN) x x x
AllowIncompatiblePlatform=(BOOLEAN) x x x
AllowUnsafeRowLevelSecurityDataMovement=(BOOLEAN) x x x
AzureSharedAccessSignatureToken=(STRING) x
AzureStorageBlobEndpoint=(STRING) x x
AzureStorageContainer=(STRING) x x
AzureStorageKey=(STRING) x x
AzureStorageRootPath=(STRING) x x
BackupDatabaseBeforeChanges=(BOOLEAN) x x x
BlockOnPossibleDataLoss=(BOOLEAN 'True') x x x
BlockWhenDriftDetected=(BOOLEAN 'True') x x x
CommandTimeout=(INT32 '60') x x x x x x
CommentOutSetVarDeclarations=(BOOLEAN) x x x
CompareUsingTargetCollation=(BOOLEAN) x x x
CompressionOption=(ENUM 'Normal') x x
CreateNewDatabase=(BOOLEAN) x x x
DacApplicationDescription=(STRING) x
DacApplicationName=(STRING) x
DacMajorVersion=(INT32 '1') x
DacMinorVersion=(INT32 '0') x
DatabaseEdition=(ENUM 'Default') x x x x
DatabaseLockTimeout=(INT32 '60') x x x x x
DatabaseMaximumSize=(INT32) x x x x
DatabaseServiceObjective=(STRING) x x x x
DeployDatabaseInSingleUserMode=(BOOLEAN) x x x
DisableAndReenableDdlTriggers=(BOOLEAN 'True') x x x
DisableIndexesForDataPhase=(BOOLEAN 'True') x
DoNotAlterChangeDataCaptureObjects=(BOOLEAN 'True') x x x
DoNotAlterReplicatedObjects=(BOOLEAN 'True') x x x
DoNotDropObjectType=(STRING) x x x
DoNotDropObjectTypes=(STRING) x x x
DropConstraintsNotInSource=(BOOLEAN 'True') x x x
DropDmlTriggersNotInSource=(BOOLEAN 'True') x x x
DropExtendedPropertiesNotInSource=(BOOLEAN 'True') x x x
DropIndexesNotInSource=(BOOLEAN 'True') x x x
DropObjectsNotInSource=(BOOLEAN) x x x
DropPermissionsNotInSource=(BOOLEAN) x x x
DropRoleMembersNotInSource=(BOOLEAN) x x x
DropStatisticsNotInSource=(BOOLEAN 'True') x x x
ExcludeObjectType=(STRING) x x x
ExcludeObjectTypes=(STRING) x x x
ExtractAllTableData=(BOOLEAN) x
ExtractApplicationScopedObjectsOnly=(BOOLEAN 'True') x
ExtractReferencedServerScopedElements=(BOOLEAN 'True') x
ExtractUsageProperties=(BOOLEAN) x
GenerateSmartDefaults=(BOOLEAN) x x x
IgnoreAnsiNulls=(BOOLEAN 'True') x x x
IgnoreAuthorizer=(BOOLEAN) x x x
IgnoreColumnCollation=(BOOLEAN) x x
IgnoreColumnOrder=(BOOLEAN) x x x
IgnoreComments=(BOOLEAN) x x x
IgnoreCryptographicProviderFilePath=(BOOLEAN 'True') x x x
IgnoreDdlTriggerOrder=(BOOLEAN) x x x
IgnoreDdlTriggerState=(BOOLEAN) x x x
IgnoreDefaultSchema=(BOOLEAN) x x x
IgnoreDmlTriggerOrder=(BOOLEAN) x x x
IgnoreDmlTriggerState=(BOOLEAN) x x x
IgnoreExtendedProperties=(BOOLEAN) x x x x
IgnoreFileAndLogFilePath=(BOOLEAN 'True') x x x
IgnoreFilegroupPlacement=(BOOLEAN 'True') x x x
IgnoreFileSize=(BOOLEAN 'True') x x x
IgnoreFillFactor=(BOOLEAN 'True') x x x
IgnoreFullTextCatalogFilePath=(BOOLEAN 'True') x x x
IgnoreIdentitySeed=(BOOLEAN) x x x
IgnoreIncrement=(BOOLEAN) x x x
IgnoreIndexOptions=(BOOLEAN) x x x
IgnoreIndexPadding=(BOOLEAN 'True') x x x
IgnoreKeywordCasing=(BOOLEAN 'True') x x x
IgnoreLockHintsOnIndexes=(BOOLEAN) x x x
IgnoreLoginSids=(BOOLEAN 'True') x x x
IgnoreNotForReplication=(BOOLEAN) x x x
IgnoreObjectPlacementOnPartitionScheme=(BOOLEAN 'True') x x x
IgnorePartitionSchemes=(BOOLEAN) x x x
IgnorePermissions=(BOOLEAN 'True') x x x x
IgnoreQuotedIdentifiers=(BOOLEAN 'True') x x x
IgnoreRoleMembership=(BOOLEAN) x x x
IgnoreRouteLifetime=(BOOLEAN 'True') x x x
IgnoreSemicolonBetweenStatements=(BOOLEAN 'True') x x x
IgnoreTableOptions=(BOOLEAN) x x x
IgnoreTablePartitionOptions=(BOOLEAN) x x x
IgnoreUserLoginMappings=(BOOLEAN) x
IgnoreUserSettingsObjects=(BOOLEAN) x x x
IgnoreWhitespace=(BOOLEAN 'True') x x x
IgnoreWithNocheckOnCheckConstraints=(BOOLEAN) x x
IgnoreWithNocheckOnForeignKeys=(BOOLEAN) x x
ImportContributorArguments=(STRING) x
ImportContributors=(STRING) x
ImportContributorPaths=(STRING) x
IncludeCompositeObjects=(BOOLEAN) x x x
IncludeTransactionalScripts=(BOOLEAN) x x x
LongRunningCommandTimeout=(INT32) x x x x x x
NoAlterStatementsToChangeClrTypes=(BOOLEAN) x x x
PopulateFilesOnFileGroups=(BOOLEAN 'True') x x x
RebuildIndexesOfflineForDataPhase=(BOOLEAN 'False') x
RegisterDataTierApplication=(BOOLEAN) x x x
RunDeploymentPlanExecutors=(BOOLEAN) x x x
ScriptDatabaseCollation=(BOOLEAN) x x x
ScriptDatabaseCompatibility=(BOOLEAN) x x x
ScriptDatabaseOptions=(BOOLEAN 'True') x x x
ScriptDeployStateChecks=(BOOLEAN) x x x
ScriptFileSize=(BOOLEAN) x x x
ScriptNewConstraintValidation=(BOOLEAN 'True') x x x
ScriptRefreshModule=(BOOLEAN 'True') x x x
Storage=({File|Memory}) x x x x x x
TableData=(STRING) x x
TargetEngineVersion=(ENUM 'Latest') x
TempDirectoryForTableData=(STRING) x x
TreatVerificationErrorsAsWarnings=(BOOLEAN) x x x
UnmodifiableObjectWarnings=(BOOLEAN 'True') x x x
VerifyCollationCompatibility=(BOOLEAN 'True') x x x
VerifyDeployment=(BOOLEAN 'True') x x x
VerifyExtraction=(BOOLEAN) x
VerifyFullTextDocumentTypesSupported=(BOOLEAN) x

Pasos siguientes