备份
string connectionString1 = (@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Database1.mdf;Database=Database1;Integrated Security=True; User Instance=True");
SqlConnection cn = new SqlConnection(connectionString1);
cn.Open();
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;
cmd.CommandText = @"BACKUP DATABASE Database1 TO DISK = 'C:\SRI2Works.bak'";
cmd.CommandType = CommandType.Text;
cmd.Connection = cn;
reader = cmd.ExecuteReader();
cn.Close();
MessageBox.Show("Database Backup Successfull.");
还原
string connectionString1 = (@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Database1.mdf;Database=Database1;Integrated Security=True; User Instance=True");
SqlConnection cn = new SqlConnection(connectionString1);
cn.Open();
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;
cmd.CommandText = @"use master; RESTORE DATABASE Database1 FROM DISK = 'C:\SRI2Works.bak'";
cmd.CommandText = "DBCC CHECKDB ('Database1')";
cmd.CommandType = CommandType.Text;
cmd.Connection = cn;
reader = cmd.ExecuteReader();
cn.Close();
MessageBox.Show("Database Restored Successfull.");
这段代码运行成功,但是没有做出任何改变。
C:\SRI2Works.bak
是否已经写入?而且,就目前而言,您的还原命令只执行DBCC CHECKDB ('Database1')
,这将替换在上一行中设置的CommandText
。 - Thomas GerstendörferBACKUP
和RESTORE
命令来备份使用AttachDbFileName=
在SQL Server Express中附加的.mdf
文件。据我所知,你的数据库必须附加到SQL Server实例才能使用BACKUP DATABASE
进行备份... - marc_s.mdf
文件的完整路径匹配的名称附加的,您需要在进行备份
和还原
时将该完整路径作为您的数据库名称。 - marc_s