C#异常:RESTORE DATABASE异常终止
本文关键字:DATABASE 异常终止 RESTORE 异常 | 更新日期: 2023-09-27 18:28:32
我正在尝试使用C#将数据库备份文件(.bak
)还原到新创建的数据库中。我得到以下内部异常:
无法打开备份设备'''GC.bak'。操作系统错误5(访问被拒绝。)。
RESTORE DATABASE正在异常终止
我的服务器是一个localDB。
void RestoreDB(string name)
{
var connection = new ServerConnection(Properties.Settings.Default.Well);
var sqlServer = new Server(connection);
var rstDatabase = new Restore();
rstDatabase.Database = name;
rstDatabase.Action = RestoreActionType.Database;
rstDatabase.Devices.AddDevice(AppDomain.CurrentDomain.BaseDirectory + "GC.bak", DeviceType.File);
rstDatabase.ReplaceDatabase = true;
rstDatabase.SqlRestore(sqlServer);
}
默认情况下,SQL Server只能访问服务器驱动器上的几个特定位置(即默认的数据库和备份文件夹位置)。看起来您可能正在尝试从非标准位置还原文件,因此您需要将SQL server运行的服务帐户的权限授予该目录,或者更简单的做法是,将备份文件复制到常规备份文件位置,然后重试。