System-Datenbanksicherungen können nicht auf einen anderen Build von SQL Server wiederhergestellt werden.

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 264474 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Problembeschreibung

Sie können eine Sicherung der System-Datenbank ( master , Model und Msdb ) auf einem Serverbuild, die sich von den Build unterscheidet nicht wiederherstellen auf die Sicherung ursprünglich durchgeführt wurde. Versuch, solche eine Wiederherstellung durchführen bewirkt, dass die folgenden Fehlermeldung auftreten:
Server: Msg 3168, Ebene 16, Status 1, Zeile 1
Da es von einer anderen Version des Servers (134217904) als dieser Server (134217920) erstellt wurde, kann nicht die Sicherung der Systemdatenbank auf Gerät d:\temp\master.bak wiederhergestellt werden.
Server: Fehlermeldung 3013, Ebene 16, Status 1, Zeile 1
RESTORE DATABASE wird nicht normal beendet.

Ursache

Es ist möglich, dass das Datenbankschema für die Systemdatenbanken über Server-Builds geändert. Um sicherzustellen, dass diese Änderung im Schema keine Inkonsistenzen verursacht, ist eine der ersten Prüfungen, die der RESTORE-Befehl führt einen Vergleich zwischen die Server-Buildnummer in der Sicherungsdatei und die Buildnummer der der Server auf dem der Benutzer die Wiederherstellung durchführen möchten. Wenn zwei Builds unterscheiden, tritt ein, die Fehlermeldung und die Wiederherstellung nicht ordnungsgemäß beendet.

Hinweis: Ein Servicepack oder einen Hotfix installieren Änderungen erstellen die Server-Buildnummer, und Server-Builds sind immer inkrementell.

Hier sind einige Szenarios, in denen dieses Problem auftreten kann:
  • Ein Benutzer versucht, Wiederherstellen einer Systemdatenbank auf Server A aus einer Sicherung auf Server b. Server A und B auf verschiedene Server Builds sind. Beispielsweise Server A möglicherweise auf einem RTM-Build und Server B möglicherweise auf ein Servicepack 1 (SP1) erstellen.
  • Ein Benutzer versucht eine Systemdatenbank aus eine Sicherung auf dem gleichen Server wiederherstellen. Jedoch wurde auf dem Server einen anderen Build ausgeführt, wenn die Sicherung aufgetreten ist. Der Server wurde, aktualisiert, seit die Sicherung durchgeführt wurde.

Abhilfe

Der Wiederherstellungsvorgang in einer solchen Situation ist relativ Beteiligten und nur als letzten Ausweg verwendet.

Darin, dass die erste Schritt versuchen, dieses Problem zu umgehen bestimmen, den aktuellen Build des Servers und der SQL Server erstellen auf dem die Sicherung durchgeführt wurde.

Microsoft SQL Server 2000 und Microsoft SQL Server 2005 stellen die folgenden zwei Methoden das aktuelle SQL Server-Build zu bestimmen:
  • Methode 1
    SELECT @@version
    dieser Code gibt Text ähnelt:
    Microsoft SQL Server  2000 - 8.00.192 (Intel X86)
    Jul 31 2000 15:47:46
    Copyright (c) 1988-2000 Microsoft Corporation 
    Enterprise Edition on Windows NT 5.0 (Build 2195: )
    (1 row(s) affected)
  • Methode 2
    SELECT SERVERPROPERTY('ProductVersion')
    dieser Code gibt Text ähnelt:
    8.00.192
    (1 row(s) affected)
Zum Zweck der in diesem Artikel wird diese Buildnummer als die "SQL Server erstellen" im Rest dieses Artikels verwiesen.

Können Sie bestimmen das Build auf dem die Sicherung aufgetreten, ist mithilfe des folgenden Befehls in der Sicherungsdatei:
RESTORE HEADERONLY
FROM DISK = 'd:\temp\master176.bak'
in der Ausgabe, die generiert wird, geben Sie die folgenden drei (3) Spalten Informationen Build Server:
SoftwareVersionMajor SoftwareVersionMinor SoftwareVersionBuild
-------------------- -------------------- --------------------
8                    0                    176

The actual output has several other columns; however, only the columns that are of interest are included in this article for clarity.
für den Zweck der in diesem Artikel wird diese Buildnummer als die "Backup Build" für den Rest dieses Artikels verwiesen.

Im Beispiel ist die "SQL Server Build" 8.00.192, die "Backup Build" 8.00.176. Da die beiden Builds unterschiedlich sind, die Wiederherstellung ist nicht zulässig, und Fehlermeldung 3168 auftritt.

Der Wiederherstellungsvorgang, um dieses Problem zu umgehen variiert je nachdem, welche Systemdatenbank der Benutzer versucht, wiederherstellen. Als Vorsichtsmaßnahme empfiehlt Microsoft, dass Sie eine Sicherungskopie der alle vorhandenen Datenbanken (System- und Benutzerdatenbanken) vor dem Fortsetzen einer dieser Schritte erstellen.

Wenn der Wiederherstellung Versuch für die master -Datenbank ist, können die folgenden Schritte Sie versuchen, eine erfolgreiche Wiederherstellung:
  1. Trennen Sie alle Benutzerdatenbanken, die auf dem System vorhanden, sind mithilfe der Prozedur Sp_detach_db gespeichert. Weitere Informationen zum Trennen von Benutzerdatenbanken finden Sie das Thema "Anfügen und Trennen von Datenbanken" in der Onlinedokumentation zu SQL Server 2000. Wenn Sie SQL Server 2005 verwenden, finden Sie die "Detaching und Anfügen einer Datenbank" in der SQL Server 2005-Onlinedokumentation. B. Cross, die folgende Abfrage eine Übersicht aller Benutzerdatenbanken im System zurückgegeben:
    SELECT name FROM SYSDATABASES
    WHERE dbid > 4
  2. Sicherung von Msdb und Model -Datenbanken auf dem System mithilfe der folgenden Befehle:
    BACKUP DATABASE MSDB TO DISK = '<backup device>' WITH NOINIT, NOSKIP
    BACKUP DATABASE MODEL TO DISK = '<backup device>' WITH NOINIT, NOSKIP
  3. Wenn die "Backup Build" größer als die "SQL Server erstellen" ist, installieren Sie alle erforderlichen Service Packs oder Hotfix erstellt, um die Serversoftware vorwärts zum der"Backup" zurückzusetzen, wurde zuvor ermittelt. Fahren Sie mit Schritt 6.
  4. Entfernen Sie SQLServer 2000 oder SQLServer 2005. Weitere Informationen zum Entfernen von SQL Server 2000 finden Sie das Thema "So entfernen Sie SQLServer 2000" in der Onlinedokumentation zu SQL Server 2000.
  5. Installieren Sie SQL Server 2000 oder SQL Server 2005 und alle erforderlichen Servicepacks oder Hotfix erstellt, um die Serversoftware vorwärts zum der"Backup" zurückzusetzen, wurde zuvor ermittelt.
  6. Starten Sie den Server im Einzelbenutzermodus und Wiederherstellen Sie den master -Datenbank mithilfe der Sicherungsdatei für diesen Build. Anweisungen zum Wiederherstellen des master -Datenbank finden Sie das Thema "Wiederherstellen des Masters-Datenbank von einer aktuellen Sicherung" in der Onlinedokumentation zu SQL Server 2000. Wenn Sie SQL Server 2005 verwenden, finden Sie in SQL Server 2005-Onlinedokumentation unter "Wiederherstellen den master-Datenbank".
  7. Nachdem Sie die master -Datenbank erfolgreich wiederhergestellt haben, müssen Sie Herunterfahren und starten Sie den SQL Server-Dienst neu.
  8. Wenn die "Backup Build" größer als die "SQL Server erstellen" ist, gehen Sie zu Schritt 10.
  9. Erneut wenden Sie an, Servicepacks oder Hotfix-Builds erforderlich ist, um die Serversoftware vorwärts auf "SQLServer-Build" auszuführen.
  10. Wiederherstellen Sie die Datenbanken Msdb und Model aus der im Schritt 2 erstellten Sicherungen. Wenn Sie SQL Server 2005 verwenden, finden Sie in der SQL Server 2005-Onlinedokumentation unter "Wiederherstellen der Datenbanken Model und Msdb".
  11. Fügen Sie alle Benutzerdatenbanken mithilfe der Sp_attach_db gespeicherten Prozedur. Weitere Informationen zum Anfügen der Datenbank finden Sie das Thema "Anfügen und Trennen von Datenbanken" in der Onlinedokumentation zu SQL Server 2000.
Alle Änderungen, die an die master -Datenbank vorgenommen wurden, nachdem die Sicherung des das- master durchgeführt wurde jetzt sind verloren und erneut müssen manuell angewendet werden.
Wenn Sie den Wiederherstellungsvorgang auf das Modell oder die Msdb -Datenbank, können Sie die folgenden Schritte aus, um dieses Problem zu umgehen. Um diese Prozedur mit einem Beispiel zu veranschaulichen, dieser Artikel bezieht sich auf dem ursprünglichen Server auf dem eine dieser Datenbanken Msdb sagen, als Server a wiederhergestellt werden Dieses Verfahren umfasst das Installieren von von SQL Server auf einen anderen Server B 3168 Fehlermeldung zu vermeiden. Die Annahme ist natürlich, dass Sie nur eine gültige Sicherung von einem älteren Build für die Msdb auf Server a
  1. Installieren Sie SQL Server 2000 auf Server B (mit der gleichen Sortierungseinstellungen als Server A) und Servicepacks oder Hotfix-Builds erforderlich, die Serversoftware zum der"Backup" zu erhalten.
  2. Nachdem SQL Server 2000 installiert wurde, starten Sie den SQL Server-Dienst und Wiederherstellen Sie die Msdb -Datenbank aus der Sicherungsdatei. Die Wiederherstellung funktioniert Wenn der Server erstellen und der Build auf dem die Sicherung durchgeführt wurde identisch sind.
  3. Wenn die "Backup Build" größer als der "aktuellen Build" ist, gehen Sie zu Schritt 5.
  4. Nach einer erfolgreichen Wiederherstellung erstellt Aktualisierung SQL Server 2000 auf Server B durch Anwenden von Servicepacks oder Hotfix erforderlich, die Serversoftware vorwärts zu den "aktuellen Build" zuordnen.
  5. Führen Sie nach Abschluss die Aktualisierung eine Sicherung der Msdb -Datenbank aus. Jetzt wiederherstellen von dieser Sicherung auf Server A, berücksichtigen, die das Build der der Server auf dem die Sicherung durchgeführt wurde und der "aktuellen Build" sind identisch.
Das gleiche Verfahren funktioniert für die Model -Datenbank. Erneut alle Änderungen, die für diese Datenbanken vorgenommen werden, seit der Sicherung verloren und erneut müssen manuell angewendet werden.

Weitere Informationen

Es ist immer empfohlen, eine aktuelle, effektive Sicherungsstrategie verfügen. Diese Einschränkung ist noch ein weiteres Beispiel, warum eine gute Sicherungsstrategie wichtig ist. Angesichts der diese Einschränkung müssen Sie eine Sicherungskopie der Systemdatenbanken durchführen, sobald Sie Ihren Server, aktualisieren Wenn Sie ein Servicepack oder Hotfix-Build installieren.

Eigenschaften

Artikel-ID: 264474 - Geändert am: Donnerstag, 22. Februar 2007 - Version: 6.4
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Keywords: 
kbmt kbbackup kbprb KB264474 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 264474
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com