SQL Server 异地备份到远程共享文件夹异常处理
问题描述:
SQL Server 异地备份到远程共享文件夹时提示出现系统错误5。
例如:
A服务器(SQL Server):192.168.0.79
B服务器(共享文件夹):192.168.80.201
已知B服务器有系统账号:china201
密码:pass201
1、使用可视化界面备份到共享文件夹时提示 “出现系统错误 5(拒绝访问)”
2、使用脚本执行时,同样报错
说明通过SQL SERVER访问远程地址出现异常,虽然本地系统已经可访问该共享文件夹
解决方案一
1、在A服务器中创建一个与B服务器同名同密码的系统账号 china201, 并添加到管理员组
添加方式一:cmd命令行
//新增同名同密码用户 net user china201 pass201 /add //添加到管理员组 net localgroup Administrators china201 /add
添加方式二:可视化界面
计算机管理→系统工具→本地用户和组→右键“新用户”
创建完成后,选中该新用户右键属性,设定率属于管理员组 Administrators
2、在SQL Server配置管理器,将SQL Server服务的登录身份调整为该新用户
再到SQL Server管理器新建查询窗口测试
BACKUP DATABASE [test] TO DISK = N'\\192.168.80.201\Server_Backup\开发组系统备份\0.71\1.bak' WITH NOFORMAT, NOINIT, NAME = N'test', SKIP, NOREWIND, NOUNLOAD, STATS = 10
执行上述脚本后测试成功
解决方案二:
经迁移测试,此方案无效。
1、解锁 SQL SERVER "xp_cmdshell"命令
打开SQL SERVER 新建查询窗口
-- 允许配置高级选项
EXEC sp_configure 'show advanced options', 1
GO
-- 重新配置
RECONFIGURE
GO
-- 启用xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO
--重新配置
RECONFIGURE
GO
2、开启共享访问
打开SQL SERVER 新建查询窗口
-- \\192.168.80.201 :网络共享地址,如果不行时,可定位到某个具体文件夹
-- aaa2020 :密码
-- 192.168.80.201 :远程计算机地址
-- bbb :远程计算机账户
exec xp_cmdshell 'net use \\192.168.80.201 aaa2020/user:192.168.80.201\bbb'
出现命令成功完成提示,表示开启共享访问成功
再次执行脚本备份,即可成功执行。说明远程访问已生效。
BACKUP DATABASE [db_TDMS] TO DISK = N'\\192.168.80.201\Server_Backup\开发组系统备份\1.bak' WITH NOFORMAT, NOINIT, NAME = N'db_TDMS-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO