Informations de référence sur l’interface CLI SqlPackage
SqlPackage est un utilitaire en ligne de commande pour la portabilité et les déploiements de base de données dans les environnements Windows, Linux et macOS. L’interface de ligne de commande SqlPackage analyse chaque appel pour les paramètres, les propriétés et les variables SQLCMD.
SqlPackage {parameters} {properties} {SQLCMD variables}
- Les paramètres sont utilisés pour spécifier l’action à effectuer, les bases de données source et cible et d’autres paramètres généraux.
- Les propriétés sont utilisées pour modifier le comportement par défaut d’une action.
- Les variables SQLCMD sont utilisées pour transmettre des valeurs aux variables SQLCMD dans le fichier source.
Pour créer une commande SqlPackage, vous devez spécifier une action et ses paramètres supplémentaires. Si vous le souhaitez, vous pouvez ajouter des propriétés et des variables SQLCMD pour personnaliser davantage la commande.
Dans l’exemple suivant, SqlPackage est utilisé pour créer un fichier .dacpac du schéma de base de données actuel :
SqlPackage /Action:Extract /TargetFile:"C:\sqlpackageoutput\output_current_version.dacpac" \
/SourceServerName:"localhost" /SourceDatabaseName:"Contoso" \
/p:IgnoreUserLoginMappings=True /p:Storage=Memory
Dans cet exemple, les paramètres étaient les suivants :
/Action:Extract
/TargetFile:"C:\sqlpackageoutput\output_current_version.dacpac"
/SourceServerName:"localhost"
/SourceDatabaseName:"Contoso"
Dans cet exemple, les propriétés étaient les suivantes :
/p:IgnoreUserLoginMappings=True
/p:Storage=Memory
Actions SqlPackage
Version : retourne le numéro de build de l’application SqlPackage.
Extraire : Crée un fichier d’application de la couche Données (.dacpac) contenant le schéma, ou le schéma et les données utilisateur à partir d’une base de données SQL connectée.
Publier : met à jour de manière incrémentielle un schéma de base de données pour qu’il corresponde au schéma d’un fichier .dacpac source. Si la base de données n'existe pas sur le serveur, elle est créée par l'opération de publication. Dans le cas contraire, une base de données existante est mise à jour.
Exporter : Exporte une base de données SQL connectée, y compris le schéma de base de données et les données utilisateur, dans un fichier BACPAC (.bacpac).
Importer : Importe le schéma et les données des tables à partir d’un fichier BACPAC dans une nouvelle base de données utilisateur.
DeployReport : crée un rapport XML sur les modifications devant être apportées par une action de publication.
DriftReport : crée un rapport XML sur les modifications apportées à une base de données inscrite depuis sa dernière inscription.
Script : crée un script de mise à jour incrémentielle Transact-SQL qui met à jour le schéma d'une cible afin qu'il corresponde au schéma d'une source.
Remarque
Bien que Microsoft Entra ID soit le nouveau nom d'Azure Active Directory (Azure AD) pour empêcher l'interruption des environnements existants, Azure AD reste toujours dans certains éléments codés en dur, tels que les champs d'interface utilisateur, les fournisseurs de connexions, les codes d'erreur et cmdlets. Dans cet article, les deux noms sont interchangeables.
Paramètres
Certains paramètres sont partagés entre les actions SqlPackage. Voici un tableau résumant les paramètres : pour plus d’informations, cliquez sur les pages d’actions spécifiques.
Paramètre | Forme abrégée | Extraction | Publier | Export | Importer | 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 |
Propriétés
Les actions SqlPackage prennent en charge un grand nombre de propriétés pour modifier le comportement par défaut d’une action. L’utilisation facultative des propriétés est effectuée en ajoutant /p:PropertyName=Value
à la ligne de commande. Plusieurs propriétés peuvent être spécifiées et certaines propriétés peuvent être spécifiées plusieurs fois (par exemple /p:TableData=Product /p:TableData=ProductCategory
). Pour plus d’informations sur les propriétés, reportez-vous aux pages d’action spécifiques.
Variables SQLCMD
Les variables SQLCMD peuvent être intégrées à un fichier .dacpac à partir d’un projet SQL, puis définies pendant le déploiement avec SqlPackage Publish ou Script. Pour plus d’informations sur l’ajout de variables SQLCMD à un projet SQL, consultez la documentation des projets SQL.
Commandes utilitaires
Version
Affiche la version sqlpackage comme numéro de build. Peut être utilisé dans les invites interactives et dans les pipelines automatisés.
SqlPackage /Version
Aide
Vous pouvez afficher les informations sur l’utilisation de SqlPackage à l’aide de /?
ou de /help:True
.
SqlPackage /?
Pour obtenir des informations sur les paramètres et les propriétés spécifiques à une action, utilisez le paramètre help en plus du paramètre de cette action.
SqlPackage /Action:Publish /?
Codes de sortie
Les commandes SqlPackage retournent les codes de sortie suivants :
- 0 = réussite
- nonzero = échec
Étapes suivantes
- Découvrir plus en détail l’action Extract de SqlPackage
- Découvrir plus en détail l’action Publish de SqlPackage
- Découvrir plus en détail l’action Export de SqlPackage
- Découvrir plus en détail l’action Import de SqlPackage
- En savoir plus sur la résolution des problèmes liés à SqlPackage
- Partager des commentaires sur SqlPackage dans le référentiel GitHub DacFx