该进程无法访问文件'.mdf',因为它正由另一个进程使用

时间:2012-12-09 09:46:16

标签: c# sql-server-2008 asp.net-mvc-3 sql-server-2008-r2

我将ASP.NET动态数据Web模板与SQL Server 2008数据库一起使用,当我尝试在.mdf中添加App_Data文件时,我得到了

  

由于另一个进程正在使用该文件,因此无法打开该文件。   请关闭所有可能访问此文件的应用程序,然后重试

我尝试找到解决方案但却截然不同

  

嗨,Ken,这是因为您正在尝试将数据库添加到项目中   (即复制它)没有连接到它,连接添加实体   框架数据模型,然后选择您的数据库,所有应该去   好。

     

如果您确实想要将数据库放在App_Data文件夹中,那么您   需要:

     

在本地和Web服务器上安装SQL Server Express。   暂时停止SQL Server,以便可以访问数据库   将其复制到App_Data文件夹。

  
      
  1. 转到SQL Server配置工具并停止SqlserverExpress服务。

  2.   
  3. 在解决方案资源管理器中右键单击项目添加现有项目   。,转到程序文件并在其中搜索所需的.mdf文件   它是项目。

  4.   
  5. 转到SQL Server配置工具启动Sqlexpress服务。

  6.   
  7. 运行您的解决方案。

  8.   

我如何解决我的问题?

2 个答案:

答案 0 :(得分:3)

查找使用该文件的进程的最简单方法是:

  1. 运行'resmon'。 (使用windows搜索查找程序)
  2. 在第二个标签
  3. 内的搜索栏中输入名称+扩展名
  4. 结果将是使用该文件的进程。
  5. (是的,我知道这是一个老问题)

答案 1 :(得分:2)

如果在使用Sql Management Studio或Visual Studio xx之前访问过此mdf文件。然后请关闭运行此mdf文件的Sql Server,我的意思是,您必须停止Sql Server服务,然后将mdf文件从其位置复制到所需位置。

复制后,您可以很好地重新启动Sql Server。