2009-06-13 5 views
1

A SQL 2000 db wurde getrennt, SQL 2000 wurde deinstalliert. Dann SQL 2005 in der gleichen Maschine installiert. Dann wurde die Datenbank an den neu installierten SQL 2005-Server angehängt. Es schien zuerst zu funktionieren, aber nachdem die Benutzer angefangen hatten herumzustöbern, begannen Fehler, die mit null zusammenhingen, zu platzen. Null Werte von Datum/Uhrzeit-Spalten, die nicht NULL haben, und solche Dinge. Die Datenbank hat einen Kompatibilitätsgrad von 2000 (8.0). Was könnte passieren?Angehängte SQL 2000-Datenbank in einem SQL 2005-Server, jetzt VB6-App werfen Fehler

+1

Ich würde es in Kompatibilitätsmodus 90 ändern (SQL 2005) IMHO – RobS

+0

DBCC CHECKDB sehen, ob Ihre Datenbank gesund ist mit –

Antwort

1

Haben Sie DBCC UPDATEUSAGE ausgeführt?

In früheren Versionen von SQL Server, die Werte für die Tabelle und Indexzeile zählt und Seitenzahlen können falsch werden. Daher können Datenbanken, die auf Versionen vor SQL Server 2005 erstellt wurden möglicherweise falsche counts enthalten. Nachdem Sie eine Datenbank auf SQL Server 2005 aktualisiert haben, empfehlen wir, dass Sie DBCC UPDATEUSAGE Sie ungültige Zahlen ausführen. Diese DBCC -Anweisung korrigiert die Zeilen Seiten, reservierte Seiten, Blattseiten und Datenseitenzähler für jede Partition in eine Tabelle oder einen Index. Weitere Informationen finden Sie in DBCC UPDATEUSAGE (Transact-SQL).

Haben Sie alle Indizes neu erstellt?

exec sp_msforeachtable "dbcc dbreindex('?')" 

Hinweis: Seien Sie vorsichtig, wenn dies in Produktion ist, da es eine Weile dauern kann. Vielleicht sprechen Sie mit Ihrem DBA.

+0

zu starten Dies löste das Problem, es gab mehrere Abweichungen mit der gemeldeten Anzahl von Seiten und Zeilen. Danke – nmarmol

+0

Es scheint, dass ich zu früh gesprochen habe. Einer der Tische wirft immer noch Fehler. – nmarmol

+0

Aber der Rest funktioniert gut. – nmarmol