먼저 전체 백업을 복원 한 다음 Microsoft.SqlServer.Management.Smo.Restore 클래스를 사용하여 차등 백업을 복원하여 데이터베이스를 복원하려고합니다. 그러나SMO 복원 개체를 사용하여 차등 백업 복원
Restore myDiffRestore = new Restore();
myDiffRestore.Database = "DatabaseName";
myDiffRestore.Action = RestoreActionType.Database;
myDiffRestore.AddDevice(@"C:\BackupFile.bak", DeviceType.File);
myDiffRestore.FileNumber = 4; // file contains multiple backup sets, this is the index of the set I want to use
myDiffRestore.SqlRestore(myServer);
,이 코드 : 전체 백업이 다음 코드를 사용하여 복원 다음과 같이 (완료) 전체 백업을 복원 한 후
Restore myFullRestore = new Restore();
myFullRestore.Database = "DatabaseName";
myFullRestore.Action = RestoreActionType.Database;
myFullRestore.AddDevice(@"C:\BackupFile.bak", DeviceType.File);
myFullRestore.FileNumber = 1;
myFullRestore.SqlRestore(myServer); // myServer is an already-existing instance of Microsoft.SqlServer.Management.Smo.Server
, 차등 백업을 복원 내 코드입니다 "서버 'servername'에 대한 복원이 실패했습니다."라는 메시지와 함께 Microsoft.SqlServer.Management.Smo.FailedOperationException을 발생시킵니다. 차등 백업을 복원하고 있음을 명시해야합니까? 그렇다면 어떻게해야합니까? 아니면 문제가 이것보다 덜 명백합니까? 내가 뭘 잘못하고 있는지 (또는 무시하고 있는지)에 대한 제안은 크게 감사 할 것입니다.
업데이트이 이전 버전은 API의이 양식을했지만, 이후 버전이 줄을
fullRestore.AddDevice(...);
이 후
fullRestore.Devices.AddDevice(...)
NoRecovery = true로 복원하면 데이터베이스가 "복원 중"상태로 유지됩니다. 다시 사용할 수있게하려면 다음 명령을 사용하십시오. 복구 데이터베이스 – James
안녕하세요, 도넛 형은 동일한 방식으로 특정 날짜에 따라 데이터베이스 차등을 복원하는 방법을 알려주시겠습니까? –
@kalyan 나는 네가 무엇을 요구하고 있는지 정확히 알지 못한다. 차등 백업 세트를 보유하고 있으며이를 ** 특정 날짜까지 ** 복원하고 싶습니까? 또는 주어진 날짜에 ** 시작 **하고 이후의 모든 차등 백업을 적용 하시겠습니까? 아니면 완전히 다른 것 - 당신이 명확히 할 수 있습니까? – Donut