我正在使用C#构建应用程序。作为一项要求,我需要将数据库从一个本地驱动器移动到另一个本地驱动器。
通过论坛阅读后,有人建议,移动数据库的最佳方法是:
我能够使用以下代码成功分离数据库:
userConn = new SqlConnection(userdatabase);
userConn.Open();
addConn = new SqlConnection(addInfo);
addConn.Open();
string UserString = "sp_detach_db @DBName, @skipchecks";
SqlCommand cmd = new SqlCommand(UserString, userConn);
cmd.Parameters.AddWithValue("@DBName", userConn.Database);
cmd.Parameters.AddWithValue("@skipchecks", false);
cmd.ExecuteNonQuery();
cmd.Dispose();
cmd = new SqlCommand(UserString, addConn);
cmd.Parameters.AddWithValue("@DBName", addConn.Database);
cmd.Parameters.AddWithValue("@skipchecks", false);
cmd.ExecuteNonQuery();
cmd.Dispose();
这很好用。但是,我无法移动数据库文件。它引发了一个例外:
该进程无法访问文件'* .mdf',因为它正被另一个进程
使用
知道可能出现什么问题吗?