2011-11-18 4 views
0

Je suis en train de restaurer une base de données à partir d'un fichier nommé databasebkup.bak (enregistré dans C:\\databasebkup.bak) dans une base de données Sql Server 2005 appelée MyDatabase.Erreur lors de la restauration de la sauvegarde SQL

J'ai référencé Microsoft.SqlServer.Management.Common;Microsoft.SqlServer.Management.Sdk.Sfc; et Microsoft.SqlServer.Management.Smo dans mon code, qui ressemble à ceci:

Microsoft.SqlServer.Management.Smo.Server smoServer = new Server(
                 new ServerConnection(".")); 
Database db = smoServer.Databases["MyDatabase"]; 
string dbPath = Path.Combine(db.PrimaryFilePath, "MyDatabase.mdf"); 
string logPath = Path.Combine(db.PrimaryFilePath, "MyDatabase_Log.ldf"); 

Restore restore = new Restore(); 
var deviceItem = new BackupDeviceItem("C:\\databasebkup.bak", DeviceType.File); 

restore.Devices.Add(deviceItem); 
restore.Database = "C:\\databasebkup.bak"; 

//restore.FileNumber = restoreFileNumber; 
restore.Action = RestoreActionType.Database; 
restore.ReplaceDatabase = true; 
restore.SqlRestore(smoServer); 

db.SetOnline(); 
smoServer.Refresh(); 
db.Refresh(); 

Mais lors de la restauration, il renvoie cette erreur:

Restore failed for Server servername'

Quelqu'un peut-il me dire où je Je vais mal?

Répondre

1

Essayez de changer:

restore.Database = "C:\\databasebkup.bak"; 

à:

restore.Database = "MyDatabase"; 

, il semble aussi que vous vous connectez en utilisant l'authentification Windows; assurez-vous que l'utilisateur actuellement connecté dispose des droits appropriés pour effectuer une sauvegarde.

Questions connexes