Procédure : inscrire une base de données en tant que DAC

Utilisez l'Assistant Inscrire l'application de la couche Données ou bien un script Windows PowerShell pour générer une définition d'application de la couche Données (DAC) qui décrive les objets d'une base de données existante, et inscrivez la définition de la DAC dans la base de données système msdb (master dans SQL Azure).

Avant de commencer

Vous pouvez enregistrer une DAC à partir d'une base de données Base de données SQL Azure ou d'une base de données dans SQL Server 2005 Service Pack 4 (SP4) ou version ultérieure. Pour une instance gérée du moteur de base de données, la DAC inscrite sera incorporée à l'utilitaire SQL Server la prochaine fois que le jeu d'éléments de collecte de l'utilitaire sera envoyé de l'instance au point de contrôle de l'utilitaire. La DAC sera ensuite présente dans le nœud Applications de la couche Données déployées dans Management Studio Explorateur de l'utilitaire et signalée dans la page Détails Applications de la couche Données déployées.

Remarque    L'inscription d'une DAC dans une instance du moteur de base de données requiert au moins les autorisations ALTER ANY LOGIN et VIEW DEFINITION de l'étendue de la base de données, les autorisations SELECT sur sys.sql_expression_dependencies, et l'appartenance au rôle serveur fixe dbcreator. Les membres du rôle serveur fixe sysadmin ou le compte d'administrateur système intégré de SQL Server nommé sa peuvent également inscrire une DAC. L'inscription d'une DAC qui ne contient pas de connexions dans SQL Azure requiert l'appartenance aux rôles dbmanager ou serveradmin. L'inscription d'une DAC comportant des connexions dans SQL Azure requiert l'appartenance aux rôles loginmanager ou serveradmin.

Limitations

L'inscription de la DAC ne peut être effectuée que sur SQL Azure ou SQL Server 2005 SP4 ou version ultérieure. L'inscription de la DAC ne peut pas être effectuée si une DAC est déjà inscrite pour la base de données. Par exemple, si la base de données a été créée en déployant une DAC, vous ne pouvez pas exécuter l'Assistant Inscrire l'application de la couche Données.

Vous ne pouvez pas inscrire une DAC si la base de données contient des objets qui ne sont pas pris en charge par cette DAC. Pour plus d'informations sur les types d'objets pris en charge dans une DAC, consultez Prise en charge DAC pour les objets et versions SQL Server.

Inscrire une DAC à l'aide de PowerShell

Créez un fichier RegisterDAC.ps1 contenant le code suivant.

  1. Ajoutez du code pour créer un objet serveur SMO et le définir sur l'instance de la base de données depuis laquelle vous souhaitez extraire une DAC. Dans cet exemple, un objet serveur est défini comme l'instance par défaut sur l'ordinateur local :

    ## Set a SMO Server object to the default instance on the local computer.
    CD SQLSERVER:\SQL\localhost\DEFAULT
    $srv = get-item .
    
  2. Ajoutez du code pour spécifier une base de données. Dans cet exemple, une base de données nommée MyDB est spécifiée :

    ## Specify the database to register as a DAC.
    $dbname = "MyDB"
    
  3. Ajoutez du code pour spécifier les métadonnées de la DAC. Cet exemple spécifie le nom, la version et la description de la DAC :

    ## Specify the DAC metadata.
    $applicationname = "MyApplication"
    $version = "1.0.0.0"
    $description = "This DAC defines the database used by my application."
    
  4. Ajoutez du code pour exécuter la méthode Register à l'aide des informations ci-dessus.

    ## Register the DAC.
    $registerunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $dbname, $applicationname, $version)
    $registerunit.Description = $description
    $registerunit.Register()
    

Exécutez RegisterDAC.ps1 depuis une session PowerShell dans laquelle vous aurez chargé les composants logiciels enfichables SQL Server PowerShell, ou bien depuis l'invite de commandes sqlps.

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

Dans Management Studio, vous pouvez lancer l'Assistant Inscrire l'application de la couche Données en procédant comme suit :

  • Cliquez avec le bouton droit sur un nœud de la base de données dans Explorateur d'objets, pointez sur Tâches, puis sélectionnez Inscrire l'application de la couche Données.

L'Assistant crée une définition de la DAC qui définit les objets de la base de données représentée par le nœud que vous avez sélectionné dans la hiérarchie de l'Explorateur d'objets. La définition de la DAC est stockée dans la base de données système msdb (master dans SQL Azure). Combinaison de la description de la DAC et d'une instance DAC sous forme de base de données. Les informations concernant l'instance DAC sont téléchargées dans l'utilitaire SQL Server lorsque le jeu d'éléments de collecte de l'utilitaire suivant est transmis au point de contrôle de l'utilitaire. Les informations peuvent être affichées dans le nœud Applications de la couche Données déployées de l'Explorateur de l'utilitaire.

Cliquez sur un lien dans la liste ci-dessous pour accéder aux détails d'une page dans l'Assistant :

  • Page Introduction

  • Page Définir les propriétés

  • Page Validation et résumé

  • Page Inscrire la DAC

Page Introduction

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

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

Suivant > - Passe à la page Définir les propriétés.

Annuler - Termine l'Assistant sans inscrire une DAC.

Page Définir les propriétés

Utilisez cette page pour spécifier des propriétés au niveau de la DAC telles que le nom de l'application et sa version.

Nom de l'application. - Chaîne qui spécifie le nom utilisé pour identifier la définition de la DAC ; le champ est rempli par le nom de la base de données.

Version. - Valeur numérique qui identifie la version de la DAC. La version de DAC est utilisée dans Visual Studio pour identifier la version de la DAC sur laquelle les développeurs travaillent. Lors du déploiement d'une DAC, la version est stockée dans la base de données msdb et peut être affichée ultérieurement sous le nœud Applications de la couche Données dans SQL Server Management Studio.

Description. - Facultatif. Texte qui explique l'objectif de la DAC. Lors du déploiement d'une DAC, la description est stockée dans la base de données msdb et peut être affichée ultérieurement sous le nœud Applications de la couche Données dans Management Studio.

< Précédent - Retourne à la page Introduction.

Suivant >- Vérifie qu'une DAC peut être générée à partir des objets de la base de données, et affiche les résultats dans la page Validation et résumé.

Annuler - Termine l'Assistant sans inscrire la DAC.

Page Validation et résumé

Utilisez cette page pour examiner les mesures que l'Assistant prendra lors de l'inscription de la DAC. La page passe par trois états alors qu'elle vérifie qu'une DAC peut être générée à partir des objets de la base de données.

Récupération d'objets

Récupération d'objets de bases de données et de serveurs - Affiche une barre de progression au fur et à mesure que l'Assistant récupère tous les objets requis de la base de données et de l'instance du moteur de base de données.

< Précédent - Vous renvoie à la page Définir les propriétés pour modifier vos entrées.

Suivant >- Inscrit la DAC et affiche les résultats dans la page Inscrire la DAC.

Annuler - Termine l'Assistant sans inscrire la DAC.

Validation d'objets

Vérification SchemaName**.ObjectName.** - Affiche une barre de progression au fur et à mesure que l'Assistant vérifie les dépendances des objets récupérés, et vérifie que ces objets sont tous valides pour une DAC. SchemaName**.**ObjectName identifient quel objet est vérifié actuellement.

< Précédent - Vous renvoie à la page Définir les propriétés pour modifier vos entrées.

Suivant >- Inscrit la DAC et affiche les résultats dans la page Inscrire la DAC.

Annuler - Termine l'Assistant sans inscrire la DAC.

Résumé

Le paramètre suivant sera utilisé pour inscrire votre DAC. - Affiche un rapport des propriétés et objets qui seront inclus dans la DAC.

Enregistrer le rapport - Sélectionnez ce bouton pour enregistrer une copie du rapport de validation dans un fichier HTML. Le dossier par défaut est un dossier SQL Server Management Studio\DAC Packages du dossier Documents de votre compte Windows.

< Précédent - Vous renvoie à la page Définir les propriétés pour modifier vos entrées.

Suivant >- Inscrit la DAC et affiche les résultats dans la page Inscrire la DAC.

Annuler - Termine l'Assistant sans inscrire la DAC.

Page Inscrire la DAC

Cette page signale la réussite ou l'échec de l'inscription.

Inscription de la DAC - Signale la réussite ou l'échec de chaque action entreprise pour inscrire la DAC. Examinez les informations pour déterminer la réussite ou l'échec 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 un rapport de l'erreur pour cette action.

Enregistrer le rapport - Sélectionnez ce bouton pour enregistrer le rapport d'inscription dans un fichier HTML. Le fichier signale l'état de chaque action, notamment toutes les erreurs générées par chacune des actions. Le dossier par défaut est un dossier SQL Server Management Studio\DAC Packages du dossier Documents de votre compte Windows. Le nom de fichier est au format <DACPackageName>_RegisterDACReport_yyyymmdd.html, où <DACPackageName> est le nom du package déployé, yyyy = l'année en cours, mm = le mois en cours et dd = la date du jour.

Terminer - termine l'Assistant.

Historique des modifications

Mise à jour du contenu

Ajout de la section sur l'utilisation de PowerShell.