我正在尝试将数据库从一个文件夹复制到另一个文件夹。除了操作系统之外,没有其他程序在运行。(我的意思是所有窗口都关闭)
我不断得到这样的信息:
该操作无法完成,因为该文件是由另一个程序打开的,请关闭文件并重试
多次尝试都会导致同样的错误。
什么可以保持该文件打开以及如何继续复制/删除/覆盖文件(DB),因为这个问题非常常见。
答案1
尝试net stop mssqlserver /y
看看会发生什么。当然,我假设这里可以停止数据库服务器。
答案2
答案3
可以通过从 Microsoft Sql Server 中的配置工具停止 MSSQLSERVER 服务来解决此错误,如以下链接中的图表所示:
解决错误由于文件在 SQL SERVER(MSSQLSERVER) 中打开,因此无法完成操作
有时,在将数据库(.mdf)从硬盘驱动器上的一个位置移动到另一个位置时,您会遇到错误“无法完成该操作,因为该文件在 SQL SERVER(MSSQLSERVER)中打开”,如下图所示:
无法完成该操作,因为该文件已在 SQL SERVER 中打开
解决“由于文件已在 SQL SERVER 中打开,因此无法完成操作”错误的步骤如下:步骤 1:单击任务栏上的“开始”图标。选择“Microsoft SQL Server”文件夹,然后单击“SQL Server 配置管理器”,如下图所示:
无法完成该操作,因为该文件已在 SQL SERVER 中打开
步骤 2:将打开 SQL SERVER 配置管理器窗口,在此窗口的左侧选择 SQL Server 服务。在 SQL 服务器服务中,右键单击服务 SQL Server (MSSQLSERVER),然后单击停止,如下图所示:
无法完成该操作,因为该文件已在 SQL SERVER 中打开
步骤 3:由于该过程将停止,请将文件从一个位置移动到另一个位置,然后再次右键单击该文件以启动此过程。通过电子邮件发送此博客!分享到 Twitter 分享到 Facebook
答案4
我通常更喜欢使用第一方工具来处理这种事情,sysinternals 的进程监视器是我处理这种事情的首选工具。如果您有大量后台服务在运行,请小心,因为您会看到大量活动正在进行。对于监视您的注册表也非常有用。
http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx