Configurazione di un database SQL Server

Configurare un database SQL Server per l'utilizzo con Jazz Team Server.

Questa procedura presume che siano stati soddisfatti i seguenti prerequisiti:

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:

  1. Creare un database Jazz Team Server. Dallo strumento di riga comandi, immettere:
    CREATE DATABASE jazz 
    GO 
  2. 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 
  3. 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:

  1. 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.
  2. 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:
  1. Nella stessa directory degli script del server (JazzInstallDir/server), creare una directory denominata sqlserver.
  2. 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.
  3. 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:

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.


Feedback

Il supporto è stato valido? È possibile fornire un feedback a Jazz.net (è richiesta la registrazione) lasciando dei commenti nei forum o tramite l'inoltro di un bug