konto usunięte

Temat: [c#] Restore Database

Próbuję odtworzyć bazę z backupu i używam do tego celu Microsoft.SqlServer.Management.Smo. Kawałek odtwarzający wygląda tak:


Server srv = new Server(sServerName);
Restore res = new Restore();
BackupDeviceItem bdi = new BackupDeviceItem(openBackupDialog.FileName, DeviceType.File);
res.Devices.Add(bdi);
res.Database = sDatabaseName;
res.FileNumber = 1;
res.Action = RestoreActionType.Database;
res.ReplaceDatabase = true;
res.SqlRestoreAsync(srv);


Efekt jest taki, że baza nie zostaje odtworzona. Nie wywala też żadnego wyjątku. W czym może być problem?

konto usunięte

Temat: [c#] Restore Database

mieszasz wątki...

konto usunięte

Temat: [c#] Restore Database

może napisz skrypt sql :)

RESTORE DATABASE practiceDB
FROM DISK='C:\PracticeD.bak'


ewentualnie zrób tak, bo może akurat coś oprócz Ciebie korzysta bazy :)

-- single user mode
ALTER DATABASE [DatabaseName]
SET SINGLE_USER WITH
ROLLBACK IMMEDIATE
-- restore
RESTORE DATABASE [DatabaseName] FROM DISK ...
-- multiuser mode
ALTER DATABASE [DatabaseName] SET MULTI_USER
GO
Łukasz Machowski edytował(a) ten post dnia 18.05.10 o godzinie 19:58

konto usunięte

Temat: [c#] Restore Database

Łukasz Machowski:
może napisz skrypt sql :)

to zawsze można :) chciałem jednak koszernie przez SMO

konto usunięte

Temat: [c#] Restore Database

a jakbyś spróbował:


Server srv = new Server(sServerName);
Restore res = new Restore();
BackupDeviceItem bdi = new BackupDeviceItem(openBackupDialog.FileName, DeviceType.File);
res.NoRecovery = true;
res.Devices.Add(bdi);
res.Database = sDatabaseName;
res.SqlRestore(srv);


ewentualnie spróbuj najpierw zrobić drop bazy(zaraz po inicjalizacji serwera):

srv.Databases(sDatabaseName).Drop(); 

Następna dyskusja:

Plik Local database SDF na ...




Wyślij zaproszenie do