Share via


Déployer une application de la couche Données

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Déployez une application de la couche Données (DAC) à partir d’un package DAC sur une instance existante du moteur de base de données ou de la base de données Azure 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 DAC dans la msdb base de données système (master dans SQL Database) ; crée une base de données, puis remplit cette base de données avec tous les objets de base de données définis dans la DAC.

Déployer plusieurs fois le même package DAC

Vous pouvez déployer le même package DAC sur une seule instance du moteur de base de données plusieurs fois, mais vous devez exécuter les déploiements un par un. Le nom de l’instance DAC spécifié pour chaque déploiement doit être unique dans l’instance du moteur de base de donné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 sur SQL Database.

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. Les propriétés physiques, telles que le nombre de groupes de fichiers, ou les nombres et tailles de fichiers ne peuvent pas être modifiés 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.

Limitations et restrictions

Une DAC peut être déployée sur SQL Database ou une instance du moteur de base de données exécutant SQL Server 2005 (9.x) Service Pack 4 (SP4) ou version ultérieure. Si vous créez une DAC à l’aide d’une version ultérieure, la DAC peut contenir des objets non pris en charge par SQL Server 2005 (9.x). Vous ne pouvez pas déployer ces DACs sur des instances de SQL Server 2005 (9.x).

Sécurité et autorisations

Les connexions d’authentification 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.

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 avec les 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 Database nécessite l’appartenance aux rôles loginmanager ou serveradmin. Le déploiement d’une DAC sans connexion à SQL Database nécessite l’appartenance aux rôles dbmanager ou serveradmin.

Déployer une DAC à l’aide de l’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. Terminez les boîtes de dialogue de l’Assistant et sélectionnez Terminer.

Plus d’informations sur certaines pages de l’Assistant sont fournies ci-dessous :

Page Sélectionner le package DAC

Spécifiez 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

Choisissez le package DAC à déployer. Le package de la DAC doit être un fichier de package de DAC valide et doit avoir une extension .dacpac.

Package DAC : spécifie le chemin et le nom de 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 de DAC.

Nom de l’application : zone en lecture seule qui affiche le nom affecté à la DAC au moment où elle a été créée ou extraite d’une base de données.

Version : zone en lecture seule qui affiche la version affectée au moment où la DAC a été créée ou extraite d’une base de données.

Description : zone en lecture seule qui affiche la description écrite au moment où la DAC a été créée ou extraite d’une base de données.

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

Page Vérifier la stratégie

Vérifiez les résultats de l’évaluation de la stratégie de sélection du serveur de la DAC (si elle est utilisée). La stratégie de sélection du serveur DAC est facultative et est affectée à la DAC lorsqu’elle est créée dans Visual Studio. La stratégie utilise les facettes de stratégie de sélection du serveur pour spécifier les conditions qu’une instance du moteur de base de données doit respecter pour héberger la DAC.

Résultats de l’évaluation des conditions de stratégie - Indiquent 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 de serveur suivantes sont toujours évaluées sur false lors du déploiement d’une DAC sur SQL Database : version du système d’exploitation, langage, canaux nommés activés, plateforme et tcp activés.

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. Sélectionnez cette option uniquement si vous êtes sûr que toutes les conditions qui ont échoué n’empêchent pas l’opération réussie de la DAC.

Page Mettre à jour la configuration

Spécifiez 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 changent 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 s’affiche sur le nœud de la DAC sous le nœud Applications de la couche Données dans l’Explorateur d’objets.

Les options suivantes ne s’appliquent pas à SQL Database et ne s’affichent pas lors du déploiement sur SQL Database.

Utilisez l’emplacement de la base de données par défaut : sélectionnez cette option pour créer les données de base de données et les fichiers journaux à l’emplacement par défaut de l’instance du moteur de base de données. Les noms de fichiers sont générés à l’aide 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 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 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é.

Page Résumé

Utilisez cette page pour passer en revue les actions effectuées par l’Assistant 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.

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 le rapport de d'erreur de 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.

Utiliser 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.

L’exemple suivant déploie une DAC nommée MyApplication sur une instance par défaut du moteur de base de données, à l’aide d’une définition DAC à partir d’un package MyApplication.dacpac.

Exemples PowerShell

L’exemple suivant déploie une DAC nommée MyApplication sur une instance par défaut du moteur de base de données, à l’aide d’une définition DAC à partir d’un package MyApplication.dacpac.

## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$server = Get-Item .
  
## Open a Common.ServerConnection to the same instance.
$serverConnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($server.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()

Informations complémentaires