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
No Project Web Access do Microsoft Office Project Server 2003, clique em Administrador.
Clique em Gerenciar Recursos do Enterprise.
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.
No Project Web Access do Project Server 2003, clique em Administrador.
Clique em Gerenciar Recursos do Enterprise.
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.
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
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.
Abra o Project Professional 2003 conectado ao servidor do Project Server 2003.
No menu Ferramentas , aponte para Opções da Empresa e clique em Abrir Modelo Global da Empresa.
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.
Na página Campos Personalizados da Empresa, na guia Campos Personalizados, vá para a seção Campos e clique em Recurso.
Na lista suspensa Tipo, clique em Duração. Todos os campos personalizados de Duração da Empresa serão exibidos na lista Campo.
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.
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.
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.
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.