Déployer une application de la couche Données

Vous pouvez déployer une application de la couche Données (DAC) sur une instance existante du Moteur de base de données ou de Base de données SQL à l'aide d'un Assistant ou d'un script PowerShell. Le processus de déploiement inscrit une instance DAC en stockant la définition de la DAC dans la base de données système msdb (master dans Base de données SQL), crée une base de données, puis remplit la base de données avec tous les objets de base de données définis dans la DAC.

  • Avant de commencer : Utilitaire SQL Server, Options et paramètres de base de données, Limitations et restrictions, Conditions préalables, Sécurité, Autorisations

  • Pour déployer une DAC en utilisant : L'Assistant Déployer une application de la couche Données, PowerShell

Avant de commencer

Un même package DAC peut être déployé plusieurs fois sur une instance unique du Moteur de base de données, mais les déploiements doivent être exécutés un par un. Le nom d'instance DAC spécifié pour chaque déploiement doit être unique dans l'instance du Moteur de base de données.

Pour plus d'informations sur la création d'un package DAC, consultez Présentation des applications de la couche Données.

Utilitaire SQL Server

Si vous déployez une DAC dans une instance gérée du moteur de base de données, la DAC déployée est incorporée dans l'utilitaire SQL Server lorsque 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 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.

Options et paramètres de bases de données

Par défaut, la base de données créée pendant le déploiement aura tous les paramètres par défaut de l'instruction CREATE DATABASE, sauf pour les exceptions suivantes :

  • Le classement et le niveau de compatibilité de la base de données sont définis avec les valeurs définies dans le package DAC. Un package DAC créé à partir d'un projet de base de données dans les outils de développement de SQL Server utilise les valeurs définies dans le projet de base de données. Un package extrait d'une base de données existante utilise les valeurs de la base de données d'origine.

  • Vous pouvez ajuster quelques-uns des paramètres de la base de données, tels que le nom de la base de données et les chemins d'accès aux fichiers, dans la page Mettre à jour la configuration. Vous ne pouvez pas définir les chemins d'accès aux fichiers lors du déploiement vers Base de données SQL.

Certaines options de base de données, telles que TRUSTWORTHY, DB_CHAINING et HONOR_BROKER_PRIORITY, ne peuvent pas être ajustées dans le cadre du processus de déploiement. Des propriétés physiques, telles que le nombre de groupes de fichiers ou le nombre et la taille des fichiers, ne peuvent pas être modifiées dans le cadre du processus de déploiement. Une fois le déploiement terminé, vous pouvez utiliser l'instruction ALTER DATABASE, SQL Server Management Studio ou SQL Server PowerShell pour personnaliser la base de données. Pour plus d'informations, consultez Modification d'une base de données.

[Haut de la page]

Limitations et restrictions

Une DAC peut être déployée vers Base de données SQL ou une instance du Moteur de base de données qui exécute SQL Server 2005 Service Pack 4 ou version ultérieure. Si vous créez une DAC à l'aide de SQL Server 2012 ou de SQL Server 2008 R2, elle peut contenir des objets non pris en charge par SQL Server 2005. Vous ne pouvez pas déployer ces DAC vers les instances de SQL Server 2005.

[Haut de la page]

Configuration requise

Nous vous recommandons de ne pas déployer un package DAC provenant de sources inconnues ou non approuvées. De tels packages peuvent contenir du code malveillant susceptible d'exécuter un code Transact-SQL indésirable ou de provoquer des erreurs en modifiant le schéma. Avant d'utiliser un package provenant d'une source inconnue ou non approuvée, décompressez la DAC et vérifiez le code, par exemple les procédures stockées ou autre code défini par l'utilisateur. Pour plus d'informations sur la façon de procéder à ces vérifications, consultez Valider un package DAC.

[Haut de la page]

Sécurité

Pour améliorer la sécurité, les connexions d'authentification SQL Server sont stockées dans un package DAC sans mot de passe. Lorsque le package est déployé ou mis à niveau, la connexion est créée en tant que connexion désactivée avec un mot de passe généré. Pour activer les connexions, connectez-vous à l'aide d'une connexion qui possède l'autorisation ALTER ANY LOGIN et utilisez ALTER LOGIN pour activer la connexion et affecter un nouveau mot de passe pouvant être communiqué à l'utilisateur. Cela n'est pas nécessaire pour les connexions d'authentification Windows, car leurs mots de passe ne sont pas gérés par SQL Server.

[Haut de la page]

Autorisations

Une DAC ne peut être déployée que par les membres des rôles serveur fixes sysadmin ou serveradmin, ou par les connexions ayant le rôle serveur fixe dbcreator et disposant d'autorisations ALTER ANY LOGIN. Le compte d'administrateur système SQL Server intégré nommé sa peut également déployer une DAC. Le déploiement d'une DAC avec des connexions à Base de données SQL requiert l'appartenance aux rôles loginmanager ou serveradmin. Le déploiement d'une DAC sans connexions à Base de données SQL requiert l'appartenance aux rôles dbmanager ou serveradmin.

[Haut de la page]

Utilisation de l'Assistant Déployer une application de la couche Données

Pour déployer une DAC à l'aide d'un Assistant

  1. Dans l'Explorateur d'objets, développez le nœud pour l'instance vers laquelle vous voulez déployer la DAC.

  2. Cliquez avec le bouton droit sur le nœud Bases de données, puis sélectionnez Déployer une application de la couche Données....

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

    • Page Introduction

    • Page Sélectionner le package DAC

    • Page Vérifier la stratégie

    • Page Mettre à jour la configuration

    • Page Résumé

    • Page Déployer

[Haut de la page]

Page Introduction

Cette page décrit les étapes de déploiement 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 Sélectionner le package DAC.

Annuler - Met fin à l'Assistant sans déployer de DAC.

[Assistant de déploiement]

Page Sélectionner le package DAC

Utilisez cette page pour spécifier le package DAC qui contient l'application de la couche Données à déployer. La page passe par trois états.

[Assistant de déploiement]

Sélectionner le package DAC

Utilisez l'état initial de la page pour choisir le package DAC à déployer. Le package DAC doit être un fichier de package DAC valide et doit avoir une extension .dacpac.

Package DAC - Spécifie le chemin d'accès et le nom du fichier du package DAC qui contient l'application de la couche Données à déployer. Vous pouvez sélectionner le bouton Parcourir à droite de la zone pour accéder à l'emplacement du package DAC.

Nom de l'application - Zone en lecture seule qui affiche le nom affecté à la DAC lors se la création ou de son extraction à partir d'une base de données.

Version - Zone en lecture seule qui affiche la version affectée lors de la création de la DAC ou de son extraction à partir d'une base de données.

Description - Zone en lecture seule qui affiche la description écrite lors de la création de la DAC ou de son extraction à partir d'une base de données.

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

Suivant > - Affiche une barre de progression quand l'Assistant confirme que le fichier sélectionné est un package DAC valide.

Annuler - Met fin à l'Assistant sans déployer la DAC.

[Assistant de déploiement]

Validation du package DAC

Affiche une barre de progression quand l'Assistant confirme que le fichier sélectionné est un package DAC valide. Si le package DAC est validé, l'Assistant passe à la dernière version de la page Sélectionner un package où vous pouvez examiner les résultats de la validation. Si le fichier n'est pas un package DAC valide, l'Assistant reste sur la page Sélectionner le package DAC. Sélectionnez un autre package de DAC valide ou annulez l'Assistant et générez un nouveau package de DAC.

Validation du contenu de la DAC - Barre de progression qui indique l'état actuel de la validation.

< Précédent - Retourne à l'état initial de la page Sélectionner un package.

Suivant > - Passe à la dernière version de la page Sélectionner un package.

Annuler - Met fin à l'Assistant sans déployer la DAC.

[Assistant de déploiement]

Page Vérifier la stratégie

Utilisez cette page pour vérifier les résultats de l'évaluation de la stratégie de sélection du serveur de la DAC, si la DAC a une stratégie. La stratégie de sélection du serveur de la DAC est facultative et est affectée à la DAC lorsque celle-ci est créée dans Visual Studio. La stratégie utilise les facettes de la stratégie de sélection du serveur pour spécifier les conditions que doit remplir une instance du Moteur de base de données pour héberger la DAC.

Résultats de l'évaluation des conditions de stratégie - Rapport en lecture seule indiquant si les conditions de la stratégie de déploiement de la DAC sont remplies. Les résultats de l'évaluation de chaque condition sont indiqués sur des lignes distinctes.

Les stratégies de sélection du serveur suivantes ont toujours la valeur False lors du déploiement d'une DAC vers Base de données SQL : version de système d'exploitation, langue, canaux nommés activés, plateforme et tcp activé.

Ignorez les violations de stratégie : utilisez cette case à cocher pour poursuivre le déploiement en cas d'échec d'une ou de plusieurs des conditions de stratégie. Ne sélectionnez cette option que si vous êtes sûr que toutes les conditions qui ont échoué n'empêcheront pas l'opération de la DAC de réussir.

< Précédent - Retourne à la page Sélectionner un package.

Suivant > - Passe à la page Mettre à jour la configuration.

Annuler - Met fin à l'Assistant sans déployer la DAC.

[Assistant de déploiement]

Page Mettre à jour la configuration

Utilisez cette page pour spécifier les noms de l'instance DAC déployée et de la base de données créées par le déploiement, et pour définir des options de base de données.

Nom de la base de données : - Spécifie le nom de la base de données qui sera créée par le déploiement. La valeur par défaut est le nom de la base de données source d'où la DAC a été extraite. Le nom doit être unique dans l'instance du Moteur de base de données et respecter les règles des identificateurs du Moteur de base de données.

Si vous modifiez le nom de la base de données, les noms du fichier de données et des fichiers journaux changeront pour correspondre à la nouvelle valeur.

Le nom de la base de données est également utilisé comme nom de l'instance de la DAC. Le nom de l'instance est affiché dans le nœud de la DAC sous le nœud Applications de la couche Données dans l'Explorateur d'objets ou sous le nœud Applications de la couche Données déployées dans l'Explorateur de l'utilitaire.

Les options suivantes ne s'appliquent pas à Base de données SQL et ne sont pas affichées lors du déploiement vers Base de données SQL.

Utiliser l'emplacement de la base de données par défaut : sélectionnez cette option pour créer les fichiers de données de la base de données et les fichiers journaux dans l'emplacement par défaut de l'instance du Moteur de base de données. Les noms de fichier seront composés à partir du nom de la base de données.

Spécifier les fichiers de base de données - Sélectionnez cette option pour spécifier un emplacement ou un nom différent pour les fichiers de données et les fichiers journaux.

Nom et chemin d'accès du fichier de données : - Spécifie le chemin d'accès complet et le nom de fichier de la base de données. La zone est renseignée avec le chemin d'accès et le nom de fichier par défaut. Modifiez la chaîne dans la zone pour modifier la valeur par défaut ou utilisez le bouton Parcourir pour accéder au dossier où le fichier de données sera placé.

Nom et chemin d'accès du fichier journal : - Spécifie le chemin d'accès complet et le nom du fichier journal. La zone est renseignée avec le chemin d'accès et le nom de fichier par défaut. Modifiez la chaîne dans la zone pour modifier la valeur par défaut ou utilisez le bouton Parcourir pour accéder au dossier où le fichier journal sera placé.

< Précédent - Retourne à la page Sélectionner le package DAC.

Suivant > - Passe à la page Résumé.

Annuler - Met fin à l'Assistant sans déployer la DAC.

[Assistant de déploiement]

Page Résumé

Utilisez cette page pour vérifier les mesures que l'Assistant prendra lors du déploiement de la DAC.

Les paramètres suivants seront utilisés pour déployer votre DAC. - Vérifiez les informations affichées pour vous assurer que les actions prises seront correctes. La fenêtre affiche le package DAC que vous avez sélectionné et le nom que vous avez sélectionné pour l'instance DAC déployée. La fenêtre affiche également les paramètres qui seront utilisés lors de la création de la base de données associée à la DAC.

< Précédent - Vous renvoie à la page Mettre à jour la configuration pour modifier vos sélections.

Suivant >- Déploie la DAC et affiche les résultats dans la page Déployer une DAC.

Annuler - Met fin à l'Assistant sans déployer la DAC.

[Assistant de déploiement]

Page Déployer

Cette page signale la réussite ou l'échec de l'opération de déploiement.

Déploiement de la DAC - Signale la réussite ou l'échec de chaque action entreprise pour déployer 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 de déploiement 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 le dossier SQL Server Management Studio\DAC Packages dans le dossier Documents de votre compte Windows.

Terminer - Termine l'Assistant.

[Assistant de déploiement]

Utilisation de PowerShell

Pour déployer une DAC à l'aide de la méthode Install() dans un script PowerShell

  1. Créez un objet serveur SMO et affectez-lui l'instance à laquelle vous voulez déployer la DAC.

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

  3. Utilisez System.IO.File pour charger le fichier de package DAC.

  4. Utilisez add_DacActionStarted et add_DacActionFinished pour vous abonner aux événements de déploiement de la DAC.

  5. Définissez DatabaseDeploymentProperties.

  6. Utilisez la méthode DacStore.Install pour déployer la DAC.

  7. Fermez le flux de fichier utilisé pour lire le fichier de package DAC.

[Haut de la page]

Exemple (PowerShell)

L'exemple suivant déploie une DAC nommée MyApplication sur une instance par défaut du Moteur de base de données en utilisant une définition de DAC d'un package de MyApplication.dacpac.

## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$srv = get-item .

## Open a Common.ServerConnection to the same instance.
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.ConnectionContext.SqlConnectionObject)
$serverconnection.Connect()
$dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverconnection)

## Load the DAC package file.
$dacpacPath = "C:\MyDACs\MyApplication.dacpac"
$fileStream = [System.IO.File]::Open($dacpacPath,[System.IO.FileMode]::OpenOrCreate)
$dacType = [Microsoft.SqlServer.Management.Dac.DacType]::Load($fileStream)

## Subscribe to the DAC deployment events.
$dacstore.add_DacActionStarted({Write-Host `n`nStarting at $(get-date) :: $_.Description})
$dacstore.add_DacActionFinished({Write-Host Completed at $(get-date) :: $_.Description})

## Deploy the DAC and create the database.
$dacName  = "MyApplication"
$evaluateTSPolicy = $true
$deployProperties = New-Object Microsoft.SqlServer.Management.Dac.DatabaseDeploymentProperties($serverconnection,$dacName)
$dacstore.Install($dacType, $deployProperties, $evaluateTSPolicy)
$fileStream.Close()

[Haut de la page]

Voir aussi

Concepts

Applications de la couche Données

Extraire une DAC d'une base de données

Identificateur de la base de données.