Procédure : déployer une application de la couche Données

Utilisez l'Assistant Déployer une application de la couche Données pour déployer une application de la couche Données (DAC) à partir d'un package DAC sur une instance existante de SQL Azure ou de SQL Server 2005 SP4 ou version ultérieure. Le processus de déploiement enregistre une instance DAC en stockant la définition de la DAC dans la base de données système msdb (master dans SQL Azure), 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

Vous pouvez déployer une DAC vers une instance du Moteur de base de données de SQL Server 2005 Service Pack 4 (SP4) ou version ultérieure, ou bien vers SQL Azure. Vous devez utiliser les outils clients de SQL Server 2008 R2 et peut-être le DAC Framework 1.1. Pour plus d'informations, consultez Prise en charge DAC pour les objets et versions SQL Server.

Pour 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 StudioExplorateur de l'utilitaire et signalée dans la page Détails Applications de la couche Données déployées.

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

Spécifications

Lorsque vous êtes connecté à SQL Server 2005 SP4 ou version ultérieure, une DAC ne peut être déployée que par les membres des rôles serveur fixes sysadmin ou serveradmin, ou par les connexions situées dans 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 à SQL Azure requiert l'appartenance aux rôles loginmanager ou serveradmin. Le déploiement d'une DAC sans connexions à SQL Azure requiert l'appartenance aux rôles dbmanager ou serveradmin.

Remarque relative à la sécuritéRemarque relative à la sécurité

Nous vous recommandons de ne pas déployer de packages DAC provenant de sources inconnues ou non approuvées. Ces DAC 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 une DAC provenant d'une source inconnue ou non approuvée, décompressez-la et examinez également le code, par exemple les procédures stockées ou autre code défini par l'utilisateur. Pour plus d'informations sur l'affichage du contenu d'une DAC, consultez Procédure : valider un package DAC.

Mots de passe de connexion

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.

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 de base de données et le niveau de compatibilité sont définis avec les valeurs définies dans le package DAC. Un package créé à partir d'un projet DAC dans Visual Studio utilise les valeurs définies dans le projet DAC. 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 SQL Azure.

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.

Plusieurs déploiements

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.

Déployer une DAC à l'aide de PowerShell

Créez un fichier de script PowerShell (.ps1) contenant le code ci-dessous.

  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 ouvrir un objet ServerConnection et vous connecter à la même instance.

    ## 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)
    
  3. Ajoutez du code pour charger le fichier du package DAC. Dans cet exemple, le fichier MyApplication.dacpac est chargé.

    ## 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)
    
  4. Ajoutez du code pour vous inscrire aux événements de déploiement de la DAC.

    ## 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})
    
  5. Ajoutez du code pour déployer la DAC, créer la base de données et fermer le fichier du package DAC :

    ## 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()
    

Exécutez DeployDAC.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 Déployer l'application de la couche Données

Dans Management Studio, vous pouvez lancer l'Assistant Déployer une application de la couche Données en naviguant jusqu'au nœud Gestion sous un serveur dans l'Explorateur d'objets. Cliquez avec le bouton droit sur le nœud Applications de la couche Données déployées, puis sélectionnez Déployer une application de la couche Données.

L'Assistant déploie la DAC sur l'instance du moteur de base de données associée au nœud que vous avez sélectionné dans la hiérarchie de l'Explorateur d'objets. Par exemple, si vous lancez l'Assistant en cliquant avec le bouton droit sur le nœud serveur pour une instance nommée ProductionServer01/Accounting, la DAC sera déployée sur cette instance du moteur de base de données.

Cliquez sur un lien dans la liste ci-dessous pour accéder aux détails d'une page dans 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

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.

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.

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.

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 DAC valide ou annulez l'Assistant et générez un nouveau package 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.

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 SQL Azure : 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.

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 à SQL Azure et ne sont pas affichées lors du déploiement vers SQL Azure.

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.

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.

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.

Historique des modifications

Mise à jour du contenu

Ajout de la section sur l'utilisation de PowerShell.