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 ファイルのデータを現在のデータベースの既存のデータに追加する方法はありますか。