Configurare un database SQL Server per l'utilizzo con Jazz Team Server.
Questa procedura presume che siano stati soddisfatti i seguenti prerequisiti:
- SQL Server è installato
- il servizio SQL Server è avviato
- I driver JDBC di SQL Server sono installati. Per ulteriori informazioni, consultare http://msdn2.microsoft.com/en-us/data/aa937724.aspx
- Il protocollo TCP è abilitato per SQL Server
- L'utente che crea la tabella DB deve avere una delle seguenti autorizzazioni:
- L'utente appartiene al ruolo fisso del server sysadmin oppure è proprietario del database (dbo)
Attenzione: Il nome di login predefinito definito nel file JazzInstallDir/server/teamserver.properties
per un database SQL Server è jazzDBuser e la password predefinita è jazzDBpswd. Questi valori
vengono utilizzati nei passi indicati di seguito per creare un database. È possibile sostituire a questi
valori il nome utente e la password per il database utilizzato.
Configurazione di un database
Questa sezione descrive come
configurare il database SQL Server utilizzando lo strumento di riga comandi sqlcmd,
fornito con l'installazione di SQL Server. È anche possibile utilizzare
uno strumento visuale, come ad esempio SQL Server Studio Management, che è disponibile
anche per la versione Express come SQL Server Studio Management
Express. Per ulteriori informazioni, consultare la documentazione di SQL Server oppure rivolgersi a un DBA (database administrator)
di SQL Server.
Per configurare un database SQL Server utilizzando lo strumento di comandi sqlcmd:
- Creare un database Jazz Team Server.
Dallo strumento di riga comandi, immettere:
CREATE DATABASE jazz
GO
- Creare un utente e una password e modificare la proprietà del database di Jazz Team Server.
Dallo strumento di riga comandi, immettere:
CREATE LOGIN jazzDBuser
WITH PASSWORD = 'jazzDBpswd';
USE jazz;
exec sp_changedbowner 'jazzDBuser'
GO
- Modificare le regole di confronto del database di Jazz Team Server.
Dallo strumento di riga comandi, immettere:
ALTER DATABASE jazz COLLATE SQL_Latin1_General_CP437_CS_AS
GO
Configurazione del server
Attenzione: Per impostazione predefinita,
il file teamserver.properties nella directory JazzInstallDir/server non
è configurato per connettersi a un database SQL Server. Tutte le impostazioni predefinite, insieme alle
impostazioni specifiche per SQL Server, sono contenute nel file teamserver.sqlserver.properties nella
stessa directory.
Per configurare il server:
- Ridenominare i seguenti file:
- Ridenominare il file JazzInstallDir/server/conf/jazz/teamserver.properties come
teamserver.OtherDBProvider.properties
- Ridenominare il file teamserver.sqlserver.properties come
teamserver.properties
Suggerimento: Ridenominare il file teamserver.properties originale
consente di ripristinare il file alla precedente versione funzionante. Per impostazione predefinita,
il provider DB è derby.
- Modificare il file di configurazione del server se si è fatto uso di un nome utente,
una password o un nome di database differenti, si è installato SQL Server su un computer diverso da Jazz Team Server o si sta utilizzando
una porta diversa da quella predefinita. Aprire il file teamserver.properties nella directory JazzInstallDir/server/conf/jazz e
modificare le informazioni qui di seguito elencate in modo che corrispondano alla configurazione.
com.ibm.team.repository.db.vendor = SQLSERVER
com.ibm.team.repository.db.jdbc.location=//IP COMPUTER SQL SERVER:PORTA TCIP SQL SERVER;databaseName=NOME DATABASE JAZZ;user=NOME UTENTE JAZZ;password={password}
com.ibm.team.repository.db.jdbc.password=PASSWORD LOGIN JAZZ
Importante: Non modificare il testo password={password}
nella proprietà com.ibm.team.repository.db.jdbc.location.
La password utente deve essere specificata nella proprietà com.ibm.team.repository.db.jdbc.password.
Importante: Solo per Windows. Assicurarsi che la protezione del server sia in modalità mista. È possibile eseguire questa verifica controllando la protezione del server. Deve essere impostata su "Autenticazione di SQL Server e di Windows".
Per specificare l'ubicazione del file jar per JDBC:
- Nella stessa directory degli script del server (JazzInstallDir/server),
creare una directory denominata sqlserver.
- Individuare il file JAR di driver JDBC di SQL Server, denominato sqljdbc.jar.
L'ubicazione può variare a seconda di dove sono stati installati i driver, come
indicato nella sezione dei prerequisiti. Copiare il file nella directory sqlserver appena creata.
- Specificare l'ubicazione del file JAR JDBC per JDBC completando la seguente attività:
- Configurare la variabile di ambiente SQLSERVER_ABSPATH in modo
che punti alla directory che contiene il file JAR. Se il percorso contiene dei
caratteri spazio, è necessario racchiuderli tra virgolette.
Suggerimento: Se si
utilizza WebSphere Application Server, configurare
una proprietà denominata SQLSERVER_JDBC e impostare quindi
il percorso di directory assoluto (non l'URL) che contiene i driver JDBC di
SQL Server, ad esempio se sqljdbc.jar si trova sotto JazzInstallDir/server/sqlserver.
Per ulteriori informazioni, consultare le istruzioni di configurazione di WebSphere Application Server.
Prendere nota del percorso file per un utilizzo successivo in queste istruzioni.
Risoluzione dei problemi
Se il comando repotools
non viene eseguito con esito positivo, controllare il file di log denominato repotools_createTables.log
che si trova nella directory JazzInstallDir/server.
Verificare inoltre quanto segue:
- L'SQL Server è configurato per consentire le connessioni utilizzando il protocollo
TCP/IP. Se richiesto, riavviare il servizio SQL.
- Il nome host e la porta del computer SQL Server sono riflessi correttamente nel
file teamserver.properties.
- Il nome di login, la password e il nome di database sono riflessi
correttamente nel file teamserver.properties.
- Un firewall non impedisce l'accesso all'SQL Server.
Utilizzare un comando telnet per eseguire il telnet verso il computer utilizzando il nome host
e la porta dal file teamserver.properties.
- L'utente creato dispone delle autorizzazioni appropriate nel database Jazz Team Server.
Nota: Il codice database per
Jazz Team Server è stato
progettato per essere generico e standard per consentire l'esecuzione su più
piattaforme database; tuttavia, esistono delle differenze tra i fornitori di database
aziendali per quanto riguarda la sintassi, le strategie di ottimizzazione
e le semantiche di blocco. Il server è stato testato su SQL utilizzando una
combinazione di test automatizzati e di simulazioni di carichi di lavoro normali e di test
di stress. La simulazione di carichi di lavoro normali ha mostrato
delle prestazioni accettabili. In alcune istanze, sono stati
osservati dei deadlock del database nei test di simultaneità automatizzati;
tuttavia, essi non sono stati riprodotti in modo costante su hardware
server differente.
Il server è progettato per soddisfare un notevole numero
di richieste simultanee. In casi eccezionali, possono verificarsi
dei deadlock nel database repository poiché degli oggetti simili
o uguali vengono aggiornati simultaneamente nelle transazioni
associate alle richieste. Questi eventi sono rari ma normali. Il sistema
è progettato per gestire queste condizioni e l'integrità dei
dati viene conservata; non si verificano perdite di dati.
Di tanto in tanto, dei deadlock sono registrati dalle attività, come
ad esempio l'esecuzione del motore di build. Generalmente, la condizione
viene rilevata e l'attività viene ritentata.
Il deadlock può causare la mancata riuscita di una build. In rarissimi casi, può
verificarsi che un'azione utente, come ad esempio delle operazioni di gestione degli
elementi di lavoro o del codice sorgente, venga interrotta per risolvere un deadlock. In questo caso, l'azione utente ha esito negativo e viene visualizzato
un errore che indica i dettagli relativi a un deadlock. L'utente può quindi ritentare l'azione.
Tutti i deadlock rilevati vengono registrati sul server per fornire informazioni su cosa
è successo quando si è verificato il deadlock. La voce di log ha un testo simile al seguente: com.ibm.team.repository.common.RetryableDatabaseException:
Serialization failure.
Se il sistema rileva dei deadlock, consultare il log degli errori, disponibile all'indirizzo https://nomeserver:9443/jazz/service/com.ibm.team.repository.common.internal.IFeedService?category=SystemLog.
Se si rilevano delle frequenti eccezioni di deadlock, rivolgersi al supporto del prodotto oppure
controllare i forum su jazz.net per le informazioni, gli aggiornamenti o le tecniche di attenuazione più recenti.