我已经定义了每件事,这段代码是我代码的一部分
if (Sql_Conn == null)
Sql_Conn = new SqlConnection(Str_Con);
// str_con is my connection string
if (Sql_Conn.State != ConnectionState.Open)
Sql_Conn.Open();
Data_Table = new DataTable();
DataA_dapter = new SqlDataAdapter();
Sql_Cmd = new SqlCommand();
Sql_Cmd.Connection = Sql_Conn; //
string sql = "RESTORE DATABASE [" + str_directory + "] From DISK = " +
"'" + strFileName + "' ; ";
// str_directory is the source of my database as DB.MDF
// srtFileName is the directory of DB.bak
Sql_Cmd.CommandType = CommandType.Text;
Sql_Cmd.CommandText = sql;
try
{
Sql_Cmd.ExecuteNonQuery();
}
catch (SqlException Error_Exception)
{
MessageBox.Show("Error");
}
当我string sql
在带有新查询的 SQL Sserver 中使用时,我没有问题并且我的数据库成功恢复,但是当我将此代码与 c# 一起使用时,我看到了这个错误
错误:{System.Data.SqlClient.SqlException:RESTORE 无法处理数据库“E:/DB.mdf”,因为它正在被此会话使用。建议在执行此操作时使用 master 数据库。RESTORE DATABASE 异常终止。
我想恢复我的数据库。我必须在我的第一个代码中打开连接,当我想恢复我的数据库时,我看到了异常。
现在如何恢复我的数据库?请帮我。