Compartilhar via


Corrigir problemas de dados identificados no script A1 de pré-migração (Project Server 2010)

 

Aplica-se a: Project Server 2010

Tópico modificado em: 2016-11-30

Importante

Este artigo foi traduzido automaticamente; consulte o aviso de isenção de responsabilidade. A versão em inglês está disponível aqui para referência.

Após executar o script A1 da pré-migração nos dados do Microsoft Office Project Server 2003, verifique se não há problemas na saída do script. Este artigo descreve métodos para resolver problemas com os dados que são identificados na saída. Isso inclui:

  • Projetos que estão com check-out

  • Projetos que foram editados externamente

  • Projetos com atualização de status pendente

  • Recursos duplicados da empresa

  • A versão de produto do Project Server 2003 deve ter no mínimo o Service Pack 2a

  • Recursos da empresa duplicados em projetos

  • O modelo global da empresa foi editado externamente

  • O modelo global da empresa está com check-out

  • O modelo global da empresa está bloqueado

  • O idioma padrão dos bancos de dados da tabela da Web e de tabelas do Project devem ser correspondentes

  • Recursos da empresa não devem conter vírgulas nos nomes

  • Campos personalizados obrigatórios sem valores no recurso da empresa

  • Campos personalizados de recursos corporativos obrigatórios com valores que não estão na definição da tabela de pesquisa

  • Recursos da empresa foram editados externamente

  • Campos personalizados de duração de recursos corporativos com listas de valores

  • Campos personalizados de duração de recursos corporativos com valores inválidos

Após resolver problemas os problemas com os dados conforme prescrito nesta seção, execute novamente o script A1 da pré-migração para verificar se os problemas com os dados foram resolvidos.

Projetos estão com check-out

Um projeto não pode ser migrado se estiver com check-out. Recomendamos que, antes de qualquer migração, os dados de origem estejam em um estado estável. Verifique os projetos com atenção, para garantir que eles estejam em um estado estável antes de ser migrado. Os coordenadores de migração devem definir um prazo final para que os Gerentes de Projeto façam check-in em seus projetos. Se o prazo for ultrapassado, o check-in deve ser imposto em todos os projetos.

Como corrigir o problema

Faça check-in em todos os projetos que estão com check-out.

Fazer check-in nos projetos que estão com check-out no Project Server 2003

  1. No Project Web Access do Microsoft Office Project Server 2003, clique em Administrador.

  2. Clique em Gerenciar Recursos do Enterprise.

  3. Clique em Fazer check-in em Projetos da Empresa e veja os projetos que estão com check-out. Coordene os check-ins ou execute uma operação forçada de check-in pelo Project Web Access.

Observação

Você também pode testar projetos com check-out, executando a seguinte consulta do SQL nos bancos de dados das "Tabelas do Projeto do Project Server 2003" e "Tabelas da Web do Project Server 2003".
select PROJ_NAME from dbo.MSP_PROJECTS where PROJ_CHECKEDOUT = 1 and PROJ_TYPE in (0, 1)
Se houver retorno de algum resultado, os projetos citados estão com check-out.

Projetos foram editados externamente

Um projeto não pode ser migrado se tiver sido editado externamente.

Como corrigir o problema

Abra o projeto que foi editado externamente no Project Professional 2003, salve-o e faça check-in no projeto novamente no servidor. Esse processo deverá definir o sinalizador Editado externamente como falso.

Projetos com atualizações de status pendente

Por padrão, se projetos do Project Server 2003 possuem atualizações pendentes, eles não migrarão para o Project Server 2007. Antes de migrar, recomendamos que os usuários aceitem ou rejeitem atualizações de status para assegurar que os projetos estão em um estado estável para migrar.

Como corrigir o problema

O parâmetro StopProjectMigrationIfStatusUpdatesPending no arquivo de configuração de migração pode ser configurado para permitir a migração de projetos com atualizações pendentes. Para obter mais informações sobre esse parâmetro, consulte Configurar a ferramenta de migração.

Recomendamos que, antes de qualquer migração, você defina um prazo final para os gerentes de projeto aceitarem ou recusarem as atualizações de status pendentes. Se o prazo for ultrapassado, imponha a migração de todos os projetos (mesmo se as atualizações de status ainda estiverem pendentes).

Recursos duplicados da empresa

O Project Server 2003 ou o Project Server 2007 não oferece suporte para vários recursos no pool de recursos da empresa com o mesmo nome. Se isso acontecer, poderá ser resultado de edições diretas de bancos de dados. Observe que nomes duplicados não podem aparecer no Project Professional durante a edição do Pool de Recursos da Empresa. Isso pode acontecer devido a existência de apenas uma entrada na tabela do MSP_WEB_RESOURCES para um recurso da empresa com esse nome. Não há uma maneira simples de resolver essa situação. Trabalhe com um funcionário experiente no Project Server para encontrar uma solução. A seguir são fornecidas algumas orientações para ajudar a verificar e resolver problemas que ocorrem com recursos da empresa duplicados.

Identificando recursos da empresa duplicados

O script de pré-migração A1 identifica recursos da empresa duplicados caso eles estejam contidos em seus dados. Se o script encontrar recursos da empresa duplicados, os dados serão exibidos de forma semelhante a este exemplo de dois recursos duplicados:

RES_UID RES_NAME RES_EUID

123

Peter Krebbs

123

124

Peter Krebbs

123

125

Brad Sutton

125

126

Brad Sutton

126

Identificar recursos da empresa duplicados usados nos projetos

O script de pré-migração A1 identifica recursos da empresa duplicados caso eles estejam contidos em seus dados. Se o script encontrar recursos da empresa duplicados, os dados serão exibidos de forma semelhante a este exemplo de dois recursos duplicados:

RES_NAME RES_EUID

Peter Krebbs

123

Brad Sutton

125

Brad Sutton

126

Corrigir projetos que usam recursos da empresa duplicados

A execução da consulta a seguir (consulta 1) retorna as IDs de projeto que estão associadas a recursos duplicados da empresa. Esse tipo de duplicação deve ser eliminada, para que apenas uma combinação "res_name, res_euid" seja usada nos projetos. Se houver duplicações, é necessário designar um dos duplicados como o recursos "correto" e verificar se todos os projetos usam esse recurso. (Atualize a coluna MSP_RESOURCES.RES_EUID para que o projeto aponte para o recurso da empresa que você designou como correto). Após fazer isso, execute um script A1 para repetir o teste de verificação para recursos de empresa duplicados usados nos projetos.

Consulta 1:

select res_name,  res_euid, proj_id from msp_resources where res_name in (select distinct r1.RES_NAME from dbo.MSP_RESOURCES r1 inner join dbo.MSP_RESOURCES r2 on (r1.RES_NAME = r2.RES_NAME and r1.PROJ_ID = r2.PROJ_ID) where r1.PROJ_ID = 1 and r1.RES_UID != r2.RES_UID) and proj_id <> 1 and res_euid is not null order by res_name, res_euid asc

Por exemplo, suponha que a execução da consulta 1 retorne estes resultados:

RES_NAME RES_EUID PROJ_ID

Brad Sutton

125

12

Brad Sutton

126

13

Brad Sutton

125

14

Para corrigir a situação, escolha "Brad Sutton" com RES_EUID=125 como o recurso "correto" da empresa e corrija as linhas, desta forma:

RES_NAME RES_EUID PROJ_ID

Brad Sutton

125

12

Brad Sutton

125

13

Brad Sutton

125

14

Corrigir os recursos da empresa duplicados para apontar para o recurso correto

Na seção anterior, você designou um recurso correto entre os duplicados e corrigiu os projetos para apontar para ele. Agora, será necessário alterar a tabela MSP_RESOURCES de acordo com o recurso designado. Execute a consulta 4 (que é a mesma da consulta 1) para obter uma lista de recursos duplicados da empresa. Em seguida, atualize a coluna RES_EUID para que o recurso duplicado aponte para o recurso designado como correto.

Consulta 4:

select res_uid, res_name, res_euid from msp_resources where res_name in (select distinct r1.RES_NAME from dbo.MSP_RESOURCES r1 inner join dbo.MSP_RESOURCES r2 on (r1.RES_NAME = r2.RES_NAME and r1.PROJ_ID = r2.PROJ_ID) where r1.PROJ_ID = 1 and r1.RES_UID != r2.RES_UID) and proj_id = 1 order by res_name asc

Por exemplo, suponha que a consulta 4 retorne estes resultados. A linha "Peter Krebbs" está correta. A linha "Brad Sutton" precisa ser corrigida.

RES_UID RES_NAME RES_EUID

123

Peter Krebbs

123

124

Peter Krebbs

123

125

Brad Sutton

125

126

Brad Sutton

126

Para corrigir a situação, escolha "Brad Sutton" com RES_UID=125 como o recurso "correto" e atualize a outra linha para apontar para esse item. Por exemplo:

RES_UID RES_NAME RES_EUID

123

Peter Krebbs

123

124

Peter Krebbs

123

125

Brad Sutton

125

126

Brad Sutton

125

Remover o recurso duplicado do Pool de Recursos da Empresa

É possível remover um recurso duplicado do Pool de Recursos da Empresa apontando o recurso duplicado para um projeto falso (PROJ_ID = valor inteiro máximo). Além disso, é preciso limpar os calendários da empresa relacionados. Execute a consulta 5 para fazer isso.

Consulta 5:

update msp_resources set proj_id=2147483647 WHERE res_uid != res_euid and res_euid is not null and res_uid > 0 and proj_id = 1

update msp_calendars set proj_id=2147483647 WHERE res_uid not in (select res_uid from msp_resources where proj_id=1) and proj_id = 1 and cal_uid > 0 and res_uid is not null

Depois de concluir as etapas anteriores, tente executar a ferramenta de migração com a opção –verify novamente, para verificar se o problema de recursos duplicados foi solucionado.

A versão do projeto deve ser, no mínimo, "Project Server 2003 SP2a"

A Microsoft oferece suporte à migração de Project Server 2003 SP2a ou SP3. Se não possuir pelo menos o service pack 2a instalado, você precisará aplicar um deles (recomendamos o mais recente, Service Pack 3).

Como corrigir o problema

Aplique o Project Server 2003 SP3 à sua instalação do Project Server 2003. Para obter mais informações sobre o Project Server 2003 SP3, consulte o artigo da base de dados de conhecimento de descrição do Project Server 2003 Service Pack 3 (https://go.microsoft.com/fwlink/?linkid=188720\&clcid=0x416).

O modelo global da empresa foi editado externamente

O sinalizador ‘Editado Externamente’ é configurado como true quando o modelo global da empresa é editado fora do Project (por exemplo, por um aplicativo de terceiros). O Project Professional verificará esse sinalizador: se estiver configurado como true, o Project Professional recalculará todos os dados no modelo global da empresa pra assegurar a consistência. Configura o sinalizador como false para habilitar a migração.

Como corrigir o problema

Abra o modelo global da empresa no Project Professional e salve-o novamente no servidor.

O modelo global da empresa está com check-out

O modelo global da empresa não deve estar com check-out durante a migração dos projetos.

Como corrigir o problema

Verifique se foi feito check-in no modelo global da empresa.

  1. No Project Web Access do Project Server 2003, clique em Administrador.

  2. Clique em Gerenciar Recursos do Enterprise.

  3. Clique em Fazer check-in em Projetos da Empresa e veja quem fez check-out no modelo global da empresa. Coordene o check-in ou execute uma operação de check-in forçado no Project Web Access.

Determinando se o modelo global da empresa está bloqueado

Um projeto é bloqueado se o computador for desligado incorretamente ou se o Project Professional agir de forma inesperada. Se o modelo global da empresa estiver bloqueado, a ferramenta de migração não poderá ser executada.

Como corrigir o problema

A seguinte consulta do SQL desbloqueia o modelo global da empresa. Execute essa consulta SQL no banco de dados "Tabelas de Projetos do Project Server 2003".

Update MSP_PROJECTS set PROJ_LOCKED = 1 where PROJ_TYPE = 2

Determinando se a linguagem padrão nos bancos de dados de tabelas da Web e de tabelas de Projetos coincidem

O idioma padrão dos bancos de dados das tabelas da Web do Project Server 2003 e das tabelas do projeto do Project Server 2003 devem ser correspondentes antes da migração.

Como corrigir o problema

Entre em contato com o administrador para corrigir o estado de inconsistência entre os dois bancos de dados.

Determinando se um recurso tem uma vírgula no nome

Uma limitação do Project Server 2007 o fato de um recurso da empresa (de qualquer idioma) não poder ter vírgulas (,) no nome. Esse caractere deve ser substituído por um caractere válido.

Como corrigir o problema

Execute a seguinte consulta SQL nos bancos de dados "Tabelas de Projetos do Project Server 2003" e "Tabelas da Web do Project Server 2003". A consulta substitui o caractere de vírgula por um caractere de sublinhado. Se desejar usar outro caractere válido, edite a consulta.

-- run this against the project tables db

declare @replacement_char char

declare @char_to_replace char

set @replacement_char = '_'

set @char_to_replace = ','

update dbo.MSP_RESOURCES set RES_NAME = replace(RES_NAME, @char_to_replace, @replacement_char)

where RES_NAME is not null and charindex(@char_to_replace, RES_NAME) > 0

-- run this against the web tables db

declare @replacement_char char

declare @char_to_replace char

set @replacement_char = '_'

set @char_to_replace = ','

update dbo.MSP_WEB_RESOURCES set RES_NAME = replace(RES_NAME, @char_to_replace, @replacement_char)

where RES_NAME is not null and charindex(@char_to_replace, RES_NAME) > 0

Campos personalizados obrigatórios sem valores no recurso da empresa

Os recursos da empresa que não têm um valor em um campo personalizado obrigatório (como o EDR), não poderão ser migrados. Um erro será exibido no log de migração durante a migração. Recomendamos que você verifique esse cenário antes da migração. Se os recursos da empresa forem muito antigos (criados antes do campo personalizado ter se tornado "Obrigatório") ou inativos, eles podem não ter valores nos campos personalizados obrigatórios.

Como corrigir o problema

No Project Server 2003, abra o pool de recursos da empresa e defina os valores dos campos personalizados obrigatórios ou defina os campos personalizados afetados como "Opcional". Você pode alterá-los novamente de forma manual no Office Project Server 2007, após a migração.

Campos personalizados obrigatórios no recurso da empresa possuem valores que não estão na definição na tabela de pesquisa

Todos os valores nos campos personalizados de um recurso devem estar na tabela de definição de pesquisa.

Como corrigir o problema

A consulta SQL a seguir define valores do campo personalizado do recurso como nulo. Execute a seguinte consulta SQL no banco de dados "Tabelas de Projeto do Project Server 2003".

declare @eglobal_proj_id int

set @eglobal_proj_id = (select PROJ_ID from dbo.MSP_PROJECTS where PROJ_TYPE = 2)

update dbo.MSP_MV_FIELDS

set

   CODE_UID = NULL

from dbo.MSP_MV_FIELDS cf1

   left join dbo.MSP_OUTLINE_CODES oc1 on (oc1.CODE_UID = cf1.CODE_UID and (cf1.CODE_FIELD_ID - 76) = oc1.OC_FIELD_ID and oc1.PROJ_ID = @eglobal_proj_id)

   left join (

      select

         oc.CODE_UID,

         fa.ATTRIB_FIELD_ID as OC_FIELD_ID,

         @eglobal_proj_id as PROJ_ID

      from

         dbo.MSP_OUTLINE_CODES oc

         inner join dbo.MSP_FIELD_ATTRIBUTES fa on (fa.PROJ_ID = oc.PROJ_ID and fa.ATTRIB_VALUE = oc.OC_FIELD_ID and fa.ATTRIB_ID = 212)

      where

         oc.PROJ_ID = @eglobal_proj_id

         and fa.PROJ_ID = @eglobal_proj_id

         and fa.ATTRIB_ID = 212

   ) as oc2 on (oc2.CODE_UID = cf1.CODE_UID and (cf1.CODE_FIELD_ID - 76) = oc2.OC_FIELD_ID and oc2.PROJ_ID = @eglobal_proj_id)

where

   cf1.proj_id = 1

   and oc1.CODE_UID is null

   and oc2.CODE_UID is null

update dbo.MSP_CODE_FIELDS

set

   CODE_UID = NULL

from dbo.MSP_CODE_FIELDS cf1

   left join dbo.MSP_OUTLINE_CODES oc1 on (oc1.CODE_UID = cf1.CODE_UID and cf1.CODE_FIELD_ID = oc1.OC_FIELD_ID and oc1.PROJ_ID = @eglobal_proj_id)

   left join (

      select

         oc.CODE_UID,

         fa.ATTRIB_FIELD_ID as OC_FIELD_ID,

         @eglobal_proj_id as PROJ_ID

         from

         dbo.MSP_OUTLINE_CODES oc

         inner join dbo.MSP_FIELD_ATTRIBUTES fa on (fa.PROJ_ID = oc.PROJ_ID and fa.ATTRIB_VALUE = oc.OC_FIELD_ID and fa.ATTRIB_ID = 212)

      where

         oc.PROJ_ID = @eglobal_proj_id

         and fa.PROJ_ID = @eglobal_proj_id

         and fa.ATTRIB_ID = 212

   ) as oc2 on (oc2.CODE_UID = cf1.CODE_UID and cf1.CODE_FIELD_ID = oc2.OC_FIELD_ID and oc2.PROJ_ID = @eglobal_proj_id)

where

   cf1.proj_id = 1

   and oc1.CODE_UID is null

   and oc2.CODE_UID is null

update dbo.MSP_PROJECTS set PROJ_EXT_EDITED = 1, PROJ_EXT_EDITED_CODE = 1 where PROJ_ID = 1

Recursos da empresa foram editados externamente

Para que os recursos da empresa sejam migrados do Project Server 2003 para o Project Server 2007, eles precisam ser editados externamente.

Como corrigir o problema

Para corrigir esse problema, defina todos os Recursos da Empresa como editados externamente, por meio de uma consulta SQL. Em seguida, altere cada Recurso da Empresa para que todas as atualizações relevantes sejam feitas pelo Project Professional quando o Pool de Recursos da Empresa for salvo. Esse processo remove o sinalizador "editado externamente" dos recursos da Empresa. Se algum recurso da Empresa não for alterado, nenhum cálculo será realizado novamente para esse recurso pelo Project Professional. Esse recurso da empresa específico continuará sendo sinalizado como editado externamente, e o Pool de Recursos da Empresa não poderá ser migrado.

Observação

Depois da migração do Pool de Recursos da Empresa, as alterações realizadas em cada Recurso da Empresa poderão ser removidas.

Você pode usar a seguinte solução alternativa geral para remover todos os sinalizadores de edição externa dos Recursos da Empresa.

  1. Defina todos os recursos da empresa como editados externamente. Isso pode ser feito pela execução da seguinte consulta SQL nos bancos de dados "Tabelas de Projetos do Project Server 2003".

    Update dbo.MSP_RESOURCES set EXT_EDIT_REF_DATA = 1 where PROJ_ID = 1

    Update dbo.MSP_PROJECTS set PROJ_EXT_EDITED = 1, PROJ_EXT_EDITED_DATE = 1, PROJ_EXT_EDITED_DUR = 1, PROJ_EXT_EDITED_NUM = 1, PROJ_EXT_EDITED_FLAG = 1, PROJ_EXT_EDITED_CODE = 1, PROJ_EXT_EDITED_TEXT = 1 where PROJ_ID = 1

  2. Adicione temporariamente um campo personalizado secundário a cada Recurso da Empresa para forçar a execução de recálculos pelo Project Professional 2003. Os recálculos forçados não marcarão mais nenhum Recurso da Empresa como editado externamente. Por exemplo, no Project Professional 2003, você pode criar um campo personalizado de recurso de "teste", que será adicionado a cada Recurso da Empresa. Qualquer tipo de campo personalizado pode ser utilizado, como um campo personalizado de Duração do Recurso, que é usado com frequência.

    Observação

    Se você usar um campo personalizado de Duração do Recurso da Empresa, não crie uma lista de valores para ele. Os campos personalizados de Duração do Recurso da Empresa não serão migrados. Use um valor numérico para a criação desse campo personalizado temporário.

    O novo campo personalizado pode ser chamado de "Test Resource CF" (CP de Recurso de Teste). Depois de criar o campo personalizado do "Test Resource CF", abra o Pool de Recursos da Empresa e adicione a coluna "Test Resource CF". Defina um valor válido para esse campo personalizado para todos os recursos. Salve o Pool de Recursos da Empresa e execute a migração. Após a migração, remova o campo personalizado no Microsoft Office Project Professional 2007.

Campos personalizados de duração do recurso da empresa não possuem valores válidos

Os campos personalizados de Duração do Recurso da Empresa com listas de valores associadas causarão falha na migração.

Como corrigir o problema

Para corrigir o problema, remova manualmente as listas de valores de cada campo personalizado de Duração do Recurso da Empresa encontrado na consulta SQL. Isso pode ser feito com o seguinte procedimento.

  1. Abra o Project Professional 2003 conectado ao servidor do Project Server 2003.

  2. No menu Ferramentas , aponte para Opções da Empresa e clique em Abrir Modelo Global da Empresa.

  3. Na página Modelo Global da Empresa com Check-out no Microsoft Project, vá para o menu Ferramentas, aponte para Personalizar e clique em Campos da Empresa.

  4. Na página Campos Personalizados da Empresa, na guia Campos Personalizados, vá para a seção Campos e clique em Recurso.

  5. Na lista suspensa Tipo, clique em Duração. Todos os campos personalizados de Duração da Empresa serão exibidos na lista Campo.

  6. Na lista Campo, selecione o primeiro campo personalizado de Duração do Recurso da Empresa que corresponde aos campos retornados na consulta SQL executada anteriormente. Na seção Atributos Personalizados, clique no botão Lista de Valores. Na lista de valores para o campo personalizado específico de Duração da Empresa, exclua todos os valores da coluna Valor e clique em OK. Na caixa de diálogo do Microsoft Office que é exibida, clique em OK.

  7. Na página Personalizar campos da empresa, na seção Atributos Personalizados, verifique se a opção Lista de Valores não esteja selecionada para o campo personalizado de Duração do Recurso da Empresa selecionado na lista Campo. Se a opção Lista de Valores estiver marcada, selecione Nenhum.

  8. Na lista Campo, selecione todos os campos personalizados de Duração do Recurso da Empresa restantes, que correspondam à consulta SQL, e repita as etapas 6 e 7.

  9. Clique em OK.

Campos personalizados de duração do recurso da empresa não possuem valores válidos

O Project Server 2010 não permite valores de duração negativos ou valores de duração maiores que 34689600, o que causa falha na migração dos campos personalizados de Duração do Recurso da Empresa no Project Server 2003.

Como corrigir o problema

Para corrigir o problema, edite manualmente o valor do campo personalizado de Duração do Recurso da Empresa de cada campo personalizado identificado. Verifique se os valores do campo são válidos (entre 0 e 34689600).

Se o campo identificado pela consulta for um campo personalizado simples (e não um campo de fórmula), você poderá alterar o valor do campo para que fique dentro do intervalo permitido. Se o campo identificado pela consulta for um campo de fórmula, será preciso alterar a fórmula para que o resultado esteja de acordo com o intervalo válido.

Observação

Aviso de isenção de responsabilidade por tradução automática: este artigo foi traduzido por um sistema de computador, sem intervenção humana. A Microsoft oferece essas traduções automáticas para ajudar os usuários que não têm fluência no idioma inglês a usufruir de conteúdo sobre produtos, serviços e tecnologias Microsoft. Como o artigo foi traduzido automaticamente, ele pode conter erros de vocabulário, sintaxe e gramática.