Erro ao instalar Cumulative Update

Recentemente decidi atualizar meu ambiente de homologação com os Services Packs e Cumulatives Updates disponíveis para cada versão do SQL Server. Quem nunca precisou atualizar com SP ou CU seu ambiente SQL Server? E quem nunca se deparou um erro inesperado na atualização? Se você ainda não precisou ou não se deparou com um erro, não se preocupe um dia precisará e passará por isso e esse procedimento tende a ser uma rotina na sua vida.

Pois bem, no meu caso não foi diferente, depois de atualizar mais da metade do meu ambiente, o lado negro da força resolveu aparecer e começar a falhar as minhas atualizações em um determinado cluster.

Eu já havia atualizado nesse mesmo ambiente o Service Pack 2 do SQL Server 2008 R2 e estava tentando atualizar para o Cumulative Update 1 quando os erros começam a aparecer.

Analisando o log de erro gerado que por padrão fica na pasta C:Program FilesMicrosoft SQL Server100Setup BootstrapLog<Data e Hora><Instance Name> encontrei a seguinte mensagem:

Error: Action “Microsoft.SqlServer.Configuration.ScoExtension.VerifiedCopyFileAction” threw an exception during execution.

Microsoft.SqlServer.Setup.Chainer.Workflow.ActionExecutionException: File c:Program FilesMicrosoft SQL ServerMSSQL10_50. <Instance Name>MSSQLBinnDllTmp64sqlagentctr100.dll could not be copied to file path C:Windowssystem32perf-MSSQL10_50. <Instance Name>-sqlagtctr.dll. —> Microsoft.SqlServer.Configuration.ScoExtension.CopyFileException: File c:Program FilesMicrosoft SQL ServerMSSQL10_50. <Instance Name>MSSQLBinnDllTmp64sqlagentctr100.dll could not be copied to file path C:Windowssystem32perf-MSSQL10_50. <Instance Name>-sqlagtctr.dll. —> Microsoft.SqlServer.Configuration.Sco.ScoException: The process cannot access the file ‘C:Windowssystem32perf-MSSQL10_50. <Instance Name>-sqlagtctr.dll’ because it is being used by another process. —> System.IO.IOException: The process cannot access the file ‘C:Windowssystem32perf-MSSQL10_50. <Instance Name>-sqlagtctr.dll’ because it is being used by another process.

Essas duas mensagens em negrito me chamaram atenção para tentar resolver meu problema.

Por que eu não consigo copiar o arquivo? Qual é o processo que está usando essa dll? No meu cluster, primeiramente atualizo os nós passivos, não existia nenhum acesso ou serviço rodando na maquina. Tentei reiniciar o servidor, executar com outro login e nada. Então resolvi dar uma pesquisada na internet e encontrei um post (link) bem simples que resolveu meu problema

Solução é renomear o arquivo o arquivo sqlagtctr.dll dentro da pasta C:Windowssystem32 e executar novamente o setup.

Foi simples de resolver meu problemas porem ainda estou sem saber o motivo do erro acontecer em apenas um ambiente.

Maníaco, entusiasta, fascinado, fanático por SQL Server e nas horas vagas um DBA que adora o que faz! Também possui certificações como: MCT, MCSE - Data Management and Analystics, MCSA - SQL Server 2014/2012

Responda