Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :✅Base de données SQL dans Microsoft Fabric
Dans ce tutoriel, vous allez apprendre à utiliser SqlPackage dans votre base de données SQL dans Fabric.
SqlPackage est une interface CLI qui fournit portabilité de base de données et déploiements de base de données.
- La portabilité (importation/exportation) d’une base de données gérée dans Azure ou dans Fabric garantit que vos données sont portables vers d’autres plateformes si vous souhaitez migrer ultérieurement. - La portabilité inclut le déplacement vers et depuis SQL Server, Azure SQL Database, Azure SQL Managed Instance et SQL Database dans Fabric via des copies de base de données autonomes (
.bacpacou.dacpacdes fichiers).
SqlPackage peut également permettre de déployer facilement des bases de données en apportant des modifications incrémentielles aux objets de la base de données (nouvelles colonnes dans les tables, modifications des procédures stockées existantes, etc.).
- SqlPackage peut extraire un fichier
.dacpaccontenant les définitions d’objets d’une base de données et publier un fichier.dacpacpour appliquer cet état d’objet à une base de données nouvelle ou existante. - L'opération de publication s’intègre également aux projets SQL, permettant ainsi des cycles de développement hors ligne plus dynamiques pour les bases de données SQL.
Prérequis
- Vous avez besoin d’une capacité de Fabric existante. Si ce n’est pas le cas, démarrez une version d’évaluation de Fabric.
- Créez un espace de travail ou utilisez un espace de travail Fabric existant.
- Créez ou utilisez une base de données SQL existante dans Fabric. Si vous n’en avez pas encore, créez une base de données SQL dans Fabric.
- Installez le Kit de développement logiciel (SDK) .NET 8.
Programme d’installation
SqlPackage est disponible pour Windows, macOS et Linux en tant qu’outil dotnet. Vous pouvez l’installer à l’aide de la commande suivante :
dotnet tool install --global Microsoft.SqlPackage
En tant qu’outil dotnet global, SqlPackage est disponible dans votre terminal en tant que sqlpackage à partir de n’importe quel dossier.
Importer une base de données avec SqlPackage
Un .bacpac est une copie portable d’une base de données, utile pour certains scénarios de migration et de test. Vous pouvez l’importer.bacpac dans une base de données SQL vide avec l’importation SqlPackage.
Remarque
.bacpac n'est pas une sauvegarde ni un remplacement des capacités de sauvegarde/restauration. Pour plus d’informations sur les sauvegardes pour la base de données SQL dans Fabric, consultez Sauvegardes automatiques dans la base de données SQL dans Microsoft Fabric et Restauration à partir d’une sauvegarde dans une base de données SQL dans Microsoft Fabric.
Si vous utilisez un
.bacpacdans un environnement Azure ou SQL Server, vous devrez peut-être modifier la base de données source pour s'adapter à la surface T-SQL de Fabric. Consultez la portabilité d’extraction et de publication pour une autre méthode qui permet aux propriétés SqlPackage d’ignorer certains objets non pris en charge.Créez votre nouvelle base de données SQL dans Fabric comme d’habitude via l’interface Fabric.
Copiez la chaîne de connexion à partir des paramètres.
Utilisez la commande d’importation à partir du terminal dans le dossier sqlpackage. Indiquez votre propriétaire
<servername>et<database_name>.sqlpackage /action:import /sourcefile:"C:\DatabaseName.bacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"- Remplacez votre chaîne de connexion à partir de la boîte de dialogue paramètres de base de données SQL.
- Remplacez la valeur
sourcefilepar le nom.bacpac(DatabaseName) etlocationsur votre ordinateur local.
Suivez l’importation avec une opération de copie dans Data Factory dans Microsoft Fabric. Pour commencer, consultez Démarrage rapide : Créer un travail de copie.
Exporter une base de données avec SqlPackage
L’exportation d’un .bacpac est l’opération inverse, où votre targetfile est un .bacpac et votre sourceconnectionstring se trouve dans la boîte de dialogue paramètres de base de données SQL, comme dans l’exemple précédent. Indiquez votre propriétaire <servername> et <database_name>. Par exemple :
sqlpackage /action:export /targetfile:"C:\DatabaseName.bacpac" /sourceconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"
Pour plus d’informations sur l’exportation, consultez Exportation de SqlPackage.
Extraire et publier
Un .dacpac est un fichier de modèle de schéma de la base de données, contenant des définitions pour les tables, les procédures stockées et d’autres objets de la base de données source. Ce fichier peut être créé à partir d’une base de données existante avec SqlPackage ou à partir d’un projet de base de données SQL.
SqlPackage est capable de déployer un .dacpac sur une nouvelle base de données (vide) ou de mettre à jour de façon incrémentielle une base de données existante pour correspondre à l’état .dacpac souhaité.
-
Extraire crée un
.dacpacou des fichiers SQL à partir d’une base de données existante. -
Publier déploie un
.dacpacdans une base de données.
La syntaxe de SqlPackage publier et extraire est similaire aux commandes d'importation/exportation.
Avertissement
L’utilisation de SqlPackage pour déployer un projet SQL ou .dacpac dans une base de données SQL dans Fabric est recommandée. Le déploiement d’un .dacpac à partir de Visual Studio peut échouer.
Pour déployer un .dacpac créé à partir d’Azure SQL Database, DE SQL Server ou d’un projet SQL ciblant une plateforme autre que la base de données SQL dans Fabric, ajoutez la propriété /p:AllowIncompatiblePlatform=true à la commande de publication SqlPackage.
Extraire et publier la portabilité
Bien que les commandes d’importation/exportation SqlPackage soient axées sur la portabilité des données avec le .bacpac format, les commandes d’extraction et de publication sont capables de porter les données avec le .dacpac format. Les propriétés d’extraction et de publication peuvent être utilisées pour contrôler le comportement des opérations d’extraction et de publication et fournir une plus grande flexibilité pour les conversions entre plateformes.
Pour extraire et .dacpac inclure les données, utilisez la /p:ExtractAllTableData=true propriété. L’opération d’extraction crée un .dacpac qui contient à la fois le schéma et les données de la base de données source. La propriété /p:ExtractReferencedServerScopedElements=false exclut les éléments au niveau du serveur, qui ne sont pas pris en charge dans la base de données SQL dans Fabric. La commande suivante extrait une .dacpac contenant des données d'une base de données SQL existante dans Fabric.
sqlpackage /action:extract /sourceconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive" /targetfile:"C:\extracted.dacpac" /p:ExtractAllTableData=true /p:ExtractReferencedServerScopedElements=false
Pour publier un .dacpac extrait avec les données, aucune propriété supplémentaire n’est requise. Toutefois, plusieurs propriétés peuvent être utilisées pour contrôler le comportement de l’opération de publication :
-
/p:AllowIncompatiblePlatform=truepermet le déploiement d’un.dacpacextrait d’une autre plateforme (par exemple, Azure SQL Database, SQL Server). -
/p:ExcludeObjectTypes=Logins;Usersexclut les types d’objets qui peuvent rencontrer des problèmes de compatibilité lors de la publication sur une base de données SQL dans Fabric. Pour obtenir la liste complète des types d’objets qui peuvent être exclus, consultez la publication sqlPackage.
Comme pour la commande d’importation SqlPackage, avant de publier une .dacpac base de données SQL dans Fabric, vous devez créer la base de données dans Fabric. Vous pouvez créer la base de données via le portail Fabric ou une autre interface Fabric. La commande suivante publie l’extrait .dacpac dans une base de données SQL vide dans Fabric :
sqlpackage /action:publish /sourcefile:"C:\extracted.dacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive" /p:AllowIncompatiblePlatform=true /p:ExcludeObjectTypes=Logins;Users