Procédure : extraire une DAC d'une base de données

Utilisez l'Assistant Extraire l'application de la couche Données ou bien un script Windows PowerShell pour extraire un package d'application de la couche Données (DAC) à partir d'une base de données SQL Server existante. Le processus d'extraction crée un fichier de package DAC qui contient les définitions des objets de base de données et de leurs éléments associés au niveau de l'instance. Par exemple, un fichier de package DAC contient les tables de base de données, procédures stockées, vues, utilisateurs, ainsi que les connexions mappées aux utilisateurs de base de données.

Vous pouvez extraire une DAC des bases de données qui résident sur les instances de SQL Azure, ou Service Pack 4 (SP4) ou version ultérieure de SQL Server 2005.

L'Assistant Extraire l'application de la couche Données n'inscrit pas la définition de la DAC dans l'instance actuelle du moteur de base de données. Pour plus d'informations sur l'inscription d'une DAC, consultez Procédure : inscrire une base de données en tant que DAC.

Extraire une DAC à l'aide de PowerShell

Génération et exécution d'un script

  1. Créez un fichier ExtractDAC.ps1.

  2. 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 .
    
  3. 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 extract to a DAC.
    $dbname = "MyDB"
    
  4. Spécifiez des métadonnées pour 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."
    
  5. Spécifie le chemin d'accès complet et le nom du fichier de package DAC extrait.

    ## Specify the location and name for the extracted DAC package.
    $dacpacPath = "C:\MyDACs\MyApplication.dacpac"
    
  6. Ajoutez du code pour exécuter la méthode Extract à l'aide des informations ci-dessus.

    ## Extract the DAC.
    $extractionunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $dbname, $applicationname, $version)
    $extractionunit.Description = $description
    $extractionunit.Extract($dacpacPath)
    
  7. Exécutez ExtractDAC.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.

Assistant Extraire l'application de la couche Données

Pour ouvrir l'Assistant Extraire l'application de la couche Données

  1. Dans l'Explorateur d'objets, développez Bases de données, cliquez avec le bouton droit sur une base de données, pointez sur Tâches, puis cliquez sur Extraire l'application de la couche Données.

  2. Suivez les étapes dans l'Assistant pour créer un package DAC basé sur la base de données sélectionnée. Pour plus d'informations, consultez Aide sur l'Assistant Extraction de l'application de la couche Données via la touche F1.

Historique des modifications

Mise à jour du contenu

Ajout de la section sur l'utilisation de PowerShell.