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

在这里插入图片描述

posted @ 2020-04-22 13:13  meazin  阅读(1114)  评论(0编辑  收藏  举报