TFS 2010: SQL Server Instanz ändern

Dieser Artikel wurde von Do, Hoang Viet am Sonntag, 16. September 2012 verfasst. Aktualisiert: 28.01.2014 18:47:06

Der Team Foundation Server 2010 installiert und wird per Default mit dem SQL Server Express konfiguriert. In diesem Tutorial zeigen wir, wie die SQL Server Instanz gewechselt werden kann, um Features wie etwa den Reporting Service zu nutzen, die nicht in der EXPRESS Edition enthalten sind.

Settings

In diesem Tutorial gehen wir davon aus, dass alle Services auf einem Server laufen. Es ist aber durchaus möglich, dass alle Services auf unterschiedlichen Servern laufen. In diesem Fall sind diverse Schritte in diesem Tutorial vermutlich nicht gültig.

Um den Umzug durchführen zu können, müssen Admistratorenrechten für den Server vorliegen.

Die alte Instanz wird in dem Tutorial als SQLEXPRESS bezeichnet. Die neue SQL Server Instanz wird als MSSQLSERVER bezeichnet.

Daten auf den neuen SQL Server

Nachdem der neue SQL-Server installiert ist, wird der TFS für den Datenumzug vorerst abgeschaltet. Hierzu öffnen wir die Konsole und wechseln zum Tools Ordner vom TFS

cd %programfiles%\Microsoft Team Foundation Server 2010\Tools

Mit folgendem Befehl schalten wir den TFS ab:

TFSServiceControl quiesce

Anschließend stoppen wir den SQLEXPRESS über den SQL Server Management Studio.

Nun können wir die jeweiligen Datenbanken vom SQLEXPRESS auf den neue MSSQL übertragen. Hierzu öffnen wir den Data Ordner von SQLEXPRESS. Dieser befindet sich auf

%ProgramFiles%\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA

Hier kopieren wir alle Dateien mit dem Prefix Tfs_ in den Data Ordner vom neuem SQL-Server:

%ProgramFiles%\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DAT

Datenbanken, die kopiert werden:

  • Tfs_Configuration ist die Konfigurationsdatenbank vom TFS. Es ist möglich, dass zwischen dem Tfs_ und dem Configuration weitere Zeichen vorliegen.
  • Tfs_CollectionName ist die Datenbank zu den jeweligen Team Project Collections.
  • Evtl. weitere Datenbanken. Eine vollständige Auflistung bietet die MSDN Library ( externe Link)

Hinweis: Wenn eine andere Version des SQL-Servers anstelle von 2008 installiert ist , dann steht statt der 10 eine andere Zahl.

Nun müssen die Datenbanken anschließend in dem MSSQLSERVER eingebunden werden. Hierzu öffnen wir wieder SQL Server Management Studio und melden uns an.

Anschließend gelangen wir über einen Rechtsklick auf dem Ordner "Databases" in den folgenden Dialog:

 AttachDatabases.jpg

Ein Klick auf "Add..." öffnet das Dialog zum Selektieren von Datenbankdateien. Unter den gelisteten Dateien sind auch die neu kopierten Datenbankdateien "Tfs_Configuration" und "Tfs_TeamCollection"

LocateDBFile.gif

Wir fügen die beiden neuen Datenbanken hinzu (der Dialog erlaubt nur das Markieren einer Datenbank zur selben Zeit, so dass wir den Dialog 2x aufrufen müssen).

Die Datenbanken sind nun auf dem neuen SQL-Server. Nun müssen wir den TFS noch umkonfigurieren, sodass er den neue SQL-Server benutzt.

Data-Tier von TFS Server auf MSSQLSERVER umstellen

Über das mitgelieferten Tools TFSConfig, lässt sich das Data-Tier in einem einzigen Befehl wechseln. Hierzu öffnen wir wieder die Konsole und wechseln zum Tools Ordner vom TFS über

cd %programfiles%\Microsoft Team Foundation Server 2010\Tools

Anschließend führen wir den nachfolgenden Befehl aus um das Data-Tier zu wechseln.

TFSConfig PrepSQL /SQLInstance: ServerName

Als ServerName kommt der Name der SQL-Server-Instanz. Das ist bei MSSQLSERVER im Normalfall der PC-Name. Sind auf dem Server mehrere SQL-Server-Instanzen installiert, so muss man mit einem Backslash die Instanzname angeben: MySQLServer\SQLFull

Nun muss der Besitzer von der Konfigurationsdatenbank noch angepasst werden.

TFSConfig Accounts /ResetOwner /SQLInstance: ServerName /DatabaseName: DatabaseName

Für ServerName gilt das gleiche wie oben beschrieben. DatabaseName ist standardmäßig Tfs_Configuration.

TFS starten

Um etwaige Probleme durch den Datenbankwechseln zu vermeiden, sollte der Cache gelöscht werden. Hierzu öffnen wir die Konsole und führen folgenden Befehl aus:

cd %ProgramFiles%\Microsoft Team Foundation Server 2010\Application Tier\Web Services\_tfs_da
del * /f /s /q /a

Nach dem die Daten vollständig migriert sind und der Cache geleert ist, kann der TFS wieder gestartet werden. Starten wir die Konsole und wechseln wieder zum Tools Ordner:

cd %ProgramFiles%\Microsoft Team Foundation Server 2010\Tools

Danach starten wir den TFS über den Befehl:

TFSServiceControl unquiesce

Der TFS Server steht wieder zur Verfügung! Nun kann der alte SQLEXPRESS deinstalliert werden. Beide SQL Server werden über einen Installer gewartet. Nach dem Klick auf "Remove" im Installer kann man die jeweilige Instanz markieren, die gelöscht werden soll.

Weiterführende Links

  • MSDN-Artikel: Restore Data to a Different Server or Instance  ( externe Link)
  • MSDN-Artikel: Add a Report Server to Your Deployment ( externe Link)
 
blog comments powered by Disqus

Google Anzeigen

Neusten Blogeinträgen

  • CSS: Animationen

    CSS3 bietet von Haus aus Möglichkeiten zur Definition von Animationen über die Property animation. Wie es funktioniert zeigen wir in diesem Artikel.

  • CSS: Alternierende Tabellenzeilen

    Um die Lesbarkeit von Tabellen zu steigern, bietet die CSS die Möglichkeit Tabellenzeilen alternierend zu färben. Wie das funktioniert zeigen, wir ...

  • Unity3D: Konsolenausgabe formatieren

    Die Unitykonsole ist einer der meistgenutzten Feature wenn es bei Unity um Fehlersuche und -behandlung geht. Sie wird dabei schnell voll und verli ...

  • Unity3D: Singleton für langsame Operationen

    Operationen wie Object.FindObjectOfType werden in der Dokumentation von Unity3D Entwickler selbst als sehr langsam beschrieben. Aus dem Grund wird ...

  • Unity3D: Optionale Parameter

    Unity3D (4.3.1) unterstützt keine optionale Parameter, wenn die betroffene Skriptdatei in einem Namespace definiert wird.

Popular Threads

Share it on your network