The process cannot access the file 'C:Windowssystem32perf-MSSQL10_50.MSSQLSERVER-sqlagtctr.dll' because it is being used by another process.

 

SQL Server CU’s update fails with error

ScoException: The process cannot access the file 'C:\Windows\system32\perf-MSSQL10_50.MSSQLSERVER-sqlagtctr.dll' because it is being used by another process. ---> System.IO.IOException: The process cannot access the file 'C:\Windows\system32\perf-MSSQL10_50.MSSQLSERVER-sqlagtctr.dll' because it is being used by another process.

 

In Detail.txt you will find errors like one listed below

Sco: Attempting to normalize directory path 'C:\Windows\system32\perf-MSSQL10_50.MSSQLSERVER-sqlagtctr.dll'
Error: Action "Microsoft.SqlServer.Configuration.ScoExtension.VerifiedCopyFileAction" threw an exception during execution.
Microsoft.SqlServer.Setup.Chainer.Workflow.ActionExecutionException: File C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\DllTmp64\sqlagentctr100.dll could not be copied to file path C:\Windows\system32\perf-MSSQL10_50.MSSQLSERVER-sqlagtctr.dll. ---> Microsoft.SqlServer.Configuration.ScoExtension.CopyFileException: File C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\DllTmp64\sqlagentctr100.dll could not be copied to file path C:\Windows\system32\perf-MSSQL10_50.MSSQLSERVER-sqlagtctr.dll. ---> Microsoft.SqlServer.Configuration.Sco.ScoException: The process cannot access the file 'C:\Windows\system32\perf-MSSQL10_50.MSSQLSERVER-sqlagtctr.dll' because it is being used by another process. ---> System.IO.IOException: The process cannot access the file 'C:\Windows\system32\perf-MSSQL10_50.MSSQLSERVER-sqlagtctr.dll' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
at Microsoft.SqlServer.Configuration.Sco.SqlFile.CopyTo(String targetFileFullPath, Boolean bCopyAcl)
--- End of inner exception stack trace ---
tion, ActionMetadata actionMetadata, TextWriter statusStream)
Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
Slp: The configuration failure category of current exception is ConfigurationFailure
Slp: Watson Bucket 1
Original Parameter Values

2012-07-25 11:01:36 Slp: Parameter 0 : SQL2008@RTM@KB2703282

2012-07-25 11:01:36 Slp: Parameter 1 : Microsoft.SqlServer.Configuration.ScoExtension.VerifiedCopyFileAction.ExecuteAction

2012-07-25 11:01:36 Slp: Parameter 2 : System.IO.__Error.WinIOError

2012-07-25 11:01:36 Slp: Parameter 3 : Microsoft.SqlServer.Configuration.ScoExtension.CopyFileException@1360@3

2012-07-25 11:01:36 Slp: Parameter 4 : System.IO.IOException@-2147024864

2012-07-25 11:01:36 Slp: Parameter 5 : CopyPerfCounterDllToSystemDir

2012-07-25 11:01:36 Slp: Parameter 7 : Microsoft.SqlServer.Configuration.ScoExtension.CopyFileException@CopyFileFailed

2012-07-25 11:01:36 Slp: Parameter 8 : sqlagentctr100.dll

2012-07-25 11:01:36 Slp:
Final Parameter Values

2012-07-25 11:01:36 Slp: Parameter 0 : SQL2008@RTM@KB2703282

2012-07-25 11:01:36 Slp: Parameter 1 : 0x31492EED

2012-07-25 11:01:36 Slp: Parameter 2 : 0x60797DC7

2012-07-25 11:01:36 Slp: Parameter 3 : 0xFDBE3E6D@1360@3

2012-07-25 11:01:36 Slp: Parameter 4 : 0x24C2C4E7

2012-07-25 11:01:36 Slp: Parameter 5 : CopyPerfCounterDllToSystemDir

2012-07-25 11:01:36 Slp: Parameter 7 : 0xCDC6E6DD

2012-07-25 11:01:36 Slp: Parameter 8 : 0xDD73CFED

 

Resolution:

Rename C:\Windows\system32\perf-MSSQL10_50.MSSQLSERVER-sqlagtctr.dll and Re-run the setup.

Note: Name of the above mentioned file would change based on the instance name. so review the detail.txt to get the correct file name,rename it and then re-run the setup.

Similar SQL Server setup issues

 

 

Thank you,

Karthick P.K |Technical Lead | Microsoft SQL Server Support |

My Facebook Page |My Site| Blog space| Twitter

Comments

  • Anonymous
    November 08, 2012
    Thank you for the manual work-around, Are there any intentions to fix the patch so manual intervention is not required? We use automated patching software in designated overnight outage windows. Unles I am missing something, this means a DBA will have to touch every SQL2008R2 SQL Server and MANUALLY rename the files, reboot the server and rerun the patch. Clearly this is unacceptable. Please respond.