Einrichtung einer SQL Server-Datenbank für Jazz Team Server.
Für diese Prozedur müssen folgende Voraussetzungen erfüllt sein:
- SQL Server installiert
- SQL Serverdienste gestartet
- JDBC-Treiber für SQL Server installiert; weitere Informationen enthält http://msdn2.microsoft.com/en-us/data/aa937724.aspx
- Für SQL Server aktiviertes TCP-Protokoll
- Der Benutzer, der die Datenbanktabelle erstellt, muss über eine der folgenden Berechtigungen verfügen:
- Zugehörigkeit zur festgelegten Serverrolle sysadmin oder Eigentumsrechte an der Datenbank (dbo)
Hinweis: Der in der Datei jazz_installationsverzeichnis/server/teamserver.properties für eine SQL Server-Datenbank definierte Standardanmeldename lautet jazzDBuser, das Standardkennwort lautet jazzDBpswd. Diese Werte werden in den folgenden Schritten zum Erstellen einer 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 Tool
wird mit SQL Server installiert. Sie können auch ein grafisch orientiertes Tool wie SQL Server Studio Management verwenden, das auch für die
Express-Version unter dem Namen SQL Server Studio Management Express zur Verfügung steht. Weitere Informationen finden Sie in der SQL Server-Dokumentation oder erhalten Sie beim SQL Server-Datenbankadministrator (DBA).
So konfigurieren Sie eine SQL Server-Datenbank mit dem Befehlstool sqlcmd:
- 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 an 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: Standardmäßig ist die Datei teamserver.properties im Verzeichnis
jazz_installationsverzeichnis/server nicht für eine Verbindung zu einer SQL Server-Datenbank konfiguriert.
Alle Standardeinstellungen und die SQL Server-spezifischen Einstellungen sind in der Datei teamserver.sqlserver.properties im selben Verzeichnis enthalten.
So konfigurieren Sie den Server:
- Benennen Sie die folgenden Dateien um:
- Benennen Sie die Datei jazz_installationsverzeichnis/server/conf/jazz/teamserver.properties in teamserver.anderer_datenbankprovider.properties um.
- Benennen Sie die Datei teamserver.sqlserver.properties in teamserver.properties um.
Tipp: Durch Umbenennen des Originals der Datei teamserver.properties können Sie die zuletzt funktionierende Version jederzeit wiederherstellen. Standardmäßig
lautet der Datenbankprovider derby.
- Bearbeiten Sie in folgenden Fällen die Serverkonfigurationsdatei: Sie haben einen anderen Benutzernamen, ein anderes Kennwort oder einen anderen Datenbanknamen verwendet oder Sie haben SQL Server auf einer anderen Maschine als Jazz Team Server installiert oder Sie verwenden einen anderen Port als den Standardport. Öffnen Sie die Datei teamserver.properties im Verzeichnis jazz_installationsverzeichnis/server/conf/jazz und ändern Sie die nachfolgend aufgeführten
Informationen, damit diese mit Ihrer Konfiguration übereinstimmen.
com.ibm.team.repository.db.vendor = SQLSERVER
com.ibm.team.repository.db.jdbc.location=//ip_sql_server_maschine:tcip_port_sql_server;databaseName=jazz_datenbankname;user=jazz_benutzername;password={password}
com.ibm.team.repository.db.jdbc.password=jazz_anmeldekennwort
Wichtig: Ändern Sie keinesfalls die Zeichenfolge "password={password}" in der Eigenschaft com.ibm.team.repository.db.jdbc.location. Geben Sie das Benutzerkennwort in der Eigenschaft com.ibm.team.repository.db.jdbc.password an.
Wichtig: Gilt nur für Windows: Stellen Sie sicher, dass die Serversicherheit dem gemischten Modus entspricht. Überprüfen Sie die Serversicherheit zu diesem Zweck. Die Einstellung für die Serversicherheit muss "SQL Server and Windows Authentication Mode" lauten.
So geben Sie die Position der JAR-Datei für JDBC an:
- Erstellen Sie im gleichen Verzeichnis, in dem sich auch die Server-Scripts befinden (jazz_installationsverzeichnis/server) ein Verzeichnis mit Namen "sqlserver".
- Suchen Sie die JAR-Datei für die SQL Server-JDBC-Treiber mit Namen sqljdbc.jar. Entsprechend den Angaben im Abschnitt zu den Voraussetzungen kann die Position je nach Installation der Treiber variieren. Kopieren Sie die Datei in das neu erstellte Verzeichnis "sqlserver".
- Geben Sie die Position der JAR-Datei für JDBC an. Führen Sie dazu die folgenden Schritte aus:
- Konfigurieren Sie die Umgebungsvariable sqlserver_abspfad dahingehend, dass auf das Verzeichnis verwiesen wird, das die JAR-Datei enthält. Wenn die Pfadangabe Leerzeichen enthält, müssen diese mit Anführungszeichen versehen werden.
Tipp: Wenn Sie WebSphere Application Server verwenden, konfigurieren Sie eine Eigenschaft mit Namen sqlserver_jdbc. Verknüpfen Sie diese mit dem absoluten Verzeichnispfad (nicht URL) für die SQL Server-JDBC-Treiber (z. B., wenn sich Ihre Datei sqljdbc.jar unter jazz-installationsverzeichnis/server/sqlserver befindet). Weitere Informationen hierzu finden Sie in den Konfigurationsanweisungen für WebSphere Application Server. Notieren Sie sich den Dateipfad zwecks späterer Wiederverwendung im Rahmen dieser Anweisungen.
Fehlerbehebung
Wird der repotools-Befehl nicht erfolgreich ausgeführt,
überprüfen Sie die Protokolldatei repotools_createTables.log im Verzeichnis jazz_installationsverzeichnis/server.
Überprüfen Sie zudem Folgendes:
- SQL Server muss so konfiguriert sein, dass Verbindungen über das TCP/IP-Protokoll zulässig sind. Starten Sie bei Bedarf den SQL-Service neu.
- Der Maschinenhostname und der Port für SQL Server müssen in der Datei teamserver.properties richtig angegeben sein.
- Anmeldename, Anmeldekennwort und Datenbankname müssen in der Datei teamserver.properties richtig angegeben sein.
- Eine Firewall darf Sie nicht am Zugriff auf SQL Server hindern. Verwenden Sie einen telnet-Befehl, um durch Angabe des Hostnamens und des Ports aus der Datei teamserver.properties die Telnet-Fähigkeit zu überprüfen.
- Der erstellte Benutzer muss in der Jazz Team Server-Datenbank über die erforderlichen Berechtigungen verfügen.
Anmerkung: Der Datenbankcode für
Jazz Team Server ist ein generischer Standardcode, der auf verschiedenen Datenbankplattformen ausgeführt werden kann. Unterschiede zwischen den Anbietern von Unternehmensdatenbanken gibt es jedoch bei
Syntax, Optimierungsstrategien und Sperrsemantik. Der Server wurde auf SQL Server
mithilfe einer Kombination aus automatisierten Tests und Simulationen normaler Workloads und Belastungstests getestet. Die Simulation
normaler Workloads zeigte ein akzeptables Leistungsverhalten. In einigen Fällen wurden Datenbankdeadlocks bei automatisierten Nebenläufigkeitstests
festgestellt. Diese wurden jedoch nicht durchgängig auf verschiedenen Server-Hardwarekomponenten reproduziert.
Der Server ist so ausgelegt, dass er eine große Anzahl gleichzeitiger Anforderungen bedienen kann. In Ausnahmefällen können Deadlocksituationen in der Repository-Datenbank auftreten, da gleiche oder ähnliche Objekte gleichzeitig in Transaktionen aktualisiert werden, die den Anforderungen zugeordnet sind. Dies sind seltene, aber normale Ereignisse. Das System verhält sich in solchen Situationen eher
defensiv, sodass die Datenintegrität gewährleistet ist. Daten gehen nicht verloren. Gelegentlich werden Deadlocks von Aufgaben protokolliert (z. B. Ausführung von Build-Steuerkomponenten). In der Regel wird eine solche Bedingung festgestellt und die Aufgabe dann wiederholt.
Die Deadlocksituation kann zu einem Fehlschlagen des Builds führen. In sehr seltenen Fällen kann es sich um eine Benutzeraktion wie
Arbeiten mit Vorgängen oder Quellcode handeln, die abgebrochen wird, um eine Deadlocksituation zu beheben. In solchen Fällen schlägt die Benutzeraktion fehl und der Benutzer erhält eine detaillierte Fehlernachricht zur Deadlocksituation. Der Benutzer kann dann versuchen, die Aktion zu wiederholen.
Alle festgestellten Deadlocks werden auf dem Server protokolliert, um Informationen zu den Vorgängen verfügbar zu haben, als die
Deadlocksituation auftrat. Der Protokolleintrag sieht in etwa wie folgt aus: com.ibm.team.repository.common.RetryableDatabaseException:
Serialization failure.
Stellt Ihr System Deadlocks fest, finden Sie weitere Informationen
im Fehlerprotokoll unter https://servername:9443/jazz/service/com.ibm.team.repository.common.internal.IFeedService?category=SystemLog.
Bei häufigen Deadlockausnahmebedingungen wenden Sie sich an Ihre Produktunterstützung oder
überprüfen die Foren unter jazz.net auf aktuelle Informationen, Aktualisierungen oder Lösungsvorschläge.