내 데이터베이스를 백업하는 코드는 this tutorial입니다. 알 수 있듯이 코드는 동일합니다. 변수를 채우면 오류가 발생합니다. 내가 얻는 오류는C# Windows Forms 응용 프로그램에서 SMO를 사용하여 백업하면 백업에 실패했습니다.
'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 on the fly"기능은 다소 혼란스럽고 솔직하게 사용해서는 안되며 SQL Server 2012 ("Denali")에서 중단됩니다. –