Konfiguration einer SQL Server-Datenbank für die Arbeit mit Jazz-Team-Server.
Für diese Prozedur wird vorausgesetzt, dass die folgenden Vorbedingungen erfüllt sind:
- SQL Server ist installiert.
- Der SQL Server-Service ist gestartet.
- Sie haben die JDBC-Treiber für SQL Server installiert. Weitere Informationen hierzu finden Sie in http://msdn2.microsoft.com/en-us/data/aa937724.aspx.
- Das TCP-Protokoll ist für SQL Server aktiviert.
- Der Benutzer, der die DB-Tabelle erstellt hat, muss über eine der folgenden
Berechtigungen verfügen:
- Zugehörigkeit zum festgelegten Serveraufgabenbereich sysadmin oder Eigentumsrecht
der Datenbank (dbo)
Hinweis: Der Standardanmeldename in der Datei 'JazzInstallDir/server/teamserver.properties' für eine
SQL Server-Datenbank lautet jazzDBuser und das Standardkennwort ist jazzDBpswd. Diese Werte werden in den folgenden Schritten zur Erstellung der Datenbank verwendet. Sie können diese Werte durch den Benutzernamen und das Kennwort für Ihre Datenbank ersetzen.
Datenbank konfigurieren
In diesem Abschnitt wird beschrieben, wie die SQL Server-Datenbank mithilfe des Befehlszeilentools sqlcmd konfiguriert wird, das mit der Installation von SQL Server bereitgestellt wird. Sie können auch ein grafisch orientiertes Tool wie zum Beispiel SQL Server Studio Management verwenden, das auch für die Express-Version als SQL Server Studio Management Express verfügbar ist. Weitere Informationen hierzu finden Sie in der Dokumentation zu SQL Server oder erhalten Sie von einem SQL Server-Datenbankadministrator (DBA).
Gehen Sie wie folgt vor, um eine SQL Server-Datenbank mithilfe des Befehlszeilentools sqlcmd zu konfigurieren:
- Erstellen Sie eine Jazz-Team-Server-Datenbank.
Geben Sie im Befehlszeilentool Folgendes ein:
CREATE DATABASE jazz
GO
- Erstellen Sie einen Benutzer und ein Kennwort und ändern Sie das Eigentumsrecht der Jazz-Team-Server-Datenbank.
Geben Sie im Befehlszeilentool Folgendes ein:
CREATE LOGIN jazzDBuser
WITH PASSWORD = 'jazzDBpswd';
USE jazz;
exec sp_changedbowner 'jazzDBuser'
GO
- Ändern Sie die Sortierung der Jazz-Team-Server-Datenbank.
Geben Sie im Befehlszeilentool Folgendes ein:
ALTER DATABASE jazz COLLATE SQL_Latin1_General_CP437_CS_AS
GO
Server konfigurieren
Hinweis: Die Datei 'teamserver.properties' im Verzeichnis 'JazzInstallDir/server' ist standardmäßig nicht für die Verbindung zu einer SQL Server-Datenbank konfiguriert. Alle Standardeinstellungen sind zusammen mit den für SQL Server spezifischen Einstellungen in der Datei 'teamserver.sqlserver.properties' in demselben Verzeichnis enthalten.
Gehen Sie wie folgt vor, um den Server zu konfigurieren:
- Benennen Sie die folgenden Dateien um:
- Benennen Sie die Datei 'JazzInstallDir/server/conf/jazz/teamserver.properties' in
'teamserver.OtherDBProvider.properties' um.
- Benennen Sie die Datei 'teamserver.sqlserver.properties' in 'teamserver.properties' um.
Tipp: Wenn Sie die ursprüngliche Datei 'teamserver.properties' umbenennen, können Sie die Datei für die frühere Arbeitsversion wieder herstellen. Als Datenbankprovider ist standardmäßig derby festgelegt.
- Bearbeiten Sie die Serverkonfigurationsdatei, wenn Sie einen anderen Benutzernamen, ein anderes Kennwort oder
einen anderen Datenbanknamen verwendet haben, wenn Sie SQL Server auf einer anderen Maschine
als Jazz-Team-Server installiert haben oder wenn Sie einen anderen Port als den Standardport verwenden. Öffnen Sie die Datei 'teamserver.properties' im Verzeichnis 'JazzInstallDir/server/conf/jazz'
und ändern Sie die unten aufgelisteten Informationen so, dass Sie zu Ihrer Konfiguration passen.
com.ibm.team.repository.db.vendor = SQLSERVER
com.ibm.team.repository.db.jdbc.location=//SQL SERVER MACHINE IP:SQL SERVER TCIP PORT;databaseName=JAZZ DATABASE NAME;user=JAZZ USERNAME;password={password}
com.ibm.team.repository.db.jdbc.password=JAZZ LOGIN PASSWORD
Wichtig: Ändern Sie nicht den Text 'password={password}' in der Eigenschaft com.ibm.team.repository.db.jdbc.location.
Das Benutzerkennwort muss in der Eigenschaft com.ibm.team.repository.db.jdbc.password angegeben werden.
Wichtig: Nur für Windows. Stellen Sie sicher, dass sich Ihr Server im gemischten Modus befindet. Sie können dies bestätigen, indem Sie die Serversicherheit überprüfen. Es sollte der Modus für die Authentifizierung von SQL Server und Windows eingestellt sein.
Gehen Sie wie folgt vor, um die Position der JAR-Datei für JDBC
anzugeben:
- Erstellen Sie in dem Verzeichnis, in dem sich die Server-Scripts befinden
(JazzInstallDir/server),
das Verzeichnis 'sqlserver'.
- Suchen Sie die JAR-Datei 'sqljdbc.jar' für den SQL Server-JDBC-Treiber.
Die Position kann abhängig vom Installationsverzeichnis der Treiber, wie im Abschnitt zu den Voraussetzungen erläutert, unterschiedlich sein. Kopieren Sie
die Datei in das soeben erstellte
Verzeichnis 'sqlserver'.
- Geben Sie die Position der JDBC-JAR-Datei für JDBC durch Ausführen der folgenden Task an:
- Konfigurieren Sie die Umgebungsvariable SQLSERVER_ABSPATH so, dass auf das Verzeichnis verwiesen wird, in dem sich
die JAR-Datei befindet. Wenn im Pfad Leerzeichen enthalten sind,
müssen Sie diese in Anführungszeichen
setzen.
Tipp: Wenn Sie WebSphere
Application Server verwenden, konfigurieren Sie die Eigenschaft SQLSERVER_JDBC; stellen Sie anschließend
für diese Eigenschaft einen absoluten Verzeichnispfad (keine URL) ein, der die SQL Server-JDBC-Treiber enthält, beispielsweise
wenn Ihre Datei sqljdbc.jar sich
in JazzInstallDir/server/sqlserver
befindet.
Weitere Informationen hierzu finden Sie in den Konfigurationsanweisungen zu WebSphere Application Server.
Notieren Sie den Dateipfad für die spätere Verwendung in diesen Anweisungen.
Fehlerbehebung
Wenn der Befehl von Repository Tools fehlschlägt, überprüfen Sie die Protokolldatei 'repotools_createTables.log' im Verzeichnis 'JazzInstallDir/server'.
Überprüfen Sie auch Folgendes:
- SQL Server ist so konfiguriert, dass Verbindungen unter Verwendung des TCP/IP-Protokolls zulässig sind. Starten Sie bei Bedarf den SQL-Service erneut.
- Hostname und Port der SQL Server-Maschine werden in der Datei 'teamserver.properties' ordnungsgemäß angegeben.
- Anmeldename, Kennwort und Datenbankname werden in der Datei 'teamserver.properties' ordnungsgemäß angegeben.
- Der Zugriff auf SQL Server wird nicht durch eine Firewall verhindert.
Verwenden Sie einen Telnet-Befehl, um mit Telnet eine Verbindung zu der Maschine herzustellen; verwenden Sie für diesen Verbindungsaufbau den Hostnamen und den Port in der Datei 'teamserver.properties'.
- Der erstellte Benutzer hat die ordnungsgemäßen Berechtigungen in der Jazz-Team-Server-Datenbank.
Anmerkung: Der Datenbankcode für
Jazz-Team-Server wurde generisch und dem Standard entsprechend gestaltet, damit er auf mehreren Datenbankplattformen ausgeführt werden kann; zwischen den Datenbankanbietern gibt es jedoch Unterschiede in Bezug auf Syntax, Optimierungsstrategien und Verriegelungssemantik. Der Server wurde für SQL Server mithilfe einer Kombination aus automatisierten Tests, Simulationen mit normaler Auslastung und Belastungstests getestet. Die Simulationen mit normaler Auslastung ergaben eine akzeptable Leistung. In einigen Fällen wurden bei automatisierten Tests Datenbank-Deadlocks festgestellt, die aber nicht konsistent auf einer anderen Server-Hardware reproduziert werden konnten.
Der Server ist für die Verarbeitung einer großen Anzahl simultaner Anforderungen ausgelegt. In Ausnahmefällen können Deadlocks in der Repository-Datenbank auftreten, wenn ähnliche oder gleiche Objekte gleichzeitig in Transaktionen aktualisiert werden, die den Anforderungen zugeordnet sind. Hierbei handelt es sich um seltene, aber normale Ereignisse. Das System ist so konzipiert, dass solche Ereignisse aufgefangen werden können und die Datenintegrität erhalten bleibt; es kommt somit nicht zu einem Datenverlust.
Manchmal werden Deadlocks durch Tasks dokumentiert, wie zum Beispiel durch die Ausführung einer Build-Engine. Normalerweise wird die Bedingung ermittelt und die Ausführung der Task erneut versucht.
Der Deadlock kann das Fehlschlagen der Erstellung zur Folge haben. In sehr seltenen Fällen kann es sich um eine Benutzeraktion handeln, wie zum Beispiel die Arbeit mit Arbeitselementen oder Quellcode, die abgebrochen wird, um einen Deadlock zu beheben. In einem solchen Fall schlägt die Benutzeraktion fehl und ein Fehler mit den Details zum Deadlock wird angezeigt. Der Benutzer kann die Aktion anschließend erneut versuchen.
Alle aufgetretenen Deadlocks werden auf dem Server protokolliert, um Informationen über die Ereignisse vor dem Auftreten des Deadlocks bereitzustellen. Der Protokolleintrag besteht aus ungefähr folgendem Text: com.ibm.team.repository.common.RetryableDatabaseException: Serialization failure.
Wenn auf Ihrem System Deadlocks auftreten, überprüfen Sie das Fehlerprotokoll, das unter 'https://servername:9443/jazz/service/com.ibm.team.repository.common.internal.IFeedService?category=SystemLog' zur Verfügung steht.
Wenn häufiger Deadlock-Ausnahmebedingungen auftreten, setzen Sie sich mit Ihrer Produktunterstützung in Verbindung oder überprüfen in den Foren von 'jazz.net' die neusten Informationen, Aktualisierungen oder Migrationstechniken.