Exporter une application de la couche Données

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

L'exportation d'une application de la couche Données (DAC) déployée ou d'une base de données crée un fichier d'exportation qui inclut les définitions des objets de la base de données et toutes les données contenues dans les tables. Le fichier d'exportation peut ensuite être importé dans une autre instance du moteur de base de données ou dans Azure SQL Database. Les opérations d’exportation-importation peuvent être combinées pour migrer une DAC entre différentes instances, pour créer une archive ou pour créer une copie sur site d’une base de données déployée dans SQL Database.

Prérequis

Le processus d'exportation génère un fichier d'exportation DAC en deux étapes.

  1. L’exportation génère une définition de la DAC dans le fichier d’exportation (fichier BACPAC), de la même manière que l’extraction d’une DAC génère une définition de la DAC dans un fichier de package DAC. La définition de la DAC exportée inclut tous les objets de la base de données active. Supposons que le processus d’exportation s’exécute sur une base de données initialement déployée à partir d’une DAC et que les modifications ont été apportées directement à la base de données après le déploiement. Dans ce cas, la définition exportée correspond à l’objet défini dans la base de données, et non à ce qui a été défini dans la DAC d’origine.

  2. L'exportation copie en bloc les données de toutes les tables dans la base de données et les incorpore dans le fichier d'exportation.

Le processus d'exportation définit la version de la DAC sur 1.0.0.0 et la description de la DAC dans le fichier d'exportation sur une chaîne vide. Si la base de données a été déployée à partir d'une DAC, la définition de la DAC dans le fichier d'exportation contient le nom donné à la DAC d'origine. Sinon, le nom de la DAC est défini sur le nom de la base de données.

Autorisations

Pour exporter un DAC, vous devez posséder au moins les autorisations ALTER ANY et VIEW DEFINITION au niveau de la base de données, ainsi que les autorisations SELECT sur sys.sql_expression_dependencies`. Cette tâche est réalisable pour les personnes ayant le rôle serveur fixe securityadmin et le rôle de base de données fixe database_owner dans la base de données source du CED. En outre, l'exportation d'un DAC est possible pour ceux qui font partie du rôle serveur fixe sysadmin ou ceux qui ont accès au compte d'administrateur système intégré de SQL Server nommé sa.

Sur Azure SQL Database, vous devez accorder pour chaque base de données l’autorisation VIEW DEFINITION et SELECT sur toutes les tables ou sur des tables spécifiques

Utilisation de l'Assistant Exporter l'application de la couche Données

Pour exporter une DAC à l'aide d'un Assistant

  1. Se connecter à l’instance de SQL Server, que ce soit localement ou dans SQL Database.

  2. Dans l' Explorateur d'objets, développez le nœud de l'instance à partir de laquelle vous voulez exporter la DAC.

  3. Cliquez avec le bouton droit sur le nom de la base de données.

  4. Cliquez sur Tâches, puis sélectionnez Exporter une application de la couche Données...

  5. Renseignez les boîtes de dialogue de l'Assistant :

Page d’introduction

Cette page décrit les étapes de l'Assistant Exporter l'application de la couche Données.

Options

Ne plus afficher cette page. - Activez la case à cocher pour ne plus afficher la page Introduction à l'avenir.

Suivant - Passe à la page Sélectionner le package DAC .

Annuler - Annule l’opération et ferme l’Assistant.

Capture d’écran de la page d’introduction d’une application de la couche Données.

Page Paramètres d'exportation

Utilisez cette page pour indiquer l'emplacement où vous souhaitez créer le fichier BACPAC.

  • Enregistrer sur le disque local - Crée un fichier de BACPAC dans un répertoire sur l’ordinateur local. Cliquez sur Parcourir... pour explorer l’ordinateur local, ou spécifiez le chemin d’accès dans l’espace fourni. Le chemin d'accès doit inclure un nom de fichier et l'extension .bacpac.

  • Enregistrer dans Azure - Crée un fichier BACPAC dans un conteneur Azure. Vous devez vous connecter à un conteneur Azure afin de valider cette option. Notez que cette option requiert également que vous spécifiiez un répertoire local pour le fichier temporaire. Le fichier temporaire est créé à l'emplacement spécifié et reste à cet endroit une fois l'opération terminée.

Pour spécifier un sous-ensemble de tables à exporter, utilisez l'option Avancé .

Capture d’écran de la page exporter les paramètres d’exportation d’une application de la couche Données.

Page de résumé

Utilisez cette page afin d'examiner les paramètres source et cible spécifiés pour l'opération. Pour terminer l'exportation à l'aide des paramètres spécifiés, cliquez sur Terminer. Pour annuler l'exportation et quitter l'Assistant, cliquez sur Annuler.

Capture d'écran de la page de résumé des données d'exportation.

Page Progression

Cette page affiche une barre de progression indiquant l'état de l'opération. Pour afficher l'état détaillé, cliquez sur l'option Afficher les détails .

Page de résultats

Cette page signale la réussite ou l'échec de l'exportation et affiche les résultats de chaque action. Toute action pour laquelle une erreur s'est produite aura un lien dans la colonne Résultat . Sélectionnez le lien pour consulter le rapport de d'erreur de cette action.

Capture d’écran de la page de résultats de l’application de la couche Données.

Pour fermer l’assistant, sélectionnez Terminer.

Utilisation d'une application .Net Framework

Pour exporter une DAC à l’aide de la méthode Export() dans une application .Net Framework.

  1. Créez un objet serveur SMO et définissez-le sur l'instance qui contient la DAC à exporter.

  2. Ouvrez un objet ServerConnection et connectez-vous à la même instance.

  3. Utilisez la méthode Export de type Microsoft.SqlServer.Management.Dac.DacStore pour exporter la DAC. Spécifiez le nom de la DAC à exporter, ainsi que le chemin d'accès au dossier où le fichier d'exportation doit être placé.

Limitations et restrictions

Une DAC ou une base de données ne peut être exporté qu'à partir d'une base de données SQL Database ou SQL Server 2005 (9.x) Service Pack 4 (SP4) ou version ultérieure.

Vous ne pouvez pas exporter une base de données contenant des objets qui ne sont pas pris en charge par une DAC ou contenant des utilisateurs. Pour plus d'informations sur les types d'objets pris en charge dans une DAC, consultez DAC Support For SQL Server Objects and Versions.

Si vous recevez un message d’échec espace disque insuffisant, il est conseillé de configurer le dossier % TEMP % du système à résider sur un disque de données distinct. Ainsi, vous pouvez garantir un espace suffisant pour que le processus d’exportation s’exécute correctement, ce qui évite les complications potentielles de l’espace disque.

Pour configurer le dossier %TEMP% du système :

  • Dans Windows, ouvrez les Propriétés système>Propriétés puis sélectionnez le lien intitulé Paramètres système avancés.

  • Dans la Fenêtre Propriétés système suivante, accédez au bas et sélectionnez Variables d’environnement.

  • Dans la section Variables système, recherchez les variables TEMP et TMP, puis sélectionnez Modifier associée à chacun d’eux.

  • Modifiez les valeurs des deux variables pour qu'elles pointent vers un chemin d'accès sur le disque de données séparé que vous avez créé. Par exemple, si votre disque de données est désigné comme D:, définissez les valeurs comme D:\Temp.

  • Confirmez les modifications en sélectionnant OK et en fermant toutes les fenêtres ouvertes.