Présentation des applications de la couche Données

Une application de la couche Données (DAC) est une entité qui contient tous les objets d'instance et de base de données utilisés par une application. Elle fournit une unité unique de création, déploiement et gestion des objets de la couche Données et évite ainsi de devoir les gérer séparément. Elle permet une intégration plus étroite du développement de la couche Données avec celui du code de l'application associée. Elle procure par ailleurs aux administrateurs une vue de niveau application sur l'utilisation des ressources dans leurs systèmes.

Utilisation des applications de la couche Données

Utilisez les processus suivants pour travailler avec une DAC :

  • Tout d'abord, créez un type ou une définition d'application de la couche Données qui spécifie les objets utilisés par l'application associée. La définition de la DAC est ensuite intégrée à un package DAC, ce qui correspond au fichier utilisé pour déployer et mettre à niveau la DAC. Il existe deux méthodes permettant de créer une définition et un package DAC :

    • Ouvrez un projet d'application de la couche Données dans Microsoft Visual Studio 2010 et spécifiez les objets qui composent la DAC. Lorsque vous générez le projet de la DAC, Visual Studio compile une définition de la DAC et la place dans un package DAC.

    • Extrayez une définition de la DAC d'une base de données existante et créez un package DAC à l'aide de l'Assistant Extraire l'application de la couche Données.

    Pour plus d'informations, consultez Implémentation des applications de la couche Données.

  • Le package DAC est déployé sur une instance du moteur de base de données à l'aide de l'Assistant Déployer une application de la couche Données. Le déploiement du package DAC est habituellement coordonné avec le déploiement des fichiers exécutables d'application. Le déploiement crée une instance de la DAC, qui comporte deux parties principales :

    • La définition de la DAC est stockée dans la base de données système msdb (base de données master dans SQL Azure).

    • Une base de données utilisateur est créée et remplie avec les objets spécifiés dans la définition de la DAC.

    Si l'instance du moteur de base de données est une instance gérée dans l'utilitaire SQL Server, la DAC est téléchargée vers le point de contrôle utilitaire comme une DAC déployée.

    Pour plus d'informations, consultez Déploiement d'applications de la couche Données.

  • Les applications se connectent à la base de données associée à la DAC. Les administrateurs peuvent surveiller et gérer la base de données associée à la DAC à l'aide des procédures établies. Toutefois, ils peuvent obtenir des informations supplémentaires de la DAC même :

    • Le nœud Applications de la couche Données déployées de l'Explorateur de l'utilitaireSQL Server Management Studio (SSMS) présente un rapport d'utilisation des ressources par application qui permet aux administrateurs d'évaluer plus rapidement l'intégrité de leurs instances d'application de la couche Données.

    • Le nœud Applications de la couche Données de l' Explorateur d'objets de Management Studio signale des propriétés pour chaque instance de la DAC.

  • Une DAC simplifie le processus de prise en charge des mises à niveau d'une version d'une base de données vers une autre. Lors du déploiement de bases de données à l'aide de scripts Transact-SQL, les développeurs de base de données doivent générer deux jeux de scripts pour chaque version de la base de données après la première. L'un d'eux peut être utilisé pour effectuer une mise à niveau d'une base de données existante vers la nouvelle version, tandis que l'autre peut servir à installer une nouvelle base de données. Lorsqu'il utilise des DAC, le développeur de base de données doit seulement générer un package DAC qui décrit le schéma utilisé par la nouvelle version de l'application. Vous pouvez utiliser le package avec l'Assistant Déployer une application de la couche Données pour installer une nouvelle instance de la DAC. Vous pouvez utiliser le même package avec l'Assistant Mettre à niveau une application de la couche Données pour mettre à niveau une instance DAC existante. L'Assistant Mettre à niveau une application de la couche Données compare les deux schémas et effectue dynamiquement les actions nécessaires pour transformer l'instance DAC existante en la nouvelle version de la DAC.

    Pour plus d'informations, consultez Mise à niveau des applications de la couche Données.

  • La DAC peut être supprimée de l'instance du moteur de base de données à l'aide de l'Assistant Supprimer une application de la couche Données.

Pour plus d'informations sur la génération et l'utilisation d'une DAC, consultez la rubrique Didacticiels concernant l'application de couche Données.

Éléments d'une application de la couche Données

Une définition de la DAC contient les éléments suivants :

  • Les propriétés de la DAC qui en définissent des caractéristiques. Par exemple, chaque DAC a une propriété de nom d'application et une propriété de version dont les valeurs sont en général en rapport avec le nom et le numéro de version de l'application associée.

  • Les définitions de tous les objets de base de données utilisées par l'application, tels que les schémas, tables, vues et procédures stockées. Les DAC créées à l'aide de SQL Server 2008 R2 ou de Visual Studio 2010 ne prennent pas en charge tous les objets SQL Server disponibles. Pour plus d'informations, consultez Prise en charge DAC pour les objets et versions SQL Server.

  • Les définitions des objets au niveau de l'instance, tels que les connexions, qui sont associées aux objets de la base de données et sont utilisées par l'application.

  • Une stratégie de sélection du serveur qui définit la configuration requise pour une instance du moteur de base de données destinée à héberger la DAC. La stratégie est définie à l'aide de la facette Sélection du serveur et peut évaluer des conditions telles que l'édition et le classement par défaut de l'instance.

  • Les fichiers et les scripts qui peuvent être intégrés à la définition de la DAC lorsque celle-ci est créée dans Visual Studio. Exemples : documents d'application, plans de génération de données qui spécifient comment créer des données de test pertinentes ou scripts antérieurs et ultérieurs au déploiement.

Projet d'application de la couche Données

En général, une DAC est développée dans Visual Studio 2010 par un développeur de base de données à l'aide d'un projet d'application de la couche Données. Le développeur de base de données définit les objets de la couche Données requis par l'application que la DAC en cours de développement est destinée à prendre en charge. Lorsque la DAC est prête pour les développeurs d'applications ou l'équipe de test, le développeur de base de données génère le projet DAC, qui crée un fichier de package DAC pouvant être utilisé pour déployer la DAC.

Pour plus d'informations sur les projets DAC, consultez Implémentation des applications de la couche Données.

Package d'application de la couche Données

Lorsqu'une DAC est prête à être déployée, elle est intégré à un package DAC, c'est-à-dire un fichier contenant la définition de la DAC. Le package DAC est une unité unique de déploiement, à peu près de la même manière qu'un fichier exécutable est l'unité de déploiement pour le code d'application. Habituellement, un package DAC est construit conjointement à un fichier exécutable d'application. Lorsque les administrateurs système déploient le fichier exécutable sur les ordinateurs clients ou sur la couche application, les administrateurs de base de données déploient le package DAC associé dans une instance du moteur de base de données. 

Par exemple, une équipe de développement développe une application 3 couches nommée Finance. Le build 1.0.1.123 de l'application passe tous les tests d'acceptation et est prêt au déploiement en production. Les développeurs d'applications fournissent une version 1.0.1.123 du fichier Finance.exe aux administrateurs système de production pour le déploiement sur les serveurs d'applications de production. Les développeurs de base de données fournissent une version 1.0.1.123 du fichier Finance.dacpac aux administrateurs de base de données de production pour le déploiement vers une instance de production du moteur de base de données.

Un package DAC est un fichier zip contenant plusieurs fichiers XML. Pour plus d'informations sur le contenu d'un fichier de package DAC, consultez Documents relatifs aux formats de fichier Microsoft SQL Server.

Instance d'application de la couche Données

Lorsqu'une DAC est déployée sur une instance du moteur de base de données, elle forme une instance DAC :

  • Une base de données est créée à l'aide des propriétés de base de données par défaut pour cette instance du moteur de base de données. Les objets de base de données définis dans la DAC sont créés dans la nouvelle base de données.

  • Tous les objets au niveau de l'instance définis dans la DAC, tels que les connexions, sont créés.

  • La définition d'origine de la DAC et les métadonnées concernant l'instance de la DAC sont stockées dans la base de données système msdb (base de données master dans SQL Azure).

Après avoir déployé l'instance, les utilisateurs peuvent commencer à travailler avec les objets et à ajouter des données à la base de données créée pour la DAC.

Création d'applications de la couche Données pour les bases de données existantes

Vous pouvez utiliser l'Assistant Extraction de l'application de la couche Données pour extraire une définition de la DAC à partir d'une base de données existante. La définition de la DAC contient les objets sélectionnés à partir de la base de données, ainsi que des objets associés au niveau de l'instance tels que les connexions qui les mappent aux utilisateurs de base de données. L'Assistant intègre la définition de la DAC à un package DAC. Ensuite, le package DAC extrait est en général importé vers un projet DAC dans Visual Studio où démarre alors le développement sur la version suivante de l'application. Vous pouvez également utiliser le package extrait pour déployer la DAC sur une autre instance du moteur de base de données.

Vous pouvez également utiliser l'Assistant Inscrire l'application de la couche Données pour inscrire une DAC pour une base de données existante. L'Assistant crée une définition de la DAC qui inclut les objets de la base de données existante, puis stocke la définition dans la base de données msdb (base de données master dans SQL Azure). Si l'instance du moteur de base de données est une instance gérée dans l'utilitaire SQL Server, l'inscription de la DAC est téléchargée vers le point de contrôle de l'utilitaire comme une DAC déployée.