之前在这篇Operating system error 32(failed to retrieve text for this error. Reason: 15105)”博客里面,介绍了因为AWS的DMS的相关会话进程在读取事务日志备份中内容(跟普通的Replication有点不同),导致事务日志备份出现Operating system error 32错误(The process cannot access the file because it is being used by another process)。最近又遇到了这个错误,那么怎么定位是那个事务日志备份文件被进程占用了呢?

 

有两种方式可以定位到那个事务日志文件被占用,如下所示:

 

 

1: 资源监视器(Resource Monitor)定位问题:

 

打开任务管理器, 在性能里面选择资源监视器(Resource Monitor),在CPU模块,在关联句柄(Associated Handles)里面搜索对应数据库名,就可以找到那个备份的事务日志文件被占用了。不过能定位PID,但是定位不到对应的Windows thread ID

 

 

如何定位“Operating system error 32(failed to retrieve text for this error. Reason: 15105)”错误中被占用的文件_备份文件

 

 

2:Process Explorer定位

 

process Exploerer可以从官方网址下载,使用也非常简单,更多细节信息参考官方文档,如下所示,也能定位到那个文件被占用(这里是事务日志备份文件被占用),如下截图所示,不过遗憾的是,这个工具也不能定位对应的Windows thread ID。功能上,这个工具比资源监视器(Resource Monitor)强大很多。

 

 

 

 

如何定位“Operating system error 32(failed to retrieve text for this error. Reason: 15105)”错误中被占用的文件_日志文件_02

 

参考资料:

     https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer