Überlegungen zum Aktualisieren des Datenbankmoduls

Sie können SQL Server Database Engine (Datenbankmodul) auf SQL Server 2008 aktualisieren. Informationen zu den unterstützten Aktualisierungspfaden finden Sie unter Versions- und Editionsupdates.

Das Setupprogramm von SQL Server ermöglicht dem Benutzer, eine frühere Version von SQL Server bei minimalem Eingriff zu aktualisieren. Um auftretenden Problemen besser vorzubeugen oder diese Probleme besser beheben zu können, sind jedoch eine richtige Vorbereitung und gute Kenntnis des Aktualisierungsprozesses erforderlich.

Dieses Thema enthält die Informationen, die Sie zur Vorbereitung und zum Verständnis des Aktualisierungsvorgangs benötigen. Dazu gehören:

  • Bekannte Probleme bei der Aktualisierung

  • Tasks und Überlegungen im Vorfeld der Aktualisierung

  • Links zu Themen mit Verfahren für die Aktualisierung von Database Engine (Datenbankmodul)

  • Hyperlinks zu Themen mit Verfahren zum Migrieren von Datenbanken zu SQL Server.

  • Überlegungen zu Failoverclustern.

  • Tasks und Überlegungen im Anschluss an die Aktualisierung.

Bekannte Probleme bei Aktualisierungen.

Bevor Sie auf Database Engine (Datenbankmodul) aktualisieren, sollten Sie Abwärtskompatibilität des SQL Server-Datenbankmoduls lesen. Informationen zu Szenarien und bekannten Problemen der Aktualisierung finden Sie unter Versions- und Editionsupdates. Informationen zur Abwärtskompatibilität anderer SQL Server-Komponenten finden Sie unter Abwärtskompatibilität.

Wichtiger HinweisWichtig

Bevor Sie eine Edition von SQL Server auf eine andere Edition aktualisieren, sollten Sie überprüfen, ob die derzeit verwendete Funktionalität in der Edition, die Ziel der Aktualisierung ist, unterstützt wird.

Prüfliste vor der Aktualisierung

Das Setupprogramm von SQL Server unterstützt die Aktualisierung von einer früheren Version von SQL Server. Sie können auch Datenbanken von früheren Versionen von SQL Server migrieren. Die Migration kann von einer SQL Server-Instanz zu einer anderen auf demselben Computer oder zu einer SQL Server-Instanz auf einem anderen Computer erfolgen. Die Migrationsoptionen umfassen die Verwendung des Assistenten zum Kopieren von Datenbanken, die Sicherungs- und Wiederherstellungsfunktionalität, die Verwendung des SQL ServerIntegration Services-Import/Export-Assistenten und der Methoden zum Massenexport oder -import.

Bevor Sie das Database Engine (Datenbankmodul) aktualisieren, sollten Sie unbedingt die folgenden Tasks ausführen:

Überprüfen Sie die folgenden Probleme, und nehmen Sie nach Bedarf Änderungen vor dem Aktualisieren auf SQL Server vor:

  • Wenn Sie von einer 64-Bit-Edition von SQL Server auf eine 64-Bit-Edition von SQL Server 2008 aktualisieren, müssen Sie vor dem Aktualisieren von Database Engine (Datenbankmodul)Analysis Services aktualisieren.

  • Wenn Sie Instanzen von SQL Server aktualisieren, bei denen der SQL Server-Agent in MSX/TSX-Beziehungen eingetragen ist, aktualisieren Sie die Zielserver vor den Masterservern. Wenn Sie die Masterserver vor den Zielservern aktualisieren, kann der SQL Server-Agent keine Verbindung zu Masterinstanzen von SQL Server herstellen.

  • Sichern Sie alle SQL Server-Datenbankdateien der zu aktualisierenden Instanz, damit diese bei Bedarf wiederhergestellt werden können.

  • Führen Sie die entsprechenden Datenbank-Konsolenbefehle (Database Console Commands, DBCC) für die zu aktualisierenden Datenbanken aus, um deren Konsistenz sicherzustellen.

  • Schätzen Sie ab, wie viel Speicherplatz für die Aktualisierung von SQL Server-Komponenten sowie der Benutzerdatenbanken erforderlich ist. Informationen zum erforderlichen Speicherplatz für SQL Server-Komponenten finden Sie unter Hardware- und Softwareanforderungen für die Installation von SQL Server 2008.

  • Stellen Sie sicher, dass für vorhandene SQL Server-Systemdatenbanken – master, model, msdb und tempdb – die automatische Vergrößerung konfiguriert ist, und stellen Sie sicher, dass ausreichend Festplattenspeicherplatz verfügbar ist.

  • Stellen Sie sicher, dass alle Datenbankserver über Anmeldeinformationen in der master-Datenbank verfügen. Dies ist wichtig für das Wiederherstellen einer Datenbank, da sich die Systemanmeldeinformationen in der master-Datenbank befinden.

  • Deaktivieren Sie alle gespeicherten Startprozeduren, da im Rahmen des Aktualisierungsprozesses auch Dienste auf der zu aktualisierenden SQL Server-Instanz beendet und gestartet werden. Der Aktualisierungsprozess kann durch beim Start verarbeitete gespeicherte Prozeduren blockiert werden.

  • Beenden Sie die Replikation, und stellen Sie sicher, dass das Replikationsprotokoll leer ist.

  • Beim Aktualisieren einer Instanz von SQL Server 2000Database Engine (Datenbankmodul) wird der Konfigurationswert für max worker threads beibehalten. Es wird jedoch empfohlen, den Wert für max worker threads vor dem Aktualisieren in 0 zu ändern, um das Berechnen der optimalen Threadanzahl durch Database Engine (Datenbankmodul) zu ermöglichen. Weitere Informationen finden Sie unter max worker threads (Option) in der SQL Server-Onlinedokumentation.

  • Beenden Sie alle Anwendungen sowie alle Dienste mit Abhängigkeiten zu SQL Server. Wenn Verbindungen von lokalen Anwendungen mit der zu aktualisierenden Instanz bestehen, kann die Aktualisierung einen Fehler erzeugen.

  • Falls Sie die Datenbankspiegelung verwenden, finden Sie weitere Informationen unter Vorgehensweise: Minimieren der Ausfallzeit von gespiegelten Datenbanken beim Aktualisieren von Serverinstanzen in der SQL Server-Onlinedokumentation.

Aktualisieren des Datenbankmoduls

Eine Installation von SQL Server 2000 oder SQL Server 2005 kann durch eine Versionsaktualisierung überschrieben werden. Wenn bei der Ausführung des SQL Server-Setups eine frühere Version von SQL Server erkannt wird, werden alle früheren SQL Server-Programmdateien aktualisiert, und die in der früheren SQL Server-Instanz gespeicherten Daten werden beibehalten. Darüber hinaus bleiben auf dem Computer auch frühere Versionen der SQL Server-Onlinedokumentation intakt.

VorsichtshinweisVorsicht

Wenn Sie auf SQL Server aktualisieren, wird die frühere SQL Server-Instanz überschrieben und ist auf dem Computer folglich nicht mehr vorhanden. Sichern Sie vor der Aktualisierung die SQL Server-Datenbanken und alle anderen der früheren SQL Server-Instanz zugeordneten Objekte.

Sie können Database Engine (Datenbankmodul) aktualisieren, indem Sie den Installations-Assistenten für SQL Server verwenden.

VorsichtshinweisVorsicht

Wenn auf dem Computer SQL Server 2000-Verwaltungstools und eine Standardinstanz von SQL Server 2008 installiert sind, lässt das SQL Server-Setup die Installation einer SQL Server 2000-Standardinstanz zu. Hierdurch wird jedoch die installierte SQL Server 2008-Instanz deaktiviert. Aus diesem Grund sollten Sie keine Standardinstanz von SQL Server installieren, wenn SQL Server 2000-Verwaltungstools und eine Standardinstanz von SQL Server 2008 bereits auf dem Computer vorhanden sind.

Datenbank-Kompatibilitätsgrad nach der Aktualisierung

Der Kompatibilitätsgrad der Datenbanken tempdb, model, msdb und Resource wird nach dem Upgrade auf jeweils 100 gesetzt. Die master-Systemdatenbank behält ihren Kompatibilitätsgrad vor dem Upgrade bei, es sei denn, dieser lag unter 80. War der Kompatibilitätsgrad von master vor dem Upgrade geringer als 80, wird er nach dem Upgrade auf 80 gesetzt.

War der Kompatibilitätsgrad einer Benutzerdatenbank vor dem Upgrade 80 oder 90, wird er nach dem Upgrade beibehalten. War der Kompatibilitätsgrad der aktualisierten Datenbank vor dem Upgrade 70, wird er auf 80 gesetzt, was dem niedrigsten unterstützten Kompatibilitätsgrad in SQL Server 2008 entspricht.

HinweisHinweis

Neue Benutzerdatenbanken erben den Kompatibilitätsgrad der model-Datenbank.

Migrieren von Datenbanken

Mithilfe der Sicherungs- und Wiederherstellungs- oder der Trennungs- und Anfügungsfunktionalitäten in SQL Server können Sie Benutzerdatenbanken in eine Instanz von SQL Server verschieben.

Wichtiger HinweisWichtig

Eine Datenbank mit identischem Namen auf dem Quell- und dem Zielserver kann nicht verschoben oder kopiert werden. In diesem Fall wird erkannt, dass die Datenbank "bereits vorhanden" ist.

Weitere Informationen finden Sie unter Verwenden des Assistenten zum Kopieren von Datenbanken oder Vorgehensweise: Aktualisieren von SQL Server mit dem Assistenten zum Kopieren von Datenbanken.

Nach Aktualisierung des Datenbankmoduls

Führen Sie nach dem Aktualisieren von Database Engine (Datenbankmodul) die folgenden Aufgaben aus:

  • Registrieren Sie die Server neu. Weitere Informationen zum Registrieren von Servern finden Sie im Thema Registrieren von Servern der SQL Server-Onlinedokumentation.

  • Füllen Sie die Volltextkataloge wieder auf. Dieser Vorgang verbessert die Leistung der SQL Server-Installation. Weitere Informationen finden Sie im Thema sp_fulltext_catalog (Transact-SQL) der SQL Server-Onlinedokumentation.

  • Aktualisieren Sie nach dem Upgrade von SQL Server 2000 die Statistiken in allen Datenbanken. Statistiken in benutzerdefinierten Tabellen in SQL Server-Datenbanken aktualisieren Sie mithilfe der gespeicherten Prozedur sp_updatestats. Zum Aktualisieren von SQL Server 2005 ist dieser Schritt nicht erforderlich.

  • Führen Sie DBCC UPDATEUSAGE für alle Datenbanken aus, um falsche Werte für die Zeilen- oder Seitenanzahl zu korrigieren.

  • Konfigurieren Sie die SQL Server-Installation. Zum Reduzieren der Angriffsfläche des Systems installiert und aktiviert SQL Server selektiv Schlüsseldienste und -features.

  • Überprüfen oder entfernen Sie USE PLAN-Hinweise, die von SQL Server 2005 generiert werden und auf Abfragen auf partitionierte Tabellen und Indizes angewendet werden.

    SQL Server 2008 ändert die Art und Weise, wie Abfragen auf partitionierte Tabellen und Indizes verarbeitet werden. Abfragen auf partitionierte Objekte, die den USE PLAN-Hinweis für einen von SQL Server 2005 generierten Plan verwenden, enthalten u. U. einen in SQL Server 2008 ungültigen Plan. Wir empfehlen die folgenden Prozeduren, nachdem Sie auf SQL Server 2008 aktualisiert haben.

    Wenn der USE PLAN-Hinweis direkt in einer Abfrage angegeben wird:

    1. Entfernen Sie den USE PLAN-Hinweis aus der Abfrage.

    2. Testen Sie die Abfrage.

    3. Wenn der Optimierer keinen geeigneten Plan auswählt, optimieren Sie die Abfrage, und geben Sie ggf. den USE PLAN-Hinweis mit dem gewünschten Abfrageplan ein.

    Wenn der USE PLAN-Hinweis in einer Planhinweisliste angegeben wird:

    1. Verwenden Sie die sys.fn_validate_plan_guide-Funktion, um die Gültigkeit der Planhinweisliste zu überprüfen. Alternativ können Sie auch mit dem Plan Guide Unsuccessful-Ereignis in SQL Server Profiler nach ungültigen Planhinweislisten suchen.

    2. Wenn die Planhinweisliste nicht gültig ist, verwerfen Sie sie. Wenn der Optimierer keinen geeigneten Plan auswählt, optimieren Sie die Abfrage, und geben Sie ggf. den USE PLAN-Hinweis mit dem gewünschten Abfrageplan ein.

    Ein ungültiger Plan führt nicht zu einem Abfragefehler, wenn der USE PLAN-Hinweis in einer Planhinweisliste angegeben ist. Stattdessen wird die Abfrage kompiliert, ohne den USE PLAN-Hinweis zu verwenden. Weitere Informationen zum Verarbeiten von Abfragen auf partitionierte Objekte finden Sie unter Verbesserte Abfrageverarbeitung bei partitionierten Tabellen und Indizes.

Datenbanken, die vor der Aktualisierung als volltextfähig oder nicht volltextfähig gekennzeichnet wurden, behalten ihren Status auch nach der Aktualisierung bei. Die Volltextkataloge werden bei volltextfähigen Datenbanken nach der Aktualisierung neu erstellt und automatisch aufgefüllt. Dieser Vorgang ist sehr zeitaufwändig und ressourcenintensiv. Um die Volltextindizierung vorübergehend anzuhalten, führen Sie folgende Anweisung aus:

EXEC sp_fulltext_service 'pause_indexing', 1

Um die Auffüllung des Volltextindexes fortzusetzen, führen Sie folgende Anweisung aus:

EXEC sp_fulltext_service 'pause_indexing', 0

Änderungsverlauf

Aktualisierter Inhalt

Im Abschnitt "Nach Aktualisierung des Datenbankmoduls" wurde die Empfehlung zum Aktualisieren der Statistiken nach dem Upgrade von SQL Server 2000 geändert.