O erro "Erro interno ao aplicar a atualização" (There was an internal error applying the update) no histórico das aprovações é comum em ambientes que não possuem os requisitos mínimos recomendados para os produtos SharePoint 2013 e Project Server 2013 ou em ambientes com problemas de desempenho e ocorre principalmente com projetos grandes.
O seguinte evento ocorre nos logs do SharePoint:
10/03/2014 06:21:35.51 Microsoft.Office.Project.Server (0x07FC) 0x21EC Project Server Task Statusing and Updates av9k Medium Error is: StatusingInternalError. Details: Status approval internal error Attributes: Microsoft.Office.Project.Server.BusinessLayer.PcsEngine.PcsManagerException: CalcServiceProxy - EndBatchOperation - Exception ---> System.TimeoutException: CalcServiceManager : Timeout when communicating with the worker in sessionId: r2XWq+BmdkWpFUnR5t7Z4yi+7d4vlxHkr2d4K8u/e0ofDJ2i6zAR45P/ABVdTVgg9p05dkr/EeSUDQAVXU1YILfyVh8h9iFKquDFUw7DO6c=System.TimeoutException: This request operation sent to net.tcp://localhost:PORT/GUID did not receive a reply within the configured timeout (00:00:30). The time allotted to this operation may have been a portion of a longer timeout. This may be because the service is still processing the operation or because the service was unable to send a reply message. Please consider increasing the operation timeout (by casting the channel/proxy to IContextChannel and setting the OperationTimeout property) and ensure that the service is able to connect to the client. Server stack trace: at System.ServiceModel.Dispatcher.DuplexChannelBinder.Request [...] Name: Project Server Service Application PSError: StatusingInternalError (3116), LogLevelManager Warning-ulsID:0x6176396B has no entities explicitly specified. 7685be9c-ebb6-20c1-33ba-7f54e8451c86
A solução seria corrigir os problemas de desempenho, porém as vezes existe a necessidade de atuar rápido e nós podemos contornar o problema ajustando o timeout "RequestTimeLimits" do serviço "Project Server Calculation Service" por meio do seguinte comando:
Set-SPProjectPCSSettings -Service Application "Project Server Service Application" -RequestTimeLimits 60000
O valor default é 30000ms (30 segundos):
É necessário de reiniciar o serviço "Microsoft Project Server Calculation Service" (ProjectCalcService15) depois da configuração.
Project Server deve processar as atualizações após essa mudança:
UPDATE:
A seguinte consulta identifica as atualizações que não foram aplicadas:
select p.PROJ_NAME, p.PROJ_UID, t.TASK_NAME, r.RES_NAME from pub.MSP_ASSIGNMENT_TRANSACTIONS at
inner join pub.MSP_Projects p on p.PROJ_UID = at.PROJ_UID
inner join pub.MSP_RESOURCES r on r.RES_UID = at.ASSN_TRANS_SUBMITTER_RES_UID
inner join pub.MSP_ASSIGNMENTS_SAVED t on t.TASK_UID = at.TASK_UID
where at.ASSN_TRANS_STATE_ENUM in (4)
order by p.PROJ_NAME
UPDATE II:
Execute a seguinte consulta para aplicar as atualizações em um projeto determinado pelo GUID identificado a partir da consulta anterior.
Update pub.MSP_ASSIGNMENT_TRANSACTIONSset ASSN_TRANS_STATE_ENUM = 2where PROJ_UID = '<PROJUID-GUID>' and ASSN_TRANS_STATE_ENUM = 4
Abre o projeto no Project Professional e publique o projeto.
Fontes:
David, seu post foi muito util.
ResponderExcluirReinaldo