سلام
من در نسخه sqlserver2008 از smo استفاده نکرده بودم.
الآن که مشکل شما را دیدم متوجه شدم در نسخه 2008 امکانات backup و restore در smo به یک dll جانبی SmoExtended منتقل شده.
شما باید reference چهار اسمبلی های زیر را هم اضافه کنید:
SQLServer 9 & 10
--------------
Microsoft.SqlServer.Smo
Microsoft.SqlServer.ConnectionInfo
SQLServer 10
--------------
Microsoft.SqlServer.Management.Sdk.Sfc
Microsoft.SqlServer.SmoExtended
با کدی مثل این:
موفق باشید.کد:using Microsoft.SqlServer.Management.Smo;
//...
Server srv = new Server();
Backup bk = new Backup();
bk.Database = "SecDatabase";
bk.LogTruncation = BackupTruncateLogType.Truncate;
bk.Action = BackupActionType.Database;
bk.Initialize = true;
bk.Incremental = false;
//bk.BackupSetDescription = "Description ...";
//bk.BackupSetName = "Name ...";
//bk.ExpirationDate = System.DateTime.Now.AddMonths(6);
//bk.SetPassword("Password ...");
bk.Devices.Add(new BackupDeviceItem("D:\\file.bak", DeviceType.File));
bk.SqlBackup(srv);
//bk.Wait();
//bk.Devices.Clear();