Archive

Posts Tagged ‘Project Server 2007’

Provisioning ‘PWA’: Failed to provision databases. An exception occurred: Published database schema version 12.2.403.0 newer than project server schema version 12.2.200.0

Olá! Smile

Overview:

Depois de resolver o problema mencionado no post anterior (https://thiagottss.wordpress.com/2011/07/08/cannot-insert-duplicate-key-row-in-object-dbo-objects-with-unique-index-ix_objects_classid_parentid_name/), chegamos ao erro de fato que impedia nosso progresso para instanciar um novo ambiente de PWA.

Cenário:

Para montar o ambiente de desenvolvimento e homologação para migração das informações do Project Server, nós restauramos um backup das bases de dados do Project Server de produção no nosso novo ambiente.

Eis que tivemos o erro mencionado abaixo.

ERRO:

Ao procurar pelos erros no ULS do SharePoint (C:\Program files\Commom Files\Microsoft shared\Web Server Extensions\14\LOGS) encontramos o erro:

Provisioning ‘PWA’: Failed to provision databases. An exception occurred: Published database schema version 12.2.403.0 newer than project server schema version 12.2.200.0.

Bom, esse erro já é mais conhecido no mundo SharePoint, mas dessa vez temos que atualizar o schema version do database do Project Server.

Se fosse na base de dados de conteúdo do SharePoint, isso seria resolvido com algum Cumulative Updade do SharePoint.

SOLUÇÃO:

Com muita pesquisa, encontrei um site muito interessante com os hotfixes do Project Server: http://projectserverhotfixes.com/.

O hotfix que procurávamos para atualizar o schema version do DataBase é o KB2544400: http://support.microsoft.com/kb/2544400/en-us?sd=rss&spid=11388.

Aplique o hotfix e execute o SharePoint Configuration Wizard.

Pronto, agora é só provisionar a instância do Project novamente.

Abraço!

Cannot insert duplicate key row in object ‘dbo.Objects’ with unique index ‘IX_Objects_ClassId_ParentId_Name’

July 8, 2011 1 comment

Olá! Smile

Overview:

O mundo do SharePoint ganha horizontes com proporções gigantescas já que a Microsoft adota fortemente a plataforma e indica que este é o produto que encabeçará a maioria de todos os seus outros produtos. Parece loucura, não é?

Mas perceba que hoje já temos diversos outros produtos que utilizam o SharePoint como interface para colaboração enquanto o produto em si roda no background. Alguns exemplos: Project Server, Dynamics CRM, FAST, etc.

Cenário:

Em mais um projeto da saga “SAP Migration” precisamos colher informações do Project Server e SharePoint para gerar arquivos para o SAP.

Ao iniciar o processo de migração da Farm de Project Server para um ambiente de homologação para realização dos testes das ferramentas de migração, nos deparamos com um erro ao provisionar o site de PWA no Shared Services Provider Adminsitration do SharePoint.

ERRO:

Ao procurar pelos erros no ULS do SharePoint (C:\Program files\Commom Files\Microsoft shared\Web Server Extensions\14\LOGS) encontramos o erro:

Cannot insert duplicate key row in object ‘dbo.Objects’ with unique index ‘IX_Objects_ClassId_ParentId_Name’.

E agora?

Com um pouco (mentira, com MUITA) pesquisa descobri esse erro era causado por o processo tentar fazer duas (ou mais) vezes a mesma operação por que ao gerar erro, o processo de provisionamento da instância PWA não removia as configurações que ele tentou fazer.

Uma dessas configurações, era um TimerJob criado para sincronizar as informações e gravar no bando do Project, com o nome similar a “Project Server Synchronizing job for ‘SharedServices1’” ou no idioma que você tiver disponibilizado na farm. Por exemplo, no meu, o nome estava em PT-BR: “Trabalho de Sincronização do Project Server para ‘SharedServices1’”.

Quando o provisionamento ocorre com sucesso, o processo exclui esse TimerJob. Ou seja, se ele estiver lá nos Job Defitions, vai dar o erro mencionado neste post.

SOLUÇÃO:

Para resolver este problema precisamos remover este TimerJob ANTES de tentar provisionar a instância de PWA novamente. Para isso, faça o seguinte:

1. Vá até a Central Administration do SharePoint > Operations > TimerJob Defitions

2. Localize o TimerJob com o nome mencionado acima: Project Server Synchronizing job for ‘SharedServices1’. O nome muda. De acordo com o idioma o nome é traduzido.

3. Clique com o botão direito em cima do link do Job, copie e cole em um bloco de notas. Com isso vamos identificar o Job que precisamos excluir.

4. Pegue apenas o valor de JobId que contém no link (ex: http://&lt;servername>:<Central Admin Port>/_admin/JobEdit.aspx?JobId=7CC18CF5%2D5C89%2D 47E3%2DA098%2D 99401FD3E689).

5. Troque o valor %2D por chegando a algo similar a um GUID (e é um GUID): 7CC18CF5-5C89-47E3-A098-99401FD3E689.

a. IMPORTANTE: Cada Job tem ID próprio. Você deve localizar o ID do Job do seu ambiente.

6. Repita a operação para cada Job que existir com esse nome. Devemos remover todos os Jobs de Sincronização do Job.

7. Agora que temos os GUIDs vamos deleta-los usando o STSADM com o comando: stsadm –o deleteconfigurationobject –id 7CC18CF5-5C89-47E3-A098-99401FD3E689.

a. Repita a operação para cada Job com seu respectivo GUID.

Pronto, agora é só provisionar a instância do Project novamente.

Abraço!