Blog do Project - Tudo que você queria saber sobre Microsoft Project

Erro ao acessar Meu Perfil “Usuário não encontrado”

[ad]

PROBLEMA:

Quando um usuário de SharePoint Server 2010 utiliza a opção de menu “Meu Perfil”

image

 

É exibida mensagem de erro “Usuário não encontrado”.

image

 

CAUSA:

A conta de usuário foi criada com alguns erros de ortografia e por isso foram necessárias algumas modificações na conta de usuário no AD. Uma das informações modificadas foi o login do usuário.

 

image

 

O usuário já havia navegado pelo portal antes da correção do login e por isso foi criada no site uma referência ao mesmo com o login antigo em /_catalogs/users/simple.aspx

Na listagem de usuários clique sobre o nome desejado para que sejam exibidas as informações detalhadas sobre a conta desejada:

image

 

SOLUÇÃO:

Executar o comando abaixo utilizando o SharePoint 2010 Management Shell para corrigir a conta de usuário no site:

 

$user = Get-SPUser -web http://my.website.url -Identity DomainA\UserA

Move-SPUser -IgnoreSID -Identity $user -NewAlias ‘DomainB\UserB’

 

Após executar os comandos, na tela de detalhes da conta do usuário o login deve ter sido alterado e o erro ao clicar na opção de menu “Meu Perfil” também deve estar resolvido.

Abraços,

Breno Bicalho

Evento: Informações para quem vai no InfoTech 2012

[ad]

O InfoTech 2012 promete entrar para o calendário de Belo Horizonte como um dos maiores eventos. Para quem fez inscrição e vai, sugiro ler o post do pessoal do 100loop sobre como chegar e a entrada.

Lembrando que a inscrição foi para o evento, não para as palestras, por isso cheguem cedo! Para ajudar, vejam este arquivo excel com a agenda de todos os dias:
Agenda do evento InfoTech 2012

Vejo vocês lá!

Abraços,

André Xavier

Evento: InfoTech – Inscrições ESGOTADAS

[ad]

Infotech-small

Como havia divulgado aqui no Blog, vou palestrar no evento InfoTech aqui em Belo Horizonte. Na verdade serão duas palestras.

O evento irá acontecer nos dias 15, 16 e 17 de Maio.

Os 1600 ingressos que disponibilizamos esgotaram em menos de 5 dias!

O evento já é um sucesso!

Quem aproveitou e fez a inscrição, nos vemos lá!

Evento: InfoTech 2012 – Ementas Divulgadas

[ad]

Pessoal,

Como comentei anteriormente, irei palestrar no evento InfoTech 2012 aqui em BH.

 

Como são três dias de evento com diversas palestras acontecendo em simultâneo, alguns podem estar em dúvidas sobre quais trilhas seguir e o que esperar de cada palestra. Por isso o pessoal do 100loop divulgou as ementas de todas as palestras que acontecerão no evento. Abaixo copiei as ementas das minhas palestras:

 

EPM-B01 Gerenciando Demandas, Projetos e Portfólios usando Microsoft Project Server 2010

(quarta-feira, dia 16 de Maio – 19h – Auditório B)

O Project Server 2010 foi o responsável pela unificação de ferramentas para gerenciar demandas, projetos e portfólios da Microsoft. Venha descobrir como a ferramenta irá auxiliar o acompanhamento das demandas, dos projetos e a definir quais os projetos mais alinhados com a estratégia da empresa a serem executados.

 
EPM-C03 Gerenciando Projetos com o Microsoft Project 2010, novidades e dicas

(quarta-feira, dia 16 de Maio – 21h – Auditório C)

O Project 2010 é o lançamento mais ambicioso do Project na última década! Não importa o tamanho e o escopo do projeto que você tem, você encontrará novas funcionalidades para gerenciar o trabalho. Venha aprender como o Project 2010 facilita o planejamento, gerenciamento e relatórios nos projetos.

 

Abraços e espero todos lá!

Att,

André Xavier

Solução de problemas do Project Server 2010

[ad]

Duas sessões que não pude deixar de ir na Project Conference 2012 foram as sessões do meu amigo Brian Smith e do Adrian Jenkins. (Os dois trabalham na equipe de suporte do Project e Project Server)

Foram sessões técnicas dando dicas como descobrir erros e como agir ao encontrar problemas no seu ambiente. Sem dúvida uma (duas) das melhores sessões da Project Conference deste ano em Phoenix.

Adrian-Eu-Brian

Adrian, Eu e o Brian

 

PC319 – Best Practices Troubleshooting Project 2010 Deployments – Part 1

 

PC349 – Best Practices Troubleshooting Project 2010 Deployments – Part 2

 

Aproveitem!

Abraços,

Andre Xavier

Limites do Microsoft Project

[ad]

Sempre me perguntam quantas tarefas o Project suporta. achei esta tabela que tem a maioria dos limites da ferramenta. Ela serve para as versões 2003, 2007 e 2010.

Mas lembre-se que os limites e a velocidade de desempenho reais dependem da configuração do seu computador. Observe que, se não houver memória suficiente, poderão ocorrer erros antes que os limites listados sejam atingidos.

Atributo Máximo
Tarefas por arquivo de projeto 1 milhão
Recursos por projeto 1 milhão
Unidades de recurso por atribuição 60.000.000 de unidades ou 6.000.000.000%
Datas de disponibilidade de recurso 100
Dependências entre tarefas por arquivo de projeto não há limite
Predecessoras por tarefa não há limite
Sucessoras por tarefa não há limite
Níveis da estrutura de tópicos por projeto 65.535
Projetos consolidados 998
Arquivos de projeto abertos por projeto consolidado 998
Arquivos do participante do compartilhamento conectados a um pool de recursos 999 (isto é, o número máximo de arquivos de projeto abertos menos 1 para o próprio pool de recursos)
Janelas abertas 50
Calendários base ilimitado
Exceções de calendário por calendário 1.400
Tarefas imprimíveis no calendário mensal 4.000
Tabelas de taxas para dar suporte a diferentes escalas e taxas de pagamento 5 por recurso
Taxas variáveis por tabela de taxas para dar suporte a aumentos e diminuições de taxa 25
Valor de custo em um campo de unidade monetária 999.999.999.999,99
Valor de trabalho 1.666.666.667 horas
Atribuições de valores de trabalho para:  
  • Atribuições de trabalho
999.999.999 minutos
  • Atribuições de material variáveis
999.999.999 unidades
  • Para atribuições de material fixas
60.000.000 unidades
Células e barras de Gantt que podem ser formatadas diretamente 64.000
Porcentagem do intervalo de ajuste da escala de impressão 10-500%
Texto do cabeçalho de página 5 linhas
Texto do rodapé de página 3 linhas
Texto da legenda de página 3 linhas
Largura da caixa de texto da legenda de página 5 polegadas (12,7 centímetros)
Testes de filtro por filtro 40
Testes de filtro por AutoFiltro 2 por coluna
Data mais antiga permitida para cálculo 1º de janeiro de 1984
Data mais avançada permitida para cálculo 31 de dezembro de 2049
Seleções não contíguas em modo de exibição de planilha 9
Linhas de base 11
Caracteres em campo de texto 255
Caracteres em campo de código da estrutura de tópicos 255
Valores e caracteres em campo Múltiplo Valor de Recurso da Empresa (ERMV) 255 valores, cada um com 255 caracteres
Dígitos em um campo de número 999.999.999.999,99

Livro gratuito: Introducing Microsoft SQL Server 2012

[ad]

Como já disse antes, o Project Server 2010 e o SharePoint Server 2010 já estão preparados para o SQL Server 2012 desde o lançamento do Service Pack 1.

Navegando e lendo sobre o novo SQL, descobri um livro gratuito.

A versão final e completa do eBook Introducing Microsoft SQL Server 2012, escrito por Ross Mistry (@RossMistry) e Misner Stacia (@StaciaMisner).

OBS: Lembrando, o livro é em Inglês!

 

Introducing Microsoft SQL Server 2012 tem 10 capítulos:

PART I   DATABASE ADMINISTRATION (by Ross Mistry)

1.   SQL Server 2012 Editions and Engine Enhancements

2.   High-Availability and Disaster-Recovery Enhancements

3.   Performance and Scalability

4.   Security Enhancements

5.   Programmability and Beyond-Relational Enhancements

PART II   BUSINESS INTELLIGENCE DEVELOPMENT (by Stacia Misner)

6.   Integration Services

7.   Data Quality Services

8.   Master Data Services

9.   Analysis Services and PowerPivot

10.   Reporting Services

 

Boa leitura!

Abraços,

André Xavier

Como evitar Linhas de Base orfãs

[ad]

Este bug esta com a correção prevista para o Cumulative Update de Junho, por isso achei importante traduzir o post do meu amigo Brian Smith.

Os passos abaixo são para evitar o problema e corrigir caso tenha ocorrido.

 
Sintomas:

Linhas de base orfãs causam erro ao publicar. O trabalho na fila é parado com o seguinte status Falha, Mas sem Bloqueio de Correlação. No detalhe do erro você verá alguma coisa parecida com:

ReportingProjectChangeMessageFailed (24006) – The INSERT statement conflicted with the FOREIGN KEY constraint “FK_MSP_EpmTaskBaseline_ProjectUID_TaskUID”. The conflict occurred in database “ProjectServer_Reporting”, table “dbo.MSP_EpmTask”. The statement has been terminated..

GeneralQueueJobFailed (26000) – ReportingProjectPublish.ReportProjectPublishMessageEx

Estas falhas acontecem na ação de reporting na fila, logo isso significará que os relatórios com base no banco de dados Reporting e qualquer atualização do cubo OLAP poderá estar desatualizada.

 
Causa:

A raiz de todos esses problemas é que quando você usa qualquer uma das opções Salvar e Enviar (XML, CSV, Excel, etc).

Ao executar essa ação o Project incorretamente altera alguns valores internos de algumas entidades como tarefas e calendários.

 

Como evitar:

Se você precisa usar o Salvar e Enviar, então a melhor prática até que solte a correção para isso é primeiro salvar o plano para o servidor, e publicar (caso queira). Em seguida, faça o que você precisa com o Salvar e Enviar, e, em seguida, feche o projeto sem salvar e dando check-in. Lembre-se de NÃO salvar quando for questionado, você já salvou antes da ação de Salvar e Enviar, logo pode descartar este ultimo salvar. Como a versão local do cache terá sido “corrompida”, neste caso deve-se excluir o projeto do cache local apenas depois que o check-in estiver concluído.

 

AVISO – as seguintes etapas são consultas diretas nos bancos de dados do Project Server – por favor, certifique-se que você está trabalhando com as bases de dados adequadas ao usar estes – e ter um backup de banco de dados, se algum problema ocorrer.
A detecção desta condição é bastante simples, pois estamos apenas à procura de linhas de base de tarefas que não existem, portanto, a seguinte consulta no banco de dados Draft irá fazer isso:

— Detect for orphan baseline task records that can cause reporting publish job failures.

USE ProjectServer_Draft — specify the appropriate draft database

select PROJ_NAME, MTB.PROJ_UID,TASK_UID,TB_BASE_NUM from MSP_TASK_BASELINES MTB
inner join MSP_PROJECTS MP on MTB.proj_uid=MP.proj_uid
where TASK_UID not in (select TASK_UID from MSP_TASKS)

 

Isto irá retornar as linhas aonde o erro existe – e identificar quais projetos são afetados. Lembre-se de remover o projeto do cache local na máquina dos Gerentes de Projeto, caso contrário eles irão fazer o erro voltar.
Os próximos scripts fazem a limpeza no banco de dados, e eles são simplesmente a exclusão dos registros das tarefas são inexistentes.

— Script to run on the draft DB
USE ProjectServer_Draft — specify the appropriate draft database

delete from MSP_TASK_BASELINES where TASK_UID not in (select TASK_UID from MSP_TASKS)

— Script to run on the published DB
USE ProjectServer_Published — specify the appropriate published database

delete from MSP_TASK_BASELINES where TASK_UID not in (select TASK_UID from MSP_TASKS)

Espero que isso ajude a compreender o problema e a forma de evitá-lo até que a correção venha.

Se você precisar de alguma ajuda com estes passos, sinta-se livre para abrir um chamado de suporte – lembrando que, como isto é um bug o chamdo não é cobrado.

Abraços,

André Xavier

Evento: InfoTech 2012

[ad]

Marque na sua agenda. As comunidades estão organizando um grande evento que acontecerá nos dias 15, 16 e 17 de maio em Belo Horizonte, na Infórium. Serão três noites inteiras com três auditórios rolando palestras simultâneas para você escolher. Reunimos um grupo de profissionais e especialistas em várias tecnologias para trazer em primeira mão para você o que há de mais moderno.

cartaz-infotech2012

Eu irei palestrar no dia 16 de Maio as 19h.

  • EPM-B01 Gerenciando Demandas, Projetos e Portfólios usando Microsoft Project Server 2010 (Auditório B)

E as 21h:

  • EPM-C03 Gerenciando Projetos com o Microsoft Project 2010, novidades e dicas (Auditório C)

Para fazer a inscrição, use o link abaixo:

Abraços,

André Xavier

Importante: Correção para valores duplicados numa PDP

[ad]
O Cumulative Update de Abril do Project Server 2010 inclui algumas correções bastante esperadas, entre elas:

  • A mensagem de “Erro desconhecido” ou “Unknown Error”na Central de Projetos.
  • Ao tentar editar as informações do projeto numa PDP (Página de Detalhe do Projeto), mais de um valor é exibido por campo personalizado.

Neste post irei focar no segundo erro. Apesar do Cumulative Update corrigir o erro e não deixar que ele volte a ocorrer, os valores que foram inseridos no banco de dados de forma errada devido ao bug não são corrigidos. Abaixo estão os passos que serão necessários para detectar e limpar os registros duplicados que causam esse problema.

OBS: Nós recomendamos que você teste os scripts de limpeza em um ambiente de desenvolvimento para que você possa validar os resultados antes de implementar os scripts em um ambiente de produção. Além disso, você só deve executar esta operação quando não houver atividade de usuário no ambiente.

Scripts

  • Script 1 detecta se você está enfrentando esse problema e apresenta os projetos afetados e campos personalizados.
  • Script 2 faz o backup da tabela afetada.
  • Script 3 elimina os registros duplicados.
  • Script 4 desfaz a exclusão, restaurando os registros da tabela de backup. (Executar apenas caso de erro)
  • Script 5 remove a tabela de backup.
Script 1

A consulta SQL a seguir verifica que esta questão está presente em seu banco de dados. Se não retornar nenhuma linha então você não está enfrentando esse problema. Substitua o nome do banco do Project Server no espaço reservado na primeira linha da consulta.

USE <ProjectServer_Published>
SELECT CFV.PROJ_UID, MP.PROJ_NAME, CFV.MD_PROP_UID, CFPV.MD_PROP_NAME, COUNT (*) TOTALCOUNT FROM MSP_PROJ_CUSTOM_FIELD_VALUES AS CFV
INNER JOIN MSP_PROJECTS AS MP ON CFV.PROJ_UID=MP.PROJ_UID
INNER JOIN MSP_CUSTOM_FIELDS_PUBLISHED_VIEW AS CFPV
ON CFV.MD_PROP_UID=CFPV.MD_PROP_UID
where CFPV.MD_PROP_MAX_VALUES=1
GROUP BY CFV.PROJ_UID,MP.PROJ_NAME, CFV.MD_PROP_UID, CFPV.MD_PROP_NAME HAVING COUNT (*) >1
ORDER BY TOTALCOUNT DESC

 

Script 2

O Script 2 cria uma tabela que é chamada MSP_PROJ_CUSTOM_FIELD_VALUES_Backup e faz backup dos registros na tabela MSP_PROJ_CUSTOM_FIELD_VALUES. Certifique-se de que você executar esse script uma vez antes de executar Script 3. Se você quiser desfazer a operação de limpeza que é realizada pelo script 3, você pode executar novamente script 2.

 

USE <ProjectServer_Published>
SELECT * INTO MSP_PROJ_CUSTOM_FIELD_VALUES_BACKUP FROM MSP_PROJ_CUSTOM_FIELD_VALUES

 

 

Script 3

Script 3 primeiro detecta se você está enfrentando esse problema. Se você não estiver enfrentando esse problema, nenhuma ação é tomada. Se você estiver enfrentando esse problema, o script remove os registros duplicados.

USE <ProjectServer_Published>
DECLARE @ITERATIONS AS INT
SET @ITERATIONS=
(SELECT TOP 1 COUNT (*) TOTALCOUNT FROM MSP_PROJ_CUSTOM_FIELD_VALUES AS CFV
INNER JOIN MSP_PROJECTS AS MP ON CFV.PROJ_UID=MP.PROJ_UID
INNER JOIN MSP_CUSTOM_FIELDS_PUBLISHED_VIEW AS CFPV ON CFV.MD_PROP_UID=CFPV.MD_PROP_UID
INNER JOIN MSP_CUSTOM_FIELDS AS CF ON CFV.MD_PROP_UID = CF.MD_PROP_UID
WHERE CF.MD_PROP_MAX_VALUES=1
GROUP BY CFV.PROJ_UID,MP.PROJ_NAME, CFV.MD_PROP_UID, CFPV.MD_PROP_NAME
HAVING COUNT (*) >1
ORDER BY TOTALCOUNT DESC )-1

IF @ITERATIONS IS NULL
BEGIN
PRINT 'DID NOT FIND ANY DUPLICATES TO PROCESS'

END
ELSE
BEGIN

PRINT 'TOTAL ITERATIONS TO PROCESS: '
PRINT @ITERATIONS

WHILE @ITERATIONS <>0
BEGIN
PRINT 'ITERATION COUNT: '
PRINT @ITERATIONS

DECLARE @PROJ_UID AS UNIQUEIDENTIFIER
DECLARE @MD_PROP_UID AS UNIQUEIDENTIFIER
DECLARE @MOD_DATE AS DATETIME
DECLARE ACDELETEDUPLICATERECORDS CURSOR FOR 

SELECT PROJ_UID, MD_PROP_UID, MIN(MOD_DATE) AS MOD_DATE FROM MSP_PROJ_CUSTOM_FIELD_VALUES WHERE PROJ_UID IN
(
SELECT CFV.PROJ_UID FROM MSP_PROJ_CUSTOM_FIELD_VALUES AS CFV
INNER JOIN MSP_PROJECTS AS MP ON CFV.PROJ_UID=MP.PROJ_UID
INNER JOIN MSP_CUSTOM_FIELDS_PUBLISHED_VIEW AS CFPV
ON CFV.MD_PROP_UID=CFPV.MD_PROP_UID
INNER JOIN MSP_CUSTOM_FIELDS AS CF
ON CFV.MD_PROP_UID = CF.MD_PROP_UID
WHERE CF.MD_PROP_MAX_VALUES=1
GROUP BY CFV.PROJ_UID,MP.PROJ_NAME, CFV.MD_PROP_UID, CFPV.MD_PROP_NAME HAVING COUNT (*) >1
)
AND MD_PROP_UID IN
(
SELECT CFV.MD_PROP_UID FROM MSP_PROJ_CUSTOM_FIELD_VALUES AS CFV
INNER JOIN MSP_PROJECTS AS MP ON CFV.PROJ_UID=MP.PROJ_UID
INNER JOIN MSP_CUSTOM_FIELDS_PUBLISHED_VIEW AS CFPV
ON CFV.MD_PROP_UID=CFPV.MD_PROP_UID
INNER JOIN MSP_CUSTOM_FIELDS AS CF
ON CFV.MD_PROP_UID = CF.MD_PROP_UID
WHERE CF.MD_PROP_MAX_VALUES=1
GROUP BY CFV.PROJ_UID,MP.PROJ_NAME, CFV.MD_PROP_UID, CFPV.MD_PROP_NAME HAVING COUNT (*) >1
)

GROUP BY PROJ_UID, MD_PROP_UID
HAVING COUNT (*) >1
ORDER BY PROJ_UID

OPEN ACDELETEDUPLICATERECORDS
FETCH NEXT FROM ACDELETEDUPLICATERECORDS
INTO @PROJ_UID, @MD_PROP_UID, @MOD_DATE
WHILE @@FETCH_STATUS =0 

BEGIN 

DELETE FROM MSP_PROJ_CUSTOM_FIELD_VALUES
WHERE PROJ_UID=@PROJ_UID
AND MD_PROP_UID=@MD_PROP_UID
AND MOD_DATE=@MOD_DATE

FETCH NEXT FROM ACDELETEDUPLICATERECORDS
INTO @PROJ_UID, @MD_PROP_UID, @MOD_DATE 

END 

CLOSE ACDELETEDUPLICATERECORDS
DEALLOCATE ACDELETEDUPLICATERECORDS 

SET @ITERATIONS = @ITERATIONS-1
END
END

 

Script 4

O script 4 só deverá ser executado caso você queira desfazer a operação de limpeza que foi realizada pelo script 3. O Script 4 funciona restaurando os registros que o Script 2 fez backup.

USE <ProjectServer_Published>
DELETE FROM MSP_PROJ_CUSTOM_FIELD_VALUES
INSERT INTO MSP_PROJ_CUSTOM_FIELD_VALUES
SELECT * FROM MSP_PROJ_CUSTOM_FIELD_VALUES_BACKUP

OBS: Executar apenas em caso de algum problema.

 

Script 5

Para remover a tabela de backup criada no Script 2

 

USE <ProjectServer_Published>
DROP TABLE MSP_PROJ_CUSTOM_FIELD_VALUES_BACKUP

Espero ter ajudado !

Abraços,

André Xavier