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.

This is Tiago Balabuch's website, and this is a bit of copy about him. He is enthusiast, fascinated, passionate, fanatic by SQL Server and in the off-hours a Data Engineer who loves what he does and he is traveling in the cloud and surfing on the wave of the moment called Azure! Originally from Brazil and with encouragement from family and friends, Tiago moved to Europe in 2017 where lives in Ireland. In addition to being a data engineer, he is also active speaker in the SQL PASS events and keeps up to date on the key technologies and technical certifications. Tiago hold these certification MCT, MCSE - Data Management and Analystics, MCSA - SQL Server 2016/2014/2012. Simply psychedelic and manic he is just one more freak who likes SQL Server and its new features ...

Responda