Partager via


Construction ou actualisation d'une base de données de rapports

Cette rubrique explique comment créer ou actualiser une base de données de rapports destinée à être utilisée comme base de données partagée évolutive. Une base de données de rapports peut être une copie d'une base de données de production, comme dans cette figure, ou la base de données de rapports peut contenir des données de création de rapports importées d'une ou de plusieurs bases de données de production. Les processus de construction et d'actualisation d'une base de données de rapports sont connus sous les termes phase de construction et phase d'actualisation, selon qu'une base de données de rapports est en cours de construction ou qu'une base de données de rapports obsolète est en cours d'actualisation.

La vie d'une base de données partagée évolutive commence par la construction d'une nouvelle base de données de rapports sur un ensemble de volumes de rapports. Parfois, des données de création de rapport deviennent trop obsolètes pour être utiles et la base de données de rapports est dite obsolète. Une base de données de rapports obsolète est actualisée dans le cadre de chaque cycle de mise à jour. L'actualisation d'une base de données de rapports obsolète implique soit la mise à jour de ses données, soit la construction d'une version entièrement nouvelle de la base de données.

Pour créer ou actualiser une base de données de rapports, vous pouvez utiliser l'une des méthodes de copie de données fournies par SQL Server pour la copie de données ou de bases de données. Pour plus d'informations, consultez « Méthodes de construction ou d'actualisation d'une base de données de rapports » plus loin dans cette rubrique.

Méthodes de construction ou d'actualisation d'une base de données de rapports

Notes

Avant de construire ou d'actualiser une base de données de rapports, il convient de monter son ensemble de volumes de rapports sur le serveur de production et chacun des volumes doit être marqué comme accessible en lecture-écriture. Pour une description de toutes les étapes de ce processus, consultez « Étapes de construction ou d'actualisation de la base de données », plus loin dans cette rubrique.

SQL Server 2005 et les versions ultérieures prennent en charge les méthodes ci-dessous de construction ou d'actualisation d'une base de données de rapports :

  • SQL Server Integration Services (SSIS)

    Vous pouvez créer ou copier une base de données en exécutant des packages SSIS et en utilisant la tâche d'exécution de requêtes SQL ou la tâche de transfert de bases de données :

    • La tâche d'exécution de requêtes SQL exécute des instructions ou des procédures stockées SQL à partir d'un package. À l'aide de la tâche d'exécution de requêtes SQL, vous pouvez créer une base de données en exécutant une instruction CREATE DATABASE, puis en remplissant la base de données en effectuant une copie dans une ou plusieurs tables ou vues. Pour plus d'informations, consultez Tâche d'exécution SQL SSIS.

    • La tâche de transfert de bases de données peut copier une base de données au sein de la même instance de serveur ou entre des instances. Pour plus d'informations, consultez Tâche de transfert de bases de données.

    Notes

    Vous pouvez également créer une base de données à l'aide de l'Assistant Importation et Exportation SQL Server, mais vous devez copier au moins une table ou une vue. Pour plus d'informations, consultez Utilisation de l'Assistant Importation et exportation SQL Server pour déplacer des données.

  • Sauvegarde et restauration

    Vous pouvez restaurer une sauvegarde d'une base de données de production sur le volume de rapports. Cela implique la restauration et la récupération d'une sauvegarde complète de base de données sur le volume de rapports.

    • Si vous utilisez la même lettre de lecteur, montez le volume de rapports sur un hôte différent et connectez-vous à une instance de serveur pour y restaurer la base de données.

    • Si le volume de rapports utilise une lettre de lecteur différente à partir du volume de production, vous devez ajouter une clause WITH MOVE dans votre instruction RESTORE DATABASE qui spécifie la lettre de lecteur du volume de rapports dans le chemin d'accès de la base de données restaurée.

    Pour plus d'informations sur l'utilisation des opérations de sauvegarde et de restauration pour copier une base de données, consultez Copie de bases de données avec la sauvegarde et la restauration.

  • Copie de la base de données de production

    Avant de pouvoir copier une base de données manuellement ou utiliser la méthode de détachement et d'attachement de l'Assistant Copie de base de données, vous devez mettre la base de données hors connexion et la remettre en ligne après l'avoir copiée. L'Assistant Copie de base de données, toutefois, offre une méthode alternative, la méthode de transfert SMO, qui copie la base de données alors qu'elle est en ligne. Bien que plus lente que la méthode de détachement et d'attachement, la méthode de transfert SMO a l'avantage de préserver les connexions actives à la base de données.

    Pour plus d'informations, consultez Utilisation de l'Assistant Copie de base de données.

Notes

Nous vous conseillons de toujours utiliser le même chemin d'accès pour les bases de données de production et de création de rapports lors de la construction d'une base de données de rapports, et, si possible, la même lettre de lecteur pour le volume de production et de création de rapports (lorsqu'il est monté sur les serveurs de rapports).

Il peut être bénéfique d'optimiser la base de données de rapports pour la charge de travail des requêtes anticipée. De telles optimisations peuvent inclure :

  • la mise à jour ou la recréation de statistiques sur les tables et les index affectés, le cas échéant ;

  • la reconstruction d'index avec un facteur FILL de 100 ;

  • le basculement de la base de données de rapports en mode de récupération simple et la réalisation d'un point de contrôle pour tronquer le journal des transactions et enregistrer l'espace du journal.

Notes

Pour obtenir des instructions sur l'utilisation d'une base de données de rapports comme base de données partagée évolutive, consultez Vérification d'un environnement correct pour une base de données partagée évolutive.

Lorsque la base de données est prête, vous devez marquer les volumes de rapports en lecture seule et les démonter du serveur de production. Pour plus d'informations, consultez « Étapes des phases de construction et d'actualisation », plus loin dans cette rubrique.

Étapes des phases de construction et d'actualisation

Notes

Avant de pouvoir actualiser une base de données de rapports, son ensemble de volumes de rapports doivent avoir été démontés de tous les serveurs de rapports. Pour plus d'informations, consultez Détachement d'une base de données partagée évolutive.

Pour construire ou actualiser une base de données de rapports, procédez comme suit sur le serveur de production :

  1. À l'aide des utilitaires des fabricants de matériel, démasquez le numéro d'unité logique correspondant à chaque volume de rapports pour rendre le volume accessible au serveur de production. Si la base de données utilise plusieurs volumes de rapports, effectuez cette opération pour chaque volume.

  2. Montez chaque volume de rapports et marquez-le comme accessible en lecture-écriture. La commande DiskPart list volumes, qui affiche tous les disques et les volumes d'un ordinateur, est utile pour obtenir les informations de volume. Pour utiliser l'utilitaire DiskPart pour monter le volume, à l'invite de commandes, entrez les commandes suivantes :

    DiskPart

    DISKPART> select volume=<drive-number>

    DISKPART> assign letter=<drive-letter>

    DISKPART> attribute clear readonly

    DISKPART> exit

    Où <drive-number> est le numéro de volume attribué par le système d'exploitation Windows et <drive-letter> est la lettre attribuée au volume de rapports. Si la base de données utilise plusieurs volumes de rapports, effectuez cette opération pour chaque volume.

  3. Si vous actualisez une base de données de rapports existante :

  4. Construisez ou actualisez la base de données.

    L'administrateur construit ou actualise la base de données à l'aide d'une des méthodes de construction ou d'actualisation d'une base de données de rapports. La base de données de rapports peut utiliser un nom de base de données valide quelconque. Pour plus d'informations, consultez « Méthodes de construction ou de mise à jour d'une base de données », plus haut dans cette rubrique.

    Notes

    Dans les bases de données de rapports, nous vous conseillons d'attribuer la valeur par défaut CHECKSUM à PAGE_VERIFY. Pour plus d'informations, consultez ALTER DATABASE (Transact-SQL).

  5. Détachez la base de données de l'instance de serveur de production.

    Vous pouvez effectuer cela à l'aide de l'instruction Transact-SQL suivante :

    sp_detach_db @dbname='<database_name>'
    

    Où <database_name> est le nom de la base de données.

    Notes

    Par défaut, sp_detach_db exécute UPDATE STATISTICS pour rééchantillonner les statistiques. Toutefois, certaines implémentations peuvent exiger que vous exécutiez UPDATE STATISTICS séparément avec l'option FULL SCAN.

  6. Marquez chaque volume de rapports comme accessible en lecture seule et démontez-le du serveur de production.

    Pour utiliser l'utilitaire DiskPart pour démonter le volume, à l'invite de commandes, entrez les commandes suivantes :

    DiskPart

    DISKPART> select volume=<drive-number>

    DISKPART> attribute set readonly

    DISKPART> remove

    Où <drive-number> est le numéro de volume attribué par le système d'exploitation Windows et <drive-letter> est la lettre attribuée au volume de rapports. Si la base de données utilise plusieurs volumes de rapports, effectuez cette opération pour chaque volume.

    Important

    Les volumes de rapports doivent être accessibles en lecture seule avant d'être démontés du serveur de production.

La base de données de rapports peut à présent être proposée comme base de données partagée évolutive. Pour plus d'informations, consultez Attachement d'une base de données de rapports en tant que base de données partagée évolutive.