查看: 310|回复: 0

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

发表于 2016-12-30 12:00:02

【问题描述】
在系统管理进行手工备份时,出现提示“无法打开备份设备'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



回复

使用道具 举报