Da ich in meiner Laborumgebung endlich den System Center Service Manager (Beta 1) installieren wollte, musste ich einiges an Vorarbeit leisten. Unter anderem brauche ich einen Windows SQL Server in der Version 2008 X64. Da aber auch die anderen Laborsysteme dieses Datenbanksystem benutzen, muss ich diese Datenbanken migrieren. In diesem Fall soll der SCCM 2007 SP1 R2 auf diese Plattform umziehen. Die wichtigste Frage hierbei ist, ob der SQL Server 2008 X64 für den SCCM SP1 R2 freigegeben ist. Einen allgemeinen Überblick über das System Center in Verbindung mit dem SQL Server 2008 hat Michael Korp in diesem Blogeintrag gut beschrieben. Da es mittlerweile mehrere Konstellationen des SCCM gegeben kann, anbei ein kurzer Überblick welche Systeme und Upgradepfade unterstützt werden.
In der Technet Library werden jeweils die gültigen und unterstützten Plattformen beschrieben.
Neuinstallation:
Eine Neuinstallation des SCCM RTM auf SQL 2008 wird nicht unterstützt. Hierbei muss die Datenbank des SCCM RTM zuerst auf einem SQL 2005 installiert werden. Danach kann ein Upgrade auf SQL 2008 gefahren werden und im Anschluß muss noch das Hotfix KB955229 "You experience issues in the original release of System Center Configuration Manager 2007 after you upgrade some site databases to SQL Server 2008" installiert werden.
Die SCCM SP1 Datenbank kann direkt auf dem SQL 2008 installiert werden und benötigt dann noch das Hotfix KB955262 “You receive an error message when you click and then update the Drivers node in the Configuration Manager console of a Configuration Manager 2007 Service Pack 1 site that uses SQL Server 2008 for the site database” für den SCCM Provider. Ansonsten gibt es Fehler bei der Anzeige der Treiber im Bereich der Betriebssystembereitstellung in der SCCM Konsole.
Upgrade:
Bei einem Upgrade der SCCM 2007 RTM Datenbank auf SQL 2008 muss noch das Hotfix KB955229 "You experience issues in the original release of System Center Configuration Manager 2007 after you upgrade some site databases to SQL Server 2008" installiert werden.
Bei einem Upgrade der SCCM 2007 SP1 Datenbank auf SQL 2008 muss noch das Hotfix KB955262“You receive an error message when you click and then update the Drivers node in the Configuration Manager console of a Configuration Manager 2007 Service Pack 1 site that uses SQL Server 2008 for the site database” installiert werden.
Seit März 2009 werden nun auch die R2 Features des SCCM 2007 SP1 auf dem SQL 2008 Server unterstützt und es gibt eine Freigabe für den SCCM 2007 SP1 R2 auf dem SQL 2008. In allen Fällen werden beide Plattformen (X86/X64) des SQL 2008 Servers unterstützt.
Das Upgrade im Einzelnen
Als erstes verbindet man sich mit dem SQL 2005 Server Management Studio auf den SQL Server. Hierbei muss gegebenenfalls noch die passende SQL Instanz ausgewählt werden, falls die Datenbank nicht in die Standardinstanz installiert worden ist. Danach wählt man die passende Datenbank der SCCM Site aus. Im Kontextmenü der Datenbank wählt man den Punkt “Backup” aus:
In dem folgenden Fenster wird die Vollsicherung ausgewählt und als Zielmedium wird eine Backupdatei auf der Festplatte ausgewählt. Die Quelle der Sicherung ist in diesem Fall die Datenbank direkt und nicht die nativen Files/ Filegroups.
In der Sektion “Option” wird der Sicherungstyp auf “Full” gesetzt und nach der Sicherung wird die gesamte Sicherungsdatei nochmals auf Konsistenz geprüft.
Je nach Größe der Datenbank und der Geschwindigkeit des Festplattensubsystems kann die Datensicherung schon etwas länger dauern. Nach erfolgreicher Sicherung und positiver Überprüfung der Sicherungsdatei, wird der erfolgreiche Abschluss angezeigt.
Wichtig ist auch, dass man sich die Sortierungseinstellungen des alten Datenbankservers ansieht.
Falls der neue Server nämlich nicht mit der gleichen Sortierung installiert wird, werden in der SCCM Konsole sehr viele Fehlermeldungen vom folgenden Typ nach dem Datenbankumzug in der SCCM Konsole geloggt:
Microsoft SQL Server reported SQL message 468, severity 16: [42000][468][Microsoft][ODBC SQL Server Driver][SQL Server]Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS
In der Konsole sieht die Fehlermeldung dann so aus:
Auch sollte man einen Blick auf die vorhandenen Berechtigungen für diese Datenbank werfen. Diese werden bei einer Rücksicherung zwar automatisch zurückgeschrieben, aber es kann ja nicht Schaden diese Informationen doppelt vorzuhalten.
In den Details werden die Berechtigungen genauer angezeigt.
Falls man auch die WSUS Datenbank der “Software Update Point” Rolle auch dort abgelegt hat, führt man zusätzlich die Datensicherung für diese Datenbank aus.Danach kann man die SQL Server Management Konsole verlassen.
Nach der Sicherung habe ich über die SCCM Konsole die “Software Update Point” Rolle (SUP) deinstalliert, da ja eine Sicherung der WSUS Datenbank vorliegt. Dies ist der einfachste Weg um die Datenbank eines WSUS Servers umzuziehen. Auf dem alten Server wird er WSUS deinstalliert und später wieder installiert und hierbei gibt man dann die vorhandene Datenbank auf dem neuen Datenbank Server an. Primär wird vom WSUS ja nur die Datenbank benötigt und die Updates werden per Verteilungspunkt zur Verfügung gestellt, sodass man nach dem Datenbankumzug die Updates per SCCM wieder verteilen kann.
Der Wizard warnt einen noch, dass diese Rolle essentiell ist und man die Auswirkungen der Deinstallation beachten sollte.
Als letzten Punkt habe ich dann den WSUS Server über die Systemsteuerung deinstalliert.
Einspielen der Sicherung
Als erstes habe ich eine neue Maschine mit Windows 2008 X64 installiert. Danach habe ich den SQL 2008 ohne Service Pack installiert. Im Moment gibt es nämlich noch keine Freigabe für das SP1 des SQL 2008 Servers für den SCCM. Wie im zweiten Artikel schon angesprochen, ist es sehr wichtig bei der Installation des Datenbankservers die richtige Sortierung aus zu wählen. Beim Installationsassistent des SQL Server 2008 kann man Sortierung an dieser Stelle auswählen.
Nach der Auswahl sollte in meinem Fall genau die gleiche Sortierung dort stehen wie auf dem alten SQL Server und diese lautet “ Latin1_General_CI_AS”
Wichtig ist auch, dass die “CLR intergration “ im SQL Server 2008 aktiviert wird. Ansonsten können keine eigene Prozeduren, Trigger und Funktionen benutzt werden, genau diese Funktionalität benutzt der SCCM Server. Im SQL Management Studio kann man mit der folgender Befehlsfolge die CLR Integration einschalten.
EXEC SP_CONFIGURE ’show advanced options’ , ‘1′;
GO
RECONFIGURE;
GO
EXEC SP_CONFIGURE ‘clr enabled’ , ‘1′
GO
RECONFIGURE;
GO
Falls man die Aktivierung der “CRL Integration” vergisst und den Umzug auf diesen SQL Server durchführt, werden in den SCCM Logs folgende Fehler erscheinen.
Im Anschluss habe ich mich mit dem Microsoft SQL Server Management Studio” auf den SQL Server 2008 X64 verbunden. Im Bereich “Datenbanken” habe ich eine neue Datenbank mit dem gleichen Namen der alten Datenbank angelegt.
Im Kontextmenü der neuen Datenbank wird dann der Punkt “Restore” ausgewählt. Hierbei ist wichtig die Sicherung bis zum Ende zurücksichern zu lassen, damit alle Datensätze aus der Sicherung zur Verfügung stehen. In dieser Maske wird dann noch die Backupdatei der Sicherung ausgewählt, welche auf dem alten Datenbankserver über den Backupprozess angelegt wurde. Am besten kopiert man sich die Datei lokal auf den SQL Server damit die Rücksicherung schneller ausgeführt werden kann.
Im Bereich “Optionen” gibt man noch an, dass die Datenbank beim Import überschrieben wird. Das ist in diesem Fall kein Problem, da die Datenbank ganz neu angelegt worden ist.
Nach der erfolgreichen Rücksicherung kann man sich beispielhaft die Tabellen des SCCM Servers in der Datenbank ansehen.
Wie man in den Eigenschaften der zurückgesicherten Datenbank erkennen kann, läuft diese im Kompatibilitätsmodus für den SQL Server 2005. Dies brauch an dieser Stelle auch nicht geändert werden. Auch kann man erkennen, dass die richtige Sortierung aus den Datenbankservereinstellungen für diese Datenbank übernommen wurde.
Im folgenden Schritt müssen wir dem SCCM Server nun die alte, rückgesicherte Datenbank auf dem neuen Datenbankserver zur Verfügung stellen. Hierzu benötigen wir das Tool "preinst.exe" welches sich bei einer Standardinstallation des SCCM Servers im folgenden Pfad befindet:
%programfiles%\Microsoft Configuration Manager\bin\i386\00000409
Das Tool wird mit dem Parameter “stopsite” aufgerufen und stoppt dann alle SCCM Prozesse, sodass keine Zugriffe mehr auf die Datenbank stattfinden.
Wenn zu diesem Zeitpunkt schon kein Zugriff mehr auf die Datenbank auf dem alten Server mehr gegeben ist, wird das Tool sehr lange brauchen um jeweils in einen Timeout zulaufen und wird den Prozess mit Fehlern beenden. Man sollte also sicherstellen das der SCCM Server noch auf den alten Datenbankserver zugreifen kann. Es sollten natürlich keine produktiven Arbeiten vorgenommen werden, da diese nicht in der Sicherung enthalten sind.
Danach muss das Tool “ConfigMgr Setup” geöffnet werden, welches sich unter dem Reiter “All programs” befindet:
"All programs –> Microsoft System Center –> Configuration manager 2007 –> ConfigMgr Setup"
Auf der nächsten Seite wird dann der Punkt für einen “Site Reset” ausgewählt.
Da ja die Einstellungen für den SQL Datenbankserver angepasst werden sollen, wird auf der Folgeseite der mittlere Punkt ausgewählt.
Danach wird der neue SQL Server angegeben und gegebenenfalls die passende Instanz des Datenbankservers. Zusätzlich wird der Name der SQL Datenbank benötigt. Hier wird der SQL Server 2008 mit der zurückgesicherten Datenbank angegeben.
Den Fortschritt der Migration kann man auf der Folgeseite verfolgen.
Auf der letzten Seite hat man dann die Möglichkeit sich die Logdateien anzusehen oder man kann den Wizard schließen und die Migration ist somit erfolgreich abgeschlossen.
Damit der SCCM Server erfolgreich eine Verbindung zum neuen SQL Server herstellen kann muss der SCCM Server einmalig neugestartet werden!
In den Sitesettings muss für den neuen SQL Server dann noch der neue FQDN eingetragen werden.
Nachdem man dann alle Meldungen zurückgesetzt hat, sollten auch keine neuen Fehlermeldungen mehr auftreten und mit der Zeit sollte sich der “Site Status” auf Grün setzen.
Somit ist die Migration der SCCM Datenbank erfolgreich abgeschlossen und im letzten Beitrag dieser Serie werde ich dann noch zeigen wie man den “Software Update Point “ wiederherstellt und die Updates zur Verfügung stellt.
http://faq-o-matic.net/?p=1867