2012-12-31 4 views
-1

smo를 사용하여이 코딩을 사용하고 있지만 아무 일도 일어나지 않았습니다..bak 파일에서 C# Windows 응용 프로그램의 .mdf 데이터베이스를 복원하는 방법

 Restore res = new Restore(); 
     res.Devices.AddDevice(@"D:\Shivam.bak", DeviceType.File); 
     BackupDeviceItem bkpDevice = new BackupDeviceItem(@"\\hqsqlbkup1\VN\Shivam.bak", DeviceType.File); 
     res.Database = "ShivamDb"; 
     res.Action = RestoreActionType.Database; 
     res.RelocateFiles.Add(new RelocateFile("Shivam", @"+ System.Windows.Forms.Application.StartupPath +\\Shivam.mdf")); 
     res.RelocateFiles.Add(new RelocateFile("Shivam_log", @"System.Windows.Forms.Application.StartupPath + \\Shivam_log.ldf")); 

     res.ReplaceDatabase = true; 
     MessageBox.Show("Restore complited"); 
+0

그냥 시도, 당신은'사용으로 경로에 \하는 이중 \\을 변경 @ '이미. –

+1

@faheemkhan 그러면 그 사람은 그 방법을 호출하지 않고 복원을 실행하게됩니까? 게다가 - "\\"는 UNC 경로의 접두어입니다. 파워 유저 용 Windows 101 실패. – TomTom

+0

@ "+ System.Windows.Forms.Application.StartupPath + \\ Shivam.mdf" 이 줄에는 파일 이름에 이중 슬래시가 필요합니까? –

답변

2

좋아, 초기화를 많이하는 것을 볼 수 있습니다.하지만 초기화를 위해 어디에서 말씀 하시겠습니까? 실제로 복원을 실행하려면 SqlRestore를 호출하는 위치는 어디입니까?

아니요, 복원 클래스 (SMO)를 초기화해도 사용자가 해당 메소드를 호출하지 않아도 마술처럼 실행되지 않습니다.

관련 문제