Configure um banco de dados do SQL Server para trabalhar com o Jazz Team Server.
Este procedimento assume que os seguintes pré-requisitos foram
atendidos:
- O SQL Server está instalado.
- O serviço do SQL Server está iniciado.
- As unidades JDBC do SQL Server estão instaladas.
Para obter informações adicionais, consulte
http://msdn2.microsoft.com/en-us/data/aa937724.aspx
- O protocolo TCP está ativado para o SQL Server.
- O usuário que cria a tabela do BD deve ter uma das seguintes permissões:
- Uma associação na função de servidor corrigida sysadmin ou a propriedade
do banco de dados (dbo)
Lembre-se: O nome de login padrão definido no arquivo JazzInstallDir/server/teamserver.properties para um banco de dados SQL Server é jazzDBuser e a senha padrão é jazzDBpswd. Esses valores
são utilizados nas etapas abaixo para criar um banco de dados. Você pode substituir
esses valores pelo nome de usuário e senha de seu banco de dados.
Configurando um Banco de Dados
Esta seção descreve
como configurar o banco de dados do SQL Server utilizando a ferramenta de linha de comandos sqlcmd, que é fornecida pela instalação do
SQL Server. Você também pode utilizar
uma ferramenta visual, como a SQL Server Studio Management, que também está disponível
para a versão do Express como SQL Server Studio Management
Express. Consulte a documentação do SQL Server ou um administrador de banco de dados do SQL Server
(DBA) para obter informações adicionais.
Para configurar um banco de dados do SQL
Server utilizando a ferramenta de comando sqlcmd:
- Crie um banco de dados do Jazz Team Server.
Na ferramenta de linha de comandos, digite:
CREATE DATABASE jazz
GO
- Crie um usuário e senha e altere a propriedade do banco de dados do Jazz Team Server.
Na ferramenta de linha de comandos, digite:
CREATE LOGIN jazzDBuser
WITH PASSWORD = 'jazzDBpswd';
USE jazz;
exec sp_changedbowner 'jazzDBuser'
GO
- Altere a ordenação do banco de dados do Jazz Team Server.
Na ferramenta de linha de comandos, digite:
ALTER DATABASE jazz COLLATE SQL_Latin1_General_CP437_CS_AS
GO
Configurando o Servidor
Lembre-se: Por padrão, o arquivo teamserver.properties no
diretório JazzInstallDir/server não está configurado
para ser conectado a um banco de dados do SQL Server. Todas as configurações padrão, junto com as
configurações específicas do SQL Server, estão contidas no arquivo teamserver.sqlserver.properties
no mesmo diretório.
Para configurar o servidor:
- Renomeie os arquivos a seguir:
- Renomeie o arquivo JazzInstallDir/server/conf/jazz/teamserver.properties para teamserver.OtherDBProvider.properties
- Renomeie o arquivo teamserver.sqlserver.properties para teamserver.properties
Dica: Renomear o arquivo teamserver.properties original permite que você restaure o arquivo na versão de trabalho anterior. Por padrão,
o Provedor do DB é derby.
- Edite o arquivo de configuração do servidor se tiver utilizado um nome de usuário, uma senha ou um nome de BD diferente, instalado o
SQL Server em uma máquina diferente do Jazz Team Server
ou estiver utilizando uma porta diferente do padrão. Abra o arquivo teamserver.properties no diretório JazzInstallDir/server/conf/jazz, e altere as informações listadas a seguir para corresponder à sua configuração.
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
Importante: Não altere o texto password={password} na propriedade com.ibm.team.repository.db.jdbc.location.
A senha de usuário deve ser especificada na propriedade com.ibm.team.repository.db.jdbc.password.
Importante: Apenas para Windows. Assegure-se de que a segurança de seu servidor esteja em modo combinado. É possível ver isso verificando a segurança do servidor. Ela deveria ser configurada como "Modo de Autenticação do SQL Server e Windows".
Para especificar o local do arquivo JAR para JDBC:
- No mesmo diretório que os scripts do servidor (JazzInstallDir/server), crie um diretório chamado sqlserver.
- Localize o arquivo JAR do driver JDBC do SQL Server, chamado sqljdbc.jar.
O local pode variar dependendo de onde os drivers foram instalados, como observado na seção de pré-requisitos. Copie o arquivo no diretório
sqlserver recém-criado.
- Especifique o local do arquivo JAR do JDBC para o JDBC concluindo a seguinte tarefa:
- Configure a variável de ambiente SQLSERVER_ABSPATH para apontar para o
diretório que contém o arquivo JAR. Se o caminho contiver caracteres de espaço, inclua-o
com aspas.
Dica: Se você utilizar o WebSphere Application Server, configure uma propriedade chamada SQLSERVER_JDBC e, em seguida, configure-a com o caminho de diretório absoluto (não uma URL) que contém os drivers JDBC do SQL Server, por exemplo, se o seu sqljdbc.jar estiver localizado em JazzInstallDir/server/sqlserver.
Para obter informações adicionais, consulte as instruções de configuração do WebSphere Application Server.
Observe o caminho de arquivo para uso posterior nessas instruções.
Resolução de Problemas
Se o comando repotools
não for bem-sucedido, verifique o arquivo de log denominado repotools_createTables.log,
localizado no diretório JazzInstallDir/server.
Além disso,
verifique o seguinte:
- O SQL Server está configurado para permitir conexões utilizando o protocolo
TCP/IP. Se necessário, reinicie o serviço SQL.
- O nome do host e a porta da máquina do SQL Server estão corretamente indicados no
arquivo teamserver.properties.
- O nome de login, a senha e o nome do banco de dados estão adequadamente indicados no
arquivo teamserver.properties.
- Um firewall não está impedindo o acesso ao SQL Server.
Utilize um comando telnet para conectar-se por meio de telnet à máquina utilizando o nome do host e a porta
do arquivo teamserver.properties.
- O usuário criado tem permissões adequadas no banco de dados do Jazz Team Server.
Nota: O código do banco de dados para o
Jazz Team Server foi designado para ser genérico e padrão a fim de ser executado em várias plataformas de banco
de dados; no entanto, existem diferenças de sintaxe, estratégias de otimização e semântica de bloqueio entre os fornecedores de banco de dados corporativos. O servidor
foi testado no SQL Server utilizando uma combinação de testes
automatizados e simulações de cargas de trabalho normais e teste de carga. A simulação de
cargas de trabalho normais mostrou desempenho aceitável. Em alguns casos,
foram observados conflitos de banco de banco de dados em testes de simultaneidade
automatizados; no entanto, eles não foram reproduzidos consistentemente em hardware de servidor
diferente.
O servidor foi projetado para serviço em um grande número
de pedidos simultâneos. Em casos excepcionais, podem ocorrer conflitos
no banco de dados do repositório, como objetos similares ou iguais serem
atualizados simultaneamente em transações associadas aos pedidos. Esses eventos são raros, mas normais. O sistema foi projetado para ser defensivo
contra isso e a integridade de dados é mantida, não há perda de
dados.
Ocasionalmente, os conflitos são registrados por tarefas, como execução do
mecanismo de build. Geralmente, a condição é detectada e a tarefa repetida.
O conflito pode resultar em um build com falha. Em casos muito raros, pode ser uma
ação do usuário, como trabalhar com itens de trabalho ou código de origem,
que é interrompida para resolver um conflito. Nesse caso, a ação do usuário
falha e um erro com detalhes relacionados a um conflito é exibido
ao usuário. O usuário pode então repetir a ação.
Todos os
conflitos encontrados são registrados no servidor para fornecer informações sobre
o que aconteceu quando ocorreu o conflito. A entrada de log tem texto similar
ao seguinte: com.ibm.team.repository.common.RetryableDatabaseException:
Serialization failure.
Se o sistema encontrar
conflitos, consulte o log de erros que está disponível em https://servername:9443/jazz/service/com.ibm.team.repository.common.internal.IFeedService?category=SystemLog.
Se
você encontrar exceções de conflito frequentes, entre em contato com o suporte ao
produto ou verifique os fóruns em jazz.net para obter as informações, atualizações ou
técnicas de atenuação mais recentes.