Ich habe die Daten und Protokolldateien, die ich von einem Client erhalten habe, manuell an eine SQL Server 2005 Express SP3-Datenbank angehängt. Während des Upgrades auf SP4 wird folgende Fehlermeldung angezeigt:
Die Datenbank 'MyDatabase' kann nicht geöffnet werden, da es sich um Version 622 handelt. Dieser Server unterstützt Version 612 und früher. Ein Downgrade-Pfad wird nicht unterstützt.
Weiß jemand, was Datenbankversion 622 ist und wie ich sie installieren kann? Diese Datenbank stammt von einem kanadischen Kunden, daher stammt sie möglicherweise von einer internationalen Version von SQL Server. Ich wünschte wirklich, es gäbe eine Referenz für die Datenbankversionen, also wüsste ich, was 622 ist. Viel Googeln führte zu viel Frustration und keinen Antworten.
Weitere Informationen hinzufügen. Die ursprüngliche Datenbank war beschädigt. Ich konnte es nur mit einem Backup wiederherstellen. Die Datendateien waren etwas neuer (2 Tage), also haben wir gesehen, ob wir diese auch verwenden können.
Ein erfolgreiches Upgrade von SQL Server 2005 Express auf SQL Server 2008 Express, während die beschädigte Datenbank angehängt wurde. SELECT @@VERSION
meldet Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86). Ich lief sp_resetstatus
, SET EMERGENCY
und DBCC CHECKDB
erhielt die folgende:
Meldung 946, Ebene 14,
Status 1, Zeile 1 Datenbank 'MyDatabase' Version 622 kann nicht geöffnet werden. Aktualisieren Sie die Datenbank auf die neueste Version.
quelle
restore headeronly
und herausfinden, ob Sie ein Backup haben.SELECT @@version;
auf Ihrem Server angezeigt (und wenn möglich auf dem Client)?Antworten:
622 ist eine interne Zwischenversion, die nie veröffentlicht wurde. Wie kommt es, dass Sie eine 622-Version DB haben? Die Erklärung ist eigentlich einfach: ein abgebrochenes Upgrade. Schauen Sie sich die Sequenz an, die Aaron gepostet hat:
Wenn der letzte Schritt oben abstürzt, ist Ihre Datenbank jetzt eine Version 622 (jeder Schritt wird festgeschrieben). Diese Version kann nur an einen SQL Server 2008 (oder neuer) angehängt werden, um das Upgrade fortzusetzen und abzuschließen. Mir scheint, Sie hatten eine SQL Server 2005-Datenbank (Version 611), die Sie an einen SQL Server 2008 oder höher angeschlossen haben. Das Upgrade wurde gestartet, aber das Upgrade ist in Schritt 622-> 625 fehlgeschlagen, und jetzt versuchen Sie, es wieder anzuhängen zur SQL 2005-Instanz. Es kann nicht wieder angebracht werden. Ihre einzige Chance besteht darin, vorwärts zu kommen. Wenn das Upgrade weiterhin fehlschlägt, müssen Sie erneut von einer ursprünglichen SQL 2005-Datenbank aus starten (eine Kopie der Dateien, eine Sicherung ...).
Warum sollte ein Datenbank-Upgrade fehlschlagen? Aus demselben Grund kann jeder Vorgang fehlschlagen: STRG-C, Stromausfall, beschädigte Originaldatenbank, Hardwareprobleme, Fehler im Produkt. Da ich weiß, was der Upgrade-Schritt 622-625 bewirkt, befinden sich meine Gelder in einer beschädigten Quelldatenbank. Die Wiederherstellung nach einem fehlgeschlagenen Upgrade ist etwas schwieriger. Wie immer zahlt es sich aus, eine gute, getestete Sicherungs- und Wiederherstellungsstrategie zu haben.
quelle
622 ist sehr wahrscheinlich eine sehr frühe Beta oder unveröffentlichte Zwischenversion von SQL Server 2008. Deshalb glaube ich, dass dies wahr ist. Ich habe den höchstmöglichen Build von SQL Server 2005 SP4:
Das ist 2005 + SP4 + CU3 + QFE aus dem Security Bulletin MS12-070 .
Wenn ich die Datenbank von 2005 SP4 sichern und beim allerersten RTM-Build von 2008 wiederherstellen möchte:
Während der Wiederherstellung werden folgende Datenbankversionsmeldungen angezeigt:
Sie werden feststellen, dass 622 der zweite von vielen, vielen Schritten auf dem Weg zwischen einem Build von 2005 und dem allerersten offiziellen öffentlichen Build von 2008 ist. Da es am Ende eines Veröffentlichungszyklus keine CTPs oder Interim-Builds gibt , führt dies Ich glaube, dass dies ein sehr früher Build zu Beginn des Release-Zyklus 2008 war.
Viel mysteriöser ist, wie Sie eine Instanz von SQL Server 2008 haben, die glaubt, es sei Version 612 (die, wie Remus zu Recht daran erinnert hat, 2005 mit aktivierter vardecimal-Option ist), während
@@VERSION
- zumindest laut Frage - 10.0 zurückgegeben wird .1600.22 (das ist 2008 RTM). Ich vermute, Sie versuchen die Wiederherstellung und laufenSELECT @@VERSION;
auf zwei verschiedenen Servern.Ich würde vorschlagen, dass Sie Service Pack 3 und Cumulative Update 14 anwenden und dann erneut versuchen, Ihre Datenbank auf dem 2008-Server wiederherzustellen. Dies sollte Ihre Datenbankversion auf 655 bringen (oder 662/663, wenn Sie die 15K-Partitionsunterstützung aktivieren), und zu diesem Zeitpunkt sollten Sie in der Lage sein, Ihre Datenbank mit der 622-Version problemlos wiederherzustellen (solange sie nicht beschädigt wurde) während eines verpfuschten Upgrades, wie Remus vorgeschlagen hat).
Woher bekommen Sie Ihre Builds von SQL Server? Und warum läuft x86? Es ist 2014. Ist das zugrunde liegende Betriebssystem wirklich 32-Bit?
quelle
Einfach ausgedrückt, Ihre Datenbank stammt aus einer neueren Version von SQL Server, an die Sie sie anhängen möchten, und SQL Server unterstützt dies nicht. Sie können Datenbanken nur an dieselben oder neuere Versionen von SQL Server anhängen, als Sie sie erhalten haben.
Wenn Sie nur auf die Datenbank zugreifen müssen und diese nicht größer als 10 GB ist, können Sie SQL Server Express herunterladen und die Datenbank an diese anhängen. Beachten Sie, dass dadurch die Datenbank auf diese Version aktualisiert wird. Ich würde daher empfehlen, eine Sicherungskopie dieser Dateien zu erstellen. Wenn Ihre Datenbank größer als 10 GB ist, benötigen Sie SQL Server Standard, Enterprise oder Developer, um sie anzuhängen.
quelle