Migration d'une configuration de la copie des journaux de transaction SQL Server 2000 vers SQL Server 2008

Il est impossible de mettre à niveau une configuration de la copie des journaux de transaction SQL Server 2000 vers SQL Server 2008. L'Assistant Plan de maintenance de base de données, qui faisait partie intégrante de la copie des journaux de transaction dans SQL Server 2000, n'est pas utilisé dans le cadre de la configuration de la copie des journaux de transaction dans SQL Server 2005. Par conséquent, la copie des journaux de transaction ne fonctionne plus lorsque vous mettez à niveau un serveur vers SQL Server 2008.

Vous pouvez migrer une configuration de la copie des journaux de transaction SQL Server 2000. Cette rubrique décrit les méthodes permettant d'effectuer cette opération :

  • La migration avec basculement vous permet de préserver la disponibilité de la base de données pendant la mise à niveau de chaque serveur dans la configuration de la copie des journaux de transaction. La base de données secondaire n'a pas besoin d'être réinitialisée.

  • La migration sans basculement est une procédure plus simple, qui n'impose pas le basculement vers le serveur secondaire. Si vous suivez cette procédure, votre base de données n'est pas disponible pendant la mise à niveau du serveur principal. La base de données secondaire n'a pas besoin d'être réinitialisée.

  • Redéployez complètement la copie des journaux de transaction, réinitialisation incluse de la base de données secondaire à partir d'une sauvegarde complète.

Une fois achevée la migration de votre configuration de la copie des journaux de transaction vers SQL Server 2008, vous pouvez supprimer les tables et les travaux de l'Agent SQL Server créés par la copie des journaux de transaction SQL Server 2000.

[!REMARQUE]

La compression de la sauvegarde a été introduite dans SQL Server 2008 Enterprise. Une configuration migrée de la copie des journaux de transaction utilise l'option de configuration du niveau serveur de la compression de la sauvegarde par défaut afin de contrôler si la compression de la sauvegarde est utilisée pour les fichiers de sauvegarde des fichiers journaux des transactions. Le comportement de la compression de la sauvegarde des sauvegardes de fichiers journaux peut être spécifié pour chaque configuration de la copie des journaux de transaction. Pour plus d'informations, consultez Procédure : activer la copie des journaux de transaction (SQL Server Management Studio).

Limitations

Après la migration d'une configuration de la copie des journaux de transaction SQL Server 2000 vers SQL Server 2008, les bases de données secondaires ne peuvent pas être mises en mode veille.

Migration avec basculement

La migration d'une configuration de la copie des journaux de transaction à l'aide d'un basculement implique que vous conserviez temporairement l'instance du serveur principal dans sa version d'origine de SQL Server, pendant que vous mettez à niveau l'instance du serveur secondaire. La mise à niveau d'une instance de serveur ne met à niveau que les bases de données connectées. Les bases de données hors connexion, comme une base de données secondaire de copie des journaux de transaction, demeurent dans la version d'origine de SQL Server. Aussi longtemps qu'une base de données demeure hors connexion, les sauvegardes de fichier journal de la version d'origine de SQL Server peuvent être restaurées.

Pour des raisons de clarté, cette procédure fait référence à l'instance de serveur principal de la copie des journaux de transaction SQL Server 2000 comme Serveur A et à l'instance de serveur secondaire de la copie des journaux de transaction SQL Server 2000 comme Serveur B. que Cette configuration est représentée dans l'illustration suivante, avec l'instance de serveur principal A et l'instance de serveur secondaire B.

Un serveur secondaire et aucun serveur moniteur

  1. Mettez à niveau l'instance du serveur secondaire, le serveur B, vers SQL Server 2008. Lorsque vous mettez à niveau le serveur B, la base de données de la copie des journaux de transaction demeure une base de données SQL Server 2000 car elle se trouve hors connexion. Cette base de données est mise à niveau à l'étape suivante. Les travaux de la copie des journaux de transaction SQL Server 2000 qui copient et restaurent les fichiers journaux ne fonctionneront plus.

    [!REMARQUE]

    À ce point, les utilisateurs peuvent continuer à accéder à la base de données primaire sur le serveur A.

  2. Basculez depuis l'instance de serveur principal (serveur A) vers l'instance de serveur secondaire (serveur B).

    1. Pour basculer, restaurez toutes les sauvegardes des journaux de transactions non appliquées à partir de la base de données primaire du serveur A vers le serveur B.

    2. Sauvegardez manuellement la fin du journal des transactions sur la base de données primaire en spécifiant WITH NORECOVERY. Cette sauvegarde capture les enregistrements de journal qui n'ont pas encore été sauvegardés et place la base de données hors connexion.

      L'exemple suivant sauvegarde la fin du fichier journal de la base de données AdventureWorks sur le serveur principal. Le fichier de sauvegarde est intitulé Failover_AW_20080315.trn:

      BACKUP LOG AdventureWorks 
        TO DISK = N'\\FileServer\LogShipping\AdventureWorks\Failover_AW_20080315.trn'
        WITH NORECOVERY;
      GO
      
    3. Placez la base de données secondaire en ligne sur le serveur B en restaurant la fin du journal des transactions avec WITH RECOVERY.

    Le processus de basculement place votre base de données secondaire en ligne, avant qu'elle ne soit mise à niveau automatiquement vers une base de données SQL Server 2008. Le processus de mise à niveau de base de données fait l'objet d'une journalisation complète.

    [!REMARQUE]

    Après avoir été mise à niveau, la base de données de copie des journaux située sur le serveur B est disponible pour les utilisateurs. Cependant, tant que la copie des journaux de transaction SQL Server 2008 n'est pas configurée sur le serveur B, les sauvegardes de fichier journal à partir de la base de données sur le serveur B ne peuvent pas être effectuées.

  3. Mettez à niveau le serveur A vers SQL Server 2008. La base de données de la copie des journaux de transaction demeure temporairement une base de données SQL Server 2000 car elle se trouve hors connexion.

  4. Sur le serveur B, configurez la copie des journaux de transaction de SQL Server 2008 en utilisant le serveur B comme serveur principal et le serveur A comme serveur secondaire. Lorsque vous commencez la copie des journaux de transactions vers le serveur A, la base de données de copie des journaux de transaction sur le serveur A est mise à niveau vers une base de données SQL Server 2008 dès l'application de la première sauvegarde de fichier journal.

    Important

    Lorsque vous configurez la copie des journaux de transaction sur le serveur B, veillez à spécifier l'option Non, la base de données secondaire est initialisée dans l'onglet Initialiser la base de données secondaire de la boîte de dialogue Paramètres de base de données secondaire. Pour plus d'informations, consultez Procédure : activer la copie des journaux de transaction (SQL Server Management Studio).

  5. Si vous souhaitez que le serveur A soit de nouveau le serveur principal, vous pouvez effectuer un basculement vers ce serveur. Pour plus d'informations, consultez Changement des rôles entre les serveurs primaire et secondaire.

Migration sans basculement

Vous pouvez migrer la configuration de la copie des journaux de transaction de SQL Server 2000 vers SQL Server 2005 sans recourir au basculement. Cette procédure vous permet de mettre à niveau facilement les deux instances de serveur dans la configuration de la copie des journaux de transaction ; toutefois, la base de données primaire n'est pas disponible pendant la mise à niveau de l'instance du serveur principal vers SQL Server 2008.

  1. Mettez à niveau l'instance du serveur secondaire vers SQL Server 2008. Lorsque vous mettez à niveau l'instance du serveur secondaire, la base de données de la copie des journaux de transaction demeure une base de données SQL Server 2000 car elle se trouve dans un état hors ligne. Les travaux de la copie des journaux de transaction SQL Server 2000 qui copient et restaurent les fichiers journaux ne fonctionneront plus.

  2. Mettez à niveau le serveur principal vers SQL Server 2008. La base de données primaire n'est pas disponible pendant la mise à niveau.

  3. Configurez la copie des journaux de transaction depuis l'instance du serveur principal vers l'instance du serveur secondaire. Veillez à spécifier l'option Non, la base de données secondaire est initialisée dans l'onglet Initialiser la base de données secondaire de la base de données Paramètres de base de données secondaire. Pour plus d'informations, consultez Procédure : activer la copie des journaux de transaction (SQL Server Management Studio).

    Important

    Spécifiez le même partage de sauvegarde que celui utilisé avec la configuration de la copie des journaux de transaction SQL Server 2000. Ainsi, toutes les sauvegardes de fichier journal sont correctement appliquées à la base de données secondaire lorsque vous activez la copie des journaux de transaction dans SQL Server 2008.

    Étant donné que le processus de mise à niveau de base de données fait l'objet d'une journalisation complète, votre base de données secondaire est mise à niveau vers une base de données SQL Server 2008 lorsque vous commencez à copier les journaux vers l'instance du serveur secondaire.

Redéploiement de la copie des journaux de transaction

Si vous ne souhaitez pas migrer la configuration de la copie des journaux de transaction, vous pouvez redéployer entièrement la copie des journaux de transaction en réinitialisant la base de données secondaire avec une sauvegarde et une restauration complètes de la base de données primaire. Cette option peut être souhaitable si vous avez une base de données peu volumineuse ou si une haute disponibilité n'est pas primordiale pendant la mise à niveau.

Pour activer la copie des journaux de transaction

Suppression des travaux et des tables de copie des journaux de transaction SQL Server 2000

SQL Server 2008 ne recourt à aucune des tables de copie des journaux de transaction utilisées par SQL Server 2000. Par conséquent, vous pouvez supprimer ces tables après la mise à niveau du serveur vers SQL Server 2008. Ces tables sont les suivantes :

  • log_shipping_databases

  • log_shipping_monitor

  • log_shipping_plan_databases

  • log_shipping_plan_history

  • log_shipping_plans

  • log_shipping_primaries

  • log_shipping_secondaries

Vous pouvez également supprimer tous les travaux de l'Agent SQL Server de copie des journaux de transaction initialement créés pour la configuration de la copie des journaux de transaction par SQL Server 2000.