データベースをバックアップするコードはthis tutorialです。ご覧のとおり、コードは同じです。エラーは、変数を入力した後に発生します。私が得るエラーはSMOOを使用してSQL Server 2005データベースをC#Windowsフォームアプリケーションでバックアップすると失敗しました
サーバー 'RITZEL-PC \ SQLEXPRESS'のバックアップに失敗しました。
をバックアップ機能:
public void BackupDatabase(String databaseName, String userName, String password, String serverName, String destinationPath)
{
Backup sqlBackup = new Backup();
sqlBackup.Action = BackupActionType.Database;
sqlBackup.BackupSetDescription = "ArchiveDataBase:" + DateTime.Now.ToShortDateString();
sqlBackup.BackupSetName = "Archive";
sqlBackup.Database = databaseName;
BackupDeviceItem deviceItem = new BackupDeviceItem(destinationPath, DeviceType.File);
ServerConnection connection = new ServerConnection(serverName, userName, password);
Server sqlServer = new Server(connection);
Database db = sqlServer.Databases[databaseName];
sqlBackup.Initialize = true;
sqlBackup.Checksum = true;
sqlBackup.ContinueAfterError = true;
sqlBackup.Devices.Add(deviceItem);
sqlBackup.Incremental = false;
sqlBackup.ExpirationDate = DateTime.Now.AddDays(3);
sqlBackup.LogTruncation = BackupTruncateLogType.Truncate;
sqlBackup.FormatMedia = false;
sqlBackup.SqlBackup(sqlServer);
}
ボタンをクリックし
private void BackUp_Btn_Click(object sender, EventArgs e)
{
String databaseName = @"D:\MY_THESIS\WORKING FILES\NNIT-RMS.mdf";
String userName = "NNIT-Admin";
String password = "password";
String serverName = @"RITZEL-PC\SQLEXPRESS";
String destinationPath = @"D:\";
BackupDatabase(databaseName,userName,password,serverName,destinationPath);
}
私は、画像を投稿することができないのです、まだ私はスクリーンショットをアップロードした データベース情報。ここを参照してください:http://img268.imageshack.us/img268/9250/sqlg.jpg
'databaseName'は、SQL Server Expressに接続されているデータベースの**論理データベース名**である必要があります。 'MYDATABASE' - そして**ではなく、** .mdfファイルのファイル名全体です。私はSMOがあなたに別の '.mdf'ファイルをバックアップすることを許可していないと思う。 –
上記のスクリーンショットを見ると、私はバックアップしたいデータベースのデータベース情報のスクリーンショットを置いた。これは、sqlserver2005のデータベースノードに表示される名前です。私はそれを間違っているのですか? – RMSP
SMOで「スタンドアロン」の.mdfファイルをバックアップすることはできません。 ** .mdfファイルをSQL Server Expressに**添付**し**論理**データベース名を付けて、その論理データベース名をSMOバックアップに使用する必要があります。この「オンザフライでの.mdfのアタッチ」機能はちょっと混乱していて、まったく率直に言えば使用しないでください - SQL Server 2012(「Denali」)では廃止される予定です –