我需要通过单击 Windows 应用程序表单上的按钮来备份数据库。我正在用 C# 在 Visual Studio 2012 上开发它。
在 Windows 站点中,我学会了使用 Transact SQL 进行备份。我从 Visual Studio 的 Transact SQL 编辑器中尝试过。
这是我使用的 SQL 事务:
USE TestDB;
GO
BACKUP DATABASE TestDB
TO DISK = 'E:\aa.Bak'
WITH FORMAT,
MEDIANAME = 'Z_SQLServerBackups',
NAME = 'Full Backup of AdventureWorks2012';
GO
我想在 C# 中执行这个。
此外,每当我单击备份按钮时,我都想创建一个备份文件并替换任何现有的备份文件。'FORMAT' 参数是否有此用途?
我可以将参数TO DISK
(创建备份文件的位置)设置为外部硬盘或笔式驱动器中的位置吗?
我可以按如下方式恢复数据库:
private void button4_restore(object sender, EventArgs e)<br/>
{
con.Open();<br/>
string str = "USE master;";<br/>
string str1= "ALTER DATABASE TestDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE;";
string str3="RESTORE DATABASE TestDB FROM DISK = 'E:\\aa.Bak' ";<br/>
SqlCommand cmd = new SqlCommand(str, con);<br/>
SqlCommand cmd1 = new SqlCommand(str1, con);<br/>
SqlCommand cmd3 = new SqlCommand(str3, con);<br/>
cmd.ExecuteNonQuery();<br/>
cmd1.ExecuteNonQuery();<br/>
cmd3.ExecuteNonQuery();<br/>
MessageBox.Show("RECOVERED");<br/>
con.Close();
}
当我这样恢复时,数据库完全恢复到备份文件。有没有一种方法可以将 .Bak 文件中的数据附加到当前数据库中的现有数据中。