Karthick PK 's Blog

Karthick PK's technical blog covering topics such as SQLServer troubleshooting, technologies and security.

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

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

  • Comments 1

 

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
  • 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.

Page 1 of 1 (1 items)
Leave a Comment
  • Please add 1 and 7 and type the answer here:
  • Post