Die Datenbank auf einen neuen SQL Server übertragen

Aus verschiedenen Gründen werden Server umgezogen oder konsolidiert, um Server einzusparen. Bei mir war ein Umzug des SQL-Servers fällig. Darauf war auch die Datenbank des BlackBerry Enterprise Servers. Da dieses Szenario sehr häufig vorkommt, habe ich alle Schritte dokumentiert. Es soll eine Hilfe werden für Admins, die vor dem gleichen Problem stehen.

Es wird die Datenbank von einem SQL Server 2005 auf einen anderen Server übertragen, wo die gleiche Version installiert wurde. Zur Konfiguration wurde das SQL Server Management Studio verwendet. Man kann es kostenlos von Microsoft herunterladen. Auch sehr zu empfehlen, wer die kostenlosen Expressversionen des SQL Servers einsetzt.

Als BlackBerry Enterprise Server wird ein 4.1.6 eingesetzt. Wer andere Versionen von SQL Server und/oder BES einsetzt, findet manche Schritte unter einem anderen Namen oder Ort wieder. Prinzipiell ist die Vorgehensweise die gleiche.

 

Ausgangslage:

  • Windows Server 2003 R2, Standard Edition
  • SQL Server 2005

Ziel:

  • Windows Small Business Server 2003 R2, Premium mit
  • SQL Server 2005

 

Die Vorgehensweise entspricht dem KB03112: How to move the BlackBerry Configuration Database to a new Microsoft SQL Server instance

 

1. Den neuen SQL Server vorbereiten

Bevor man die Datenbank auf dem Zielserver anlegen kann, müssen zuerst einige Konfigurationsschritte unternommen werden.

 

Anmeldung für das Servicekonto ermöglichen

Auf dem Zielserver muß erst dem Serviceaccount (besadmin) die nötigen Rechte eingeräumt werden. Dazu öffnet man das SQL Server Managment Studio, erweitert den Knoten Sicherheit und klickt mit der rechten Maustaste auf Anmelden - Neue Anmeldung...

Den Serviceaccount fügt man am besten über den Button Suchen... hinzu.

serverrollen

Als Serverrollen werden dbcreator und serveradmin benötigt. Setzt man die Rollenbasierte Administration beim BES ein, muß man auch noch den sysadmin ankreuzen. dbcreator wird nur zum Anlegen der Datenbank benötigt. Danach kann man dem Konto das Recht wieder entziehen.

 

Netzwerkprotokolle einstellen

Über den SQL Server Konfigurations Manager prüft man bei Netzwerkverbindungen, ob die Protokolle TCP/IP und Named Pipes aktiv sind. Bei einer Änderung muß der SQL-Serverdienst neu gestartet werden.

serverprotokolle

Dabei kann man gleich den Dienst SQL Server Agent starten und den Starttyp auf Automatisch umstellen. Hinweis: Dieser Dienst kommt bei einem SQL Server 2005 Express nicht vor.

sqldienste

 

Eine neue Datenbank erstellen

Nach all den Vorbereitungen legen wir nun die Datenbank an. Dafür existiert das Tool dbcreate.exe. Dazu kopiert man den Ordner Database auf den neuen SQL Server. Den Ordner Database findet man auf der Installations-CD vom BlackBerry Enterprise Server. Alternativ kann man bei RIM das Paket herunterladen. Es ist sehr wichtig, daß die Versionen übereinstimmen. Hat man einen BES 4.1.6 im Einsatz, muß auch der Ordner Database vom dazu gehörigen Paket stammen. In diesem Fall lädt man sich also nochmals das Service Pack 6 herunter und entpackt es.

Die Datei BESMgmt.cfg kann noch etwas angepaßt werden. Die Standardeinstellungen sollten aber bereits ausreichen, um die Datenbank erfolgreich anlegen zu können. Wer keine Standardinstanz für den SQL Server verwendet, muß die Zeile SERVER entsprechend anpassen.

Hier ist ein kurzer Ausschnitt aus der BESMgmt.cfg zu sehen.

; CreateDB.cfg - controls the database create scripts
;
; Comment line start with ';'
; Property names must be upper case
; No spaces allowed (use double quotes to surround values that contain space)
;


DATABASE_NAME=BESMgmt

CMD=Install

; The userid/password to use to create/update to the database. If not set, then the userid will be
; the user executing this program
USERID=
PASSWORD=

SERVER=local

In einer Kommandokonsole wechselt man in das Verzeichnis database und führt den Befehl createdb.exe besmgmt.cfg aus. Wer möchte, kann bereits bei USERID einen Benutzer inkl. Passwort mit genügend Rechten eintragen. Nach meinen Erfahrungen gibt es weniger Probleme, wenn man die Kommandokonsole im entsprechenden Benutzerkontext aufruft (Ausführen als...).

Wenn alles klappt, ist nach einer kleinen Wartezeit eine neue Datenbank angelegt. Tritt ein Fehler auf, hilft das Logfile im gleichen Verzeichnis weiter.

 

2. Die Datenbank sichern

Nun sollte man ein Backup der Original-Datenbank anlegen. Dazu öffnet man das SQL Server Management Studio, klickt mit der rechten Maustaste auf die BESMgmt und wählt Tasks - Sichern...


3. Die Datenbank wieder herstellen

In diesem Schritt wird die Datenbank vom alten SQL Server auf den neuen übertragen. Dazu sind zuerst alle BlackBerry Dienste zu stoppen.

Um die Datenbank zu übertragen, gibt es mit dem SQL Server Management Studio zwei Möglichkeiten

  1. Klick mit der rechten Maustaste auf die BESMgmt, Tasks - Wiederherstellen - Datenbank...
    Dann wählt man die zuvor unter Punkt 2. gesichterte Backupdatei aus.
  2. Trennen der Datenbank, kopieren der Dateien auf den neuen Server und Einhängen der Datenbank.

Ich habe mich für den zweiten Weg entschieden, da man auch gleich den Speicherort der Datenbank ändern kann.

Im Ursprungsserver klickt man mit der rechten Maustaste auf die BESMgmt, dann auf Tasks - Trennen... Falls noch Verbindungen aktiv sind, setzt man ein Häkchen in der Spalte Verbindungen löschen.

Nun kopiert man die beiden Datenbankdateien besmgmt.mdf und besmgmt.ldf zum neuen Speicherort.

Auf dem Zielserver hängt man die neu erstelle Datenbank von Punkt 1. ebenfalls aus.

Mit der rechten Maustaste klickt man auf den Knoten Datenbanken und wählt im Kontextmenü Anfügen...

Mit dem Button Hinzufügen sucht man die zuvor kopierten Datei besmgmt.mdf und schließt den Dialog mit OK. Die Datenbank sollte nun eingebunden werden.

dbanhaengen

 

4. Den BlackBerry Enterprise Server konfigurieren

Als letzter Punkt muß dem BES noch beigebracht werden, daß sich der Speicherort für die Datenbank geändert hat. Dazu öffnet man die BlackBerry Server Konfiguration, klickt im Reiter Datenbankverbindugen auf den Button Datenbank ändern.

Es startet ein Assistent. Die Warnhinweise kann man diesmal getrost ignorieren. Bei SQL-Servername trägt man den neuen Server ein, bei Datenbank besmgmt. Die Authentifzierungmethode stellt man auf Windows (Vertrauungswürdig) ein. Das Häkchen bei der Sicherungsoption kann man ausnahmsweise entfernen.

Man fährt mit dem Assistenten weiter fort, alle anderen Inforamtionen sollten bereits ausgefüllt sein. Am Ende sollte man die Dienste automatisch starten lassen.

Wenn alles gut gegangen ist, sollten die BlackBerry-Dienste wieder gestartet sein. Gegebenenfalls startet man sie manuell und kontrolliert über die Ereignisanzeige, ob Fehler aufgetreten sind.

Zum Schluß kann man noch im BlackBerry Manager kontrollieren, ob die richtige Datenbank eingetragen wurde. Dazu klickt man auf Tools - Options... - Database.

Wurde vorher das Database Notification System (DBNS) eingesetzt, muß man es nochmals installieren.