Migration MS SQL Server 2000 => 2005
Vor kurzem haben wir eine der MS SQL Server 2000 Instanz auf 2005 migriert. Wenn man vorher alles mit dem „Upgrade Advisor“ geprüft und die Probleme behoben hat, läuft es ganz easy (und je nach Datenmenge auch lange) ab.
Wir haben uns für die „In-Place“ Migration entschieden, da dann der Instanzname bleibt und keine weiteren Anpassungen nötig sind.
Also bei der Installation die vorhandene Instanz ausgewählt, installieren lassen, fertig … nach ja fast. Zum einen verbleiben die DBs in Kompatibilitätsmodus 80 = MS SQL Server 2000; wenn, dann wollen wir auch die neuen Features nutzen können, also muss das umgestellt werden (nur die „master“ wird automatisch umgestellt!).
Microsoft empfiehlt nach der Migration auf jeden Fall
- die Statistiken
- die Datenplatzverwendung
aktualisieren zu lassen. Ein CheckDB vorher & nachher schadet ebenfalls nicht.
Für das alles zusammen habe ich mir ein kleines Script erstellt, das man auf der jeweiligen DB ausführt:
-- Kompatibilitätsmodus auf 90 = SQL Server 2005 umsetzten DECLARE @DB sysname
SET @DB = (SELECT DB_NAME(DB_ID()))
EXEC dbo.sp_dbcmptlevel @dbname=@DB, @new_cmptlevel=90
-- Neue Option: Seitenüberwachung von "TORN_PAGE_DETECTION" -- auf "Checksum" ändern; verbessert die Fehlererkennung DECLARE @SQL nvarchar(500)
SET @SQL = N'ALTER DATABASE ' + @DB + ' SET PAGE_VERIFY CHECKSUM WITH NO_WAIT'
EXEC sp_executesql @stmt = @SQL
SET @SQL = N'ALTER DATABASE ' + @DB + ' SET PAGE_VERIFY CHECKSUM'
EXEC sp_executesql @stmt = @SQL
GO ---------------------------------------------------------------- -- Index- und Größenstatistiken aktualisieren EXEC master..sp_updatestats @resample ='RESAMPLE'
DBCC UPDATEUSAGE(0) WITH COUNT_ROWS
GO -- Zum Schluß die DB überprüfen lassen; läuft am längsten DBCC CheckDB(0) WITH ALL_ERRORMSGS
GO -- Abschließende Überprüfung: Alle DBs umgestellt? SELECT [name], compatibility_level, page_verify_option_desc
FROM sys.databases
ORDER BY [name]
Genauso wird dann voraussichtlich die Migration MS SQL Server 2005 => 2008 ablaufen.