Déploiement d'applications de la couche Données

Une application de la couche Données (DAC) définit tous les objets de schéma et d'instance du moteur de base de données SQL Server (tels que les tables, les vues et les connexions) nécessaires pour prendre en charge une application. Une DAC est intégrée à un package DAC, qui est un fichier XML contenant un manifeste qui définit tous les objets du moteur de base de données utilisés par l'application, et qui est utilisé pour le déploiement de la DAC. Une DAC simplifie la gestion des objets de la couche Données en fournissant une unité unique pour le déploiement et la gestion.

Déploiement d'un package DAC

Vous devez générer un fichier de package DAC pour déployer une DAC. Le package DAC est le mécanisme de déploiement d'une DAC, de la même manière qu'un fichier exécutable d'application est le mécanisme de déploiement d'un fichier exécutable d'application. Pour plus d'informations sur la génération d'un fichier de package DAC, consultez Implémentation des applications de la couche Données.

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 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 l'affichage du contenu d'une DAC, consultez Procédure : valider un package DAC.

Une DAC peut être déployée vers une instance du Moteur de base de données, exécutée sur SQL Server 2005 Service Pack 4 ou version ultérieure ou sur SQL Azure. Les opérations DAC requièrent les outils clients de SQL Server 2008 R2 et peuvent requérir également DAC Framework 1.1. Pour plus d'informations, consultez Prise en charge DAC pour les objets et versions SQL Server.

L'Assistant Déployer une application de la couche Données effectue les opérations principales suivantes lorsqu'il déploie un package DAC :

  • Il demande des propriétés au moment du déploiement, telles que le nom de l'instance du moteur de base de données ou SQL Azure où la DAC sera déployée.

  • Il évalue la stratégie de positionnement DAC (si définie) par rapport à cette instance et signale la réussite ou l'échec de l'évaluation. Si une ou plusieurs des conditions de la stratégie ne sont pas remplies, vous pouvez décider de sélectionner une autre instance, de reconfigurer l'instance spécifiée ou d'ignorer les résultats de l'évaluation si vous pensez qu'ils ne sont pas critiques. Les conditions de stratégie qui ne s'appliquent pas à SQL Azure, par exemple la version de système d'exploitation, ont toujours la valeur False lors du déploiement vers une instance de SQL Azure.

  • Il crée une base de données et tous les objets définis dans la DAC. La base de données est créée avec les valeurs par défaut pour l'instance du moteur de base de données pour les propriétés telles que le mode de récupération. La base de données a un fichier de données et un fichier journal avec les propriétés suivantes :

    • Les emplacements de fichiers sont spécifiés dans le déploiement. Les emplacements de fichiers ne peuvent pas être spécifiés lors du déploiement vers SQL Azure.

    • La taille du fichier de données est de 3 Mo, avec un incrément de croissance d'1 Mo et aucune limite de taille.

    • La taille du fichier journal est d'1 Mo, avec un incrément de croissance de 10 % et une limite de taille de 2 To.

Dans SQL Server Management Studio, vous pouvez lancer l'Assistant Déployer une application de couche Données, en accédant au nœud Gestion sous un serveur dans Explorateur d'objets, en cliquant avec le bouton droit sur le nœud Applications de couche Données déployées, puis en sélectionnant Déployer une application de couche Données.

Après le déploiement, la base de données est gérée comme toute autre base de données. La configuration de la base de données s'effectue à l'aide de mécanismes communs, tels que l'instruction Transact-SQL ALTER DATABASE, les dialogues de gestion de la base de données dans Management Studio, ou en utilisant SMO (SQL Server Management Objects) dans le fournisseur SQL Server PowerShell. Le processus de déploiement doit inclure des étapes pour effectuer des modifications de configuration communes juste après le déploiement de la DAC, par exemple :

  • Création de fichiers et de groupes de fichiers, ou modification de la taille des fichiers

  • Mise en place et test d'un processus de sauvegarde et de restauration

  • Définition d'options de base de données

Pour plus d'informations, consultez Modification d'une base de données.

Mise à niveau d'une DAC déployée

Après avoir déployé la première version d'une DAC, l'équipe de développement peut développer une nouvelle version de l'application et la DAC. Pour plus d'informations sur la mise à niveau d'une DAC déployée vers une nouvelle version, consultez Mise à niveau des applications de la couche Données.

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.