SCCM Site Database umziehen - Migration

Im ersten Teil dieser Blogeintragserie, haben wir unsere SQL-Server für den Umzug vorbereitet. Jetzt folgt die eigentliche Migration.

Site Database sichern

Als erstes sichern wir unsere Datenbank, indem wir ein Backup erstellen und dieses auf den neuen Server legen. In diesem Fall wurde ein NetworkShare eingerichtet auf den beide Server Zugriffsrechte haben.

Die Sicherung nehmen wir über das SQL Management Studio vor. Dazu wählen wir die zu sichernde Datenbank aus, in unserem Fall CM_P01 Database, führen einen Rechtsklick darauf aus und wählen unter "Tasks", "Back-up..." aus.

Es erscheint ein Backup Assistent. Als Backup Type wählen wir "Full".

Die Sicherung kann wieder einige Zeit in Anspruch nehmen, abhängig von der Größe der Datenbank.

Nach der Sicherung bereiten wir unseren neuen SQL Server vor und überprüfen als Erstes wieder die Einstellungen.

Vorbereitung neuer SQL Server

Der SQL Server muss mindestens dieselbe oder eine höhere Version verwenden. Überprüfen wir also wieder unsere Version mit dem folgenden Befehl und im Anschluss die Collation.

Select @@version

Die Collation kann im Nachhinein nicht mehr geändert werden und wird zum Migrieren benötigt.

Die Collation des SQL Servers muss SQL_Latin1_General_CP1_CI_AS verwenden. Dies können wir im SQL Server Management Studio des SQL Server überprüfen indem wir uns mit der SQL Server Instanz verbinden, einen Rechtsklick auf den Servernamen ausführen und auf "Properties" klicken. Unter "General" befindet sich die Server Collation.

Überprüfe zudem ob CLR-Integration aktiviert ist, beispielsweise über den folgenden Befehl:

sp_configure 'clr enabled'

Hier ist der run_value ausschlaggebend und sagt aus ob CLR aktiviert (1) oder nicht aktiviert (0) ist. Bei mir ist die CLR noch nicht aktiviert, deswegen setze ich den Wert mit dem folgendem Befehl auf 1.

sp_configure 'clr enabled',1

Vor dem Restore sollte überprüft werden ob die nötigen Firewallports geöffnet sind. Eine Auflistung aller Ports befindet sich unter [1]. Zudem darf das SQL Server Datenbankmodul keine dynamischen Ports verwenden. Wie man das vermeiden kann wird unter [2] beschrieben.

Datenbank Restore

Als Nächstes binden wir unsere Datenbank in unseren neuen, bereits vorbereiteten SQL Server ein.

Dafür begeben wir uns in das SQL Server Management Studio des neuen SQL Servers, klicken mit der rechten Maustaste auf "Databases" und wählen "Restore Database" aus. Es erscheint ein "Restore Database Assistent". Da wir unser Datenbankbackup über den Share bereits auf unserem System ablegen konnten,  wählen wir als Quelle „From device“ aus. Der Übersichtlichkeit halber legen wir das Backup in den Microsoft MSSQL Backup Ordner ab.

Nun überprüfen wir ob der Haken bei Restore gesetzt wurde und klicken auf OK. Der Restore kann einige Zeit in Anspruch nehmen, je nachdem wie groß die Datenbank ist. Danach wird die Datenbank im SQL Server Management Studio unter Datenbanken angezeigt werden.

Zusätzlich überprüfen wir noch ob auf dem neuen SQL Server für die Datenbank alle Einstellungen getroffen wurden. Dafür geben wir wieder den folgenden Befehl ein:

select name, collation_name, user_access_desc, is_read_only, state_desc, is_trustworthy_on, is_broker_enabled,is_honor_broker_priority_on from sys.databases

Hier sehen wir nun, dass is truthworthly-on und is-broker-enabled jeweils den Wert 0 haben, also bedeutet das, dass diese nicht aktiviert sind. Das wollen wir nun ändern mit den folgenden Befehlen:

  • Aktivieren des SQL Broker auf Site Database:

USE master; GO ALTER DATABASE CM_P01 SET ENABLE_BROKER GO

  1. Site Database trustworthy aktivieren

USE master; GO ALTER DATABASE CM_PR1 SET TRUSTWORTHY ON GO

  1. Database HONOR_BROKER_PRIORITY setzen

USE master; GO ALTER DATABASE CM_PR1 SET HONOR_BROKER_PRIORITY ON; GO

Anpassen müsst ihr hier natürlich den Namen eurer Datenbank, die in diesem Fall CM_P01 heißt.

Jetzt überprüfen wir noch ob unsere Änderungen auch angenommen wurden. Mit dem folgenden Befehl wird die Datenbank CM_P01 direkt ausgewählt.

select name, collation_name, user_access_desc, is_read_only, state_desc, is_trustworthy_on, is_broker_enabled,is_honor_broker_priority_on from sys.databases where name = 'CM_P01’

Jetzt ist die Datenbank auch wieder bereit um an den Configuration Manager angeschlossen zu werden.

Database an SCCM anschließen

Dafür begeben wir uns auf den SCCM und starten über den Configuration Manager Setup die SCCM Installation. Da wir die Site Database nun dem SCCM zuweisen möchten, wählen wir den Punkt „Perform site maintenance or reset this site“ aus.

Ein Reset wollen wir nicht durchführen, lediglich den SQL Server modifizieren. Im nächsten Schritt wird die aktuelle Konfiguration angezeigt. Diese ändern wir nun. In unserem Beispiel ist der Name der SQL Server Instanz gleich geblieben. Lediglich der Server hat sich geändert. D.h. wir geben hier den Namen des neuen SQL 2014 Server an.

Nach Durchlauf des Wizards, sollten wir noch überprüfen ob alle Services wieder gestartet wurden. Danach sollte der SCCM mit neuer Site Database erreichbar sein.

[1] https://technet.microsoft.com/de-de/library/bb632618.aspx
[2] https://msdn.microsoft.com/de-de/library/ms177440.aspx