之前在这篇“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
2:Process Explorer定位
process Exploerer可以从官方网址下载,使用也非常简单,更多细节信息参考官方文档,如下所示,也能定位到那个文件被占用(这里是事务日志备份文件被占用),如下截图所示,不过遗憾的是,这个工具也不能定位对应的Windows thread ID。功能上,这个工具比“资源监视器”(Resource Monitor)强大很多。
参考资料:
https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer