Migrieren einer Protokollversandkonfiguration aus SQL Server 2000 nach SQL Server 2008

Es ist nicht möglich, eine Protokollversandkonfiguration von SQL Server 2000 auf SQL Server 2008 zu aktualisieren. Der Datenbank-Wartungsplanungs-Assistent, der bei SQL Server 2000 ein wichtiger Bestandteil des Protokollversands war, wird seit SQL Server 2005 nicht mehr bei der Protokollversandkonfiguration verwendet. Daher funktioniert der Protokollversand nicht mehr, wenn Sie einen Server auf SQL Server 2008 aktualisieren.

Es ist möglich, eine Protokollversandkonfiguration von SQL Server 2000 nach SQL Server 2008 zu migrieren. In diesem Thema werden die möglichen Methoden beschrieben:

  • Über die Migration mit Failover können Sie die Verfügbarkeit der Datenbank aufrechterhalten, während Sie die einzelnen Server in der Protokollversandkonfiguration aktualisieren. Die sekundäre Datenbank muss nicht erneut initialisiert werden.

  • Die Migration ohne Failover ist ein einfacherer Vorgang, bei dem kein Failover auf den sekundären Server erforderlich ist. Wenn Sie diese Schritte ausführen, steht Ihre Datenbank nicht zur Verfügung, während Sie den primären Server aktualisieren. Die sekundäre Datenbank muss nicht erneut initialisiert werden.

  • Stellen Sie den Protokollversand nochmals vollständig bereit, einschließlich dem erneuten Initialisieren der sekundären Datenbank von einer vollständigen Sicherung.

Nachdem die Protokollversandkonfiguration nach SQL Server 2008 migriert wurde, können Sie die Tabellen und Aufträge des SQL Server-Agents löschen, die über den Protokollversand von SQL Server 2000 erstellt wurden.

HinweisHinweis

Die Sicherungskomprimierung wurde in SQL Server 2008 Enterprise eingeführt. In einer migrierten Protokollversandkonfiguration wird durch die Serverkonfigurationsoption backup compression default bestimmt, ob die Transaktionsprotokollsicherungsdateien mithilfe der Sicherungskomprimierung komprimiert werden. Das Verhalten für die Sicherungskomprimierung der Protokollsicherung kann für jede Protokollversandkonfiguration festgelegt werden. Weitere Informationen finden Sie unter Vorgehensweise: Aktivieren des Protokollversands (SQL Server Management Studio).

Einschränkungen

Nach der Migration einer SQL Server 2000-Protokollversandkonfiguration nach SQL Server 2008 können sekundäre Datenbanken nicht in den Standbymodus versetzt werden.

Migration mit Failover

Bei der Migration einer Protokollversandkonfiguration mit Failover wird die primäre Serverinstanz temporär in der ursprünglichen SQL Server-Version erhalten, während die sekundäre Serverinstanz aktualisiert wird. Beim Aktualisieren einer Serverinstanz werden nur Online-Datenbanken aktualisiert. Offlinedatenbanken, wie eine sekundäre Protokollversanddatenbank, bleiben in der ursprünglichen Version von SQL Server erhalten. Solange eine Datenbank offline ist, können Protokollsicherungen der ursprünglichen Version von SQL Server wiederhergestellt werden.

Zur Veranschaulichung werden in diesem Verfahren die primäre SQL Server 2000-Serverinstanz für den Protokollversand als Server A und die sekundäre SQL Server 2000-Serverinstanz für den Protokollversand als Server B bezeichnet. Diese Konfiguration wird in der folgenden Abbildung dargestellt, die eine primäre Serverinstanz A und eine sekundäre Serverinstanz B.

Ein sekundärer Server und kein Überwachungsserver

  1. Aktualisieren Sie die sekundäre Serverinstanz (Server B) auf SQL Server 2008. Bei der Aktualisierung von Server B bleibt die Protokollversanddatenbank als SQL Server 2000-Datenbank bestehen, da sie offline ist. Diese Datenbank wird im nächsten Schritt aktualisiert. Die SQL Server 2000-Protokollversandaufträge zum Protokollieren und Wiederherstellen von Protokolldateien funktionieren nicht mehr.

    HinweisHinweis

    An diesem Punkt können Benutzer weiterhin auf die primäre Datenbank auf Server A zugreifen.

  2. Führen Sie einen Failover von der primären Serverinstanz A auf die sekundäre Serverinstanz B durch.

    1. Zur Durchführung des Failovers stellen Sie alle nicht übernommenen Transaktionsprotokollsicherungen von der primären Datenbank auf Server A auf Server B wieder her.

    2. Sichern Sie das Ende des Transaktionsprotokolls für die primäre Datenbank manuell unter Angabe von WITH NORECOVERY. Mit dieser Protokollsicherung werden alle bislang noch nicht gesicherten Protokolldatensätze erfasst und die Datenbank offline geschaltet.

      Im folgenden Beispiel wird das Ende des Protokolls für die AdventureWorks-Datenbank auf dem primären Server gesichert. Die Sicherungsdatei erhält den Namen Failover_AW_20080315.trn:

      BACKUP LOG AdventureWorks 
        TO DISK = N'\\FileServer\LogShipping\AdventureWorks\Failover_AW_20080315.trn'
        WITH NORECOVERY;
      GO
      
    3. Schalten Sie die sekundäre Datenbank auf Server B online, indem Sie das Ende des Transaktionsprotokolls unter Angabe von WITH RECOVERY wiederherstellen.

    Durch den Failover wird die sekundäre Datenbank online geschaltet. Anschließend wird sie automatisch auf SQL Server 2008 aktualisiert. Die Datenbankaktualisierung wird vollständig protokolliert.

    HinweisHinweis

    Nach der Aktualisierung ist die Protokollversanddatenbank auf Server B für Benutzer verfügbar. Solange der SQL Server 2008-Protokollversand auf Server B nicht konfiguriert ist, können keine Protokollsicherungen von der Datenbank auf Server B angewendet werden.

  3. Aktualisieren Sie Server A auf SQL Server 2008. Die Protokollversanddatenbank bleibt vorübergehend als SQL Server 2000-Datenbank erhalten, da sie offline ist.

  4. Konfigurieren Sie auf Server B den Protokollversand für SQL Server 2008 so, dass Server B der primäre Server und Server A der sekundäre Server ist. Sobald Sie mit dem Versenden von Transaktionsprotokollen an Server A beginnen, wird die Protokollversanddatenbank auf Server A beim Anwenden der ersten Protokollsicherung auf eine SQL Server 2008-Datenbank aktualisiert.

    Wichtiger HinweisWichtig

    Beim Konfigurieren des Protokollversands auf Server B müssen Sie im Dialogfeld Einstellungen für die sekundäre Datenbank auf der Registerkarte Sekundäre Datenbank initialisieren die Option Nein, die sekundäre Datenbank ist initialisiert festlegen. Weitere Informationen finden Sie unter Vorgehensweise: Aktivieren des Protokollversands (SQL Server Management Studio).

  5. Wenn Sie Server A optional wieder als primären Server festlegen möchten, müssen Sie ein Failover auf Server A ausführen. Weitere Informationen finden Sie unter Ändern der Rollen zwischen primärem und sekundärem Server.

Migration ohne Failover

Sie können die Protokollversandkonfiguration von SQL Server 2000 auch ohne Failover auf SQL Server 2005 migrieren. Mit diesem Verfahren können Sie beide Serverinstanzen auf einfache Weise in der Protokollversandkonfiguration aktualisieren. Die primäre Datenbank ist jedoch nicht verfügbar, während Sie die primäre Serverinstanz auf SQL Server 2008 aktualisieren.

  1. Aktualisieren Sie die sekundäre Serverinstanz auf SQL Server 2008. Bei der Aktualisierung der sekundären Serverinstanz bleibt die Protokollversanddatenbank als SQL Server 2000-Datenbank bestehen, da sie offline ist. Die SQL Server 2000-Protokollversandaufträge zum Protokollieren und Wiederherstellen von Protokolldateien funktionieren nicht mehr.

  2. Aktualisieren Sie die primäre Serverinstanz auf SQL Server 2008. Die primäre Datenbank ist nicht verfügbar, während die Aktualisierung ausgeführt wird.

  3. Konfigurieren Sie den Protokollversand von der primären Serverinstanz auf die sekundäre Serverinstanz. Sie müssen die Option Nein, die sekundäre Datenbank ist initialisiert auf der Registerkarte Sekundäre Datenbank initialisieren im Dialogfeld Einstellungen für die sekundäre Datenbank festlegen. Weitere Informationen finden Sie unter Vorgehensweise: Aktivieren des Protokollversands (SQL Server Management Studio).

    Wichtiger HinweisWichtig

    Geben Sie dieselbe Sicherungsfreigabe an, die Sie bei der Protokollversandkonfiguration für SQL Server 2000 verwendet haben. Dadurch wird sichergestellt, dass alle Protokollsicherungen auf die sekundäre Datenbank angewendet werden, wenn Sie den Protokollversand für SQL Server 2008 aktivieren.

    Da es sich bei der Datenbankaktualisierung um einen vollständig protokollierten Vorgang handelt, wird die sekundäre Datenbank auf eine SQL Server 2008-Datenbank aktualisiert, wenn Sie mit dem Versenden von Protokollen an die sekundäre Serverinstanz beginnen.

Erneutes Bereitstellen des Protokollversands

Wenn Sie die Protokollversandkonfiguration nicht migrieren möchten, können Sie den Protokollversand neu bereitstellen, indem Sie die sekundäre Datenbank mit einer vollständigen Sicherung und Wiederherstellung der primären Datenbank neu initialisieren. Diese Option bietet sich u. U. an, wenn es um eine kleine Datenbank geht oder wenn eine hohe Verfügbarkeit während des Aktualisierungsvorgangs nicht wichtig ist.

So aktivieren Sie den Protokollversand

Entfernen von Tabellen und Aufträgen beim Protokollversand für SQL Server 2000

SQL Server 2008 verwendet keine der Protokollversandtabellen, die von SQL Server 2000 benötigt wurden. Daher können Sie diese Tabellen löschen, nachdem Sie den Server auf SQL Server 2008 aktualisiert haben. Nachfolgend sind diese Tabellen aufgeführt:

  • log_shipping_databases

  • log_shipping_monitor

  • log_shipping_plan_databases

  • log_shipping_plan_history

  • log_shipping_plans

  • log_shipping_primaries

  • log_shipping_secondaries

Sie können sämtliche Protokollversandaufträge des SQL Server-Agents löschen, die von SQL Server 2000 für die Protokollversandkonfiguration erstellt wurden.