Partager via


Inscrire une base de données en tant que DAC

Utilisez l’Assistant Inscription d’une application de la couche Données ou un script de Windows PowerShell pour créer une définition d’application de la couche Données (DAC) qui décrit les objets d’une base de données existante et inscrire la définition DAC dans la msdb base de données système (master dans Azure SQL Base de données).

Avant de commencer

Le processus d'inscription crée une définition de la DAC qui définit les objets de la base de données. La combinaison de la définition de la DAC et de la base de données forme une instance DAC. Si vous inscrivez une base de données comme une DAC sur une instance gérée du moteur de base de données, la DAC inscrite est incorporée dans l'utilitaire SQL Server la prochaine fois que le jeu d'éléments de collecte de l'utilitaire est envoyé de l'instance au point de contrôle de l'utilitaire. La DAC est ensuite présente dans le nœud Application de la couche Données déployée au sein de l’Explorateur d’utilitaire Management Studio et est signalée dans la page de détails pour Application de la couche Données déployée.

Limitations et restrictions

L’inscription DAC ne peut être effectuée que sur une base de données dans SQL Database ou SQL Server Service Pack 4 (SP4) 2005 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 de DAC si la base de données a des objets qui ne sont pas pris en charge dans une DAC, ou des utilisateurs à relation contenant-contenu. Pour plus d'informations sur les types d'objets pris en charge dans une DAC, consultez DAC Support For SQL Server Objects and Versions.

Autorisations

L’inscription d’une DAC dans un instance du moteur de base de données nécessite au moins les autorisations ALTER ANY LOGIN et l’étendue de la base de données VIEW DEFINITION, 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 Database nécessite l’appartenance aux rôles dbmanager ou serveradmin. L’inscription d’une DAC qui contient des connexions dans SQL Database nécessite l’appartenance aux rôles loginmanager ou serveradmin.

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

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

  1. Dans l' Explorateur d'objets, développez le nœud pour l'instance qui contient la base de données à inscrire en tant que DAC.

  2. Développez le nœud Bases de données .

  3. Cliquez avec le bouton droit sur la base de données à inscrire, pointez sur Tâches, puis sélectionnez Inscrire en tant qu’application de la couche Données.

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

    1. Page Introduction

    2. Page Définir les propriétés

    3. Page Validation et résumé

    4. 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. - Cochez la case pour ne plus afficher la page à l'avenir.

Prochain > - 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 renseigné avec le nom de la base de données.

Version. - Valeur numérique qui identifie la version de la DAC. La version de la 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 msdb base de données et peut être consulté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 msdb base de données et peut ensuite être consultée sous le nœud Applications de la couche Données dans Management Studio.

< Précédent : vous renvoie à la page Introduction .

Prochain > - Vérifie qu’une DAC peut être créé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.

Prochain > - 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 deSchemaName.ObjectName. - Affiche une barre de progression lorsque l’Assistant vérifie les dépendances des objets récupérés et vérifie qu’ils sont tous des objets 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.

Prochain > - 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 dans le dossier Documents de votre compte Windows.

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

Prochain > - 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 le rapport de d'erreur de 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 dans le 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é, yyyyy = l’année en cours, mm = le mois en cours et dd = le jour actuel.

Terminer : met fin à l’Assistant.

Inscrire une DAC à l'aide de PowerShell

Pour inscrire une base de données comme DAC à l’aide de la méthode Register() dans un script PowerShell

  1. Créez un objet serveur SMO et définissez-le sur l'instance qui contient la base de données à inscrire comme une DAC.

  2. Ajoutez une variable qui spécifie le nom de la base de données.

  3. Spécifiez les métadonnées pour la DAC, par exemple le nom de la DAC, la version et la description.

  4. Exécutez la méthode Register avec les informations spécifiées ci-dessus.

Exemple (PowerShell)

L'exemple suivant inscrit une base de données nommée MyDB comme une DAC.

## Set a SMO Server object to the default instance on the local computer.  
CD SQLSERVER:\SQL\localhost\DEFAULT  
$srv = Get-Item .  
  
## Specify the database to register as a DAC.  
$dbname = "MyDB"  
  
## Specify the DAC metadata.  
$applicationname = "MyApplication"  
$version = "1.0.0.0"  
$description = "This DAC defines the database used by my application."  
  
## Register the DAC.  
$registerunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $dbname, $applicationname, $version)  
$registerunit.Description = $description  
$registerunit.Register()  

Voir aussi

Applications de la couche Données