Принципиальный молчун
Зарегистрирован: 10 November 2007
Сообщения: 5
Примеры кода: 0
|
sqlexpress 2005 и SMO |
10 May 2008 01:06 |
|
|
|
|
Делаю в программе возможность бэкапа и рестора базы при помощи SMO
всё работает, но есть один минус, бэкапы бд можно сохранить только в root directory sqlexpress(то есть туда где установлен C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\) и восстановить из бэкапа можно только из этой папки.
Если бэкапить в другую папку вылетает ошибка:
Operating system error 5(Access is denied.)
Даже если пытаться создать бэкап бд в другую папку из SQL Server Management Studio Express, вылетает таже самая ошибка.
Народ, не в курсе, как сохранять в другом месте бэкап с последующим его восстановлением?
Вот код восстановления бд.
Server srv = new Microsoft.SqlServer.Management.Smo.Server(new ServerConnection( Configuration.ConnectionStringServer,
Configuration.ConnectionStringUser,
Configuration.ConnectionStringPassword
));
// restore database
Restore restore = new Restore();
openDBFileForRestore.InitialDirectory = srv.Information.RootDirectory + "\\backup\\";
string tofile;
if (openDBFileForRestore.ShowDialog() == DialogResult.OK)
{
tofile = openDBFileForRestore.FileName;
}
else
{
return;
}
BackupDeviceItem bdi = new BackupDeviceItem(tofile, DeviceType.File);
restore.Devices.Add(bdi);
restore.NoRecovery = false;
restore.ReplaceDatabase = true;
restore.Database = Configuration.ConnectionStringDB;
// Restore the database
restore.SqlRestore(srv);
Данное сообщение получено с сайта GotDotNet.RU
Последний раз редактировалось 10 May 2008 01:06
|
|