欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

sqlserver还原数据库的时候出现提示无法打开备份设备的解决方法(设备出现错误或设备脱)

程序员文章站 2022-04-14 11:36:32
【问题描述】 在系统管理进行手工备份时,出现提示“无法打开备份设备'e:\自动备份\ufidau8xtmp\ufdata.bak'。设备出现错误或设备脱机。详细信息请参阅...

【问题描述】
在系统管理进行手工备份时,出现提示“无法打开备份设备'e:\自动备份\ufidau8xtmp\ufdata.bak'。设备出现错误或设备脱机。详细信息请参阅sql server 错误日志。-2147217900”
再点“确定”后会提示一个建议“1、检查提示路径的磁盘剩余空间大小,或者提示的目录是否存在;2、检查提示的系统库账套路径d:\u8soft\admin\server\,与mdf数据文件目录(zt+账套号\年号,此部分不保存在系统库中)是否一致”

【问题原因】
备份临时目录无法写入“无法打开备份设备'e:\自动备份\ufidau8xtmp\ufdata.bak',应该是没有权限。

【解决方案】
停止u8taskservice服务后删除该目录即可
【注意事项】修改前请务必做好数据备份;
【提示】如有问题,敬请及时邮件联系

的解决方法:

经过查看服务器的sqlserver是低权限用户运行的,而且bak文件是异地备份的,所以备份目录sqlserver的运行用户是没有读取权限的,所以将bak文件复制到sqlserver的运行用户有读取权限的地方,只要是能选择到这个bak文件,然后右键添加everyone有读取权限,再恢复数据库就ok了

不过可能sqlserver的这个数据库正在运行需要做如下设置

利用sql语句,断开所有用户链接,并回滚所有事务,具体sql语句如下:

复制代码 代码如下:

alter database [数据库名称]
set offline with rollback immediate