一、本地服务器创建账号
在本地服务器上的计算机管理里面,创建用户账号,并使其具备拥有读写权限,如下图所示。因为sql server自带的网络服务账号不具备有读写权限,所有不具备有访问远程服务器的本地服务资源的权限。
二、本地服务器sql server服务操作
1.修改sql server(MSSQLSERVER)和sql server 代理(MSSQLSERVER)的登录方式
在本地服务器服务里面找到sql server的服务,接着利用前面已经创建好的用户账号(我这边创建的是newPGS账号),修改sql server(MSSQLSERVER)和sql server 代理(MSSQLSERVER)的登录方式,并且重启当前被修改的服务,如下图所示
三、远程服务器操作
在远程服务器上创建文件夹,并共享文件夹。
四、本地服务器sql server操作
1.运行sql语句
EXEC sp_configure 'show advanced options', 1;-- 允许配置高级选项 --配置选项'show advanced options' 已从1 更改为1。请运行RECONFIGURE 语句进行安装。 RECONFIGURE;-- 重新配置 --命令已成功完成。 EXEC sp_configure 'xp_cmdshell', 1;-- 开启xp_cmdshell --配置选项'xp_cmdshell' 已从1 更改为1。请运行RECONFIGURE 语句进行安装。 RECONFIGURE;-- 重新配置 --命令已成功完成。 |
2.作业
(1)新建作业
打开sql server代理服务,并新建作业,输入名称,选择数据库维护,如下图所示
(2)点击步骤,并且新增步骤后,输入名称,选择要备份的数据库,并输入以下语句。
exec master..xp_cmdshell 'net use Z: \\远程服务器(IP)\data "swyx302" /user:远程服务器(IP)\Administrator' declare @ss varchar(50) EXEC xp_cmdshell 'dir Z:\ ' set @ss = 'Z:\test.bak' backup database test to disk = @ss WITH FORMAT exec master..xp_cmdshell 'net use\\远程服务器(IP)\data/delete' |
注意:假如没有将远程服务器映射到Z:上,即采用以下语句,会报用户名密码错误
exec master..xp_cmdshell 'net use \\远程服务器(IP)\data "swyx302" /user:远程服务器(IP)\Administrator' declare @ss varchar(50) EXEC xp_cmdshell 'dir Z:\ ' set @ss = '\\远程服务器(IP)\test.bak' backup database test to disk = @ss WITH FORMAT exec master..xp_cmdshell 'net use\\远程服务器(IP)\data/delete' |
(3)计划,警告,通知,目标看个人需求操作。