无法删除SQLServer2005数据或日志文件

时间:2009-01-19 15:37:48

标签: sql-server-2005 locking mdf ldf

我正在尝试恢复备份,但我一直收到操作系统错误32 - 因为在使用中无法删除。

无法弄清楚锁定数据和日志文件的原因 - 所以我重启了机器,停止了服务,但仍然没有运气。

然后我删除了数据库,但数据和日志文件仍在那里。

再次重启 - 试图删除它们,但看起来没什么可做的,Windows不让我。

有什么想法吗?

7 个答案:

答案 0 :(得分:3)

使用Process Explorer,这是一个Microsoft工具,可以告诉您哪个进程当前有文件锁定,这将告诉您在删除文件之前需要停止/关闭的内容。

这是一个关于找出锁定文件的人的教程:

http://windowsxp.mvps.org/processlock.htm

答案 1 :(得分:3)

防病毒软件是捕获DBA的软件 - MDF / LDF文件相当大,我见过AV软件锁定文件以扫描它们的情况,但由于文件大小,它需要永远。您可以尝试停止防病毒服务。

另一个是备份程序 - 如果您使用的是基于文件的备份(如Backup Exec或NetBackup),那么他们可能正在尝试运行文件备份。检查是否有任何备份软件服务,停止这些服务,然后尝试删除这些文件。

您可能还安装了多个SQL Server实例,这可能属于另一个实例,而不是您正在使用的实例。

答案 2 :(得分:1)

我遇到了类似的错误,在分离数据库后我无法删除数据文件和日志文件。

我收到的错误是“管理员权限”是必需的。

通过更改文件的权限解决了问题。 转到运行提示 - >输入“windows explorer” - >以管理员身份运行并访问该文件。

右键单击文件名并选择“属性”。转到“安全选项卡”,然后添加具有完全权限的域帐户。

现在,您可以删除该文件。

答案 3 :(得分:0)

您应该能够分离(而不是删除)数据库,然后移动或删除数据文件。

Microsoft KB.

答案 4 :(得分:0)

您在SSMS中删除了数据库,但文件仍在那里? (如果您“删除”条目,则不应再分离“ 您可能已选中“保留数据文件”复选框

但我想重启应该允许你删除实际的.mdf和.ldf文件 如果没有,请尝试启动到安全模式并删除实际文件

答案 5 :(得分:0)

我遇到了“系统使用”错误的另一个原因。在我的情况下,从所有实例分离并重新启动后,我无法删除文件。这不是安全权限问题。任何程序都没有使用它,因为进程资源管理器没有显示使用它的任何进程。在我的情况下,原因是由Visual Studio TFS 错误地检出mdf。看来如果你签出文件然后松开与TFS服务器的连接 - 你将无法删除或重命名文件“正在使用系统”。即使没有VS开始。可以在安全模式下删除文件。而且,更重要的是 - 如果您将TFS重新联机并正确执行 CheckIn ,则可以正确解锁文件。

答案 6 :(得分:0)

我遇到过与此类似的错误,但这是一个权限问题,而不是其他任何问题。数据库是在其他用户下创建的,普通管理员帐户根本没有LDF / MDF文件的权限。

其他症状是管理员无法创建具有相同名称的数据库,并且第三方应用程序无法执行数据导入(因为它删除并重新创建数据库)