SqlServer 2012 异地备份

it2024-08-10  56

目录

SqlServer 2012 异地备份 一、基本信息二、在文件服务器上创建共享账号及共享文件夹 1、 创建windows用户2、创建共享文件夹三、新建作业 1、数据库服务器上,使用DBMS中的SQL Server 代理新建作业;

SqlServer 2012 异地备份

踩了不少坑,在Google和StackoverFlow的帮助下成功帮我们项目中实现了SqlServer的异地备份。现记录,以帮助需要之同行。

一、基本信息

文件服务器:(里面有无数据库不影响)

IP地址192.168.33.**8服务器系统Windows Server 2012服务器名称WIN-A6O73BD***

SqlServer数据库所在服务器:

IP地址192.168.33.**0服务器系统Windows Server 2012服务器名称WIN-L6D5JH***SqlServer版本SqlServer 2012

二、在文件服务器上创建共享账号及共享文件夹

1、 创建windows用户

控制面板->管理工具->计算机管理->用户和组->空白地方右键新建用户,dbbakuser 密码设置得复杂点;

2、创建共享文件夹

本地地址为:C:\bakFolder(对应的网络路径为\\WIN-A6O73B***\bakFolder)

设置共享文件夹的用户为【dbbakuser 】,并赋予读取与更改的权限;

在高级共享中做同样的设置;

测试用户【dbbaker】能否正常访问文件服务器

在数据库服务器上打开cmd窗口,通过命令NET USE Z: \\WIN-A6O73B***\bakFolder 【此处填写你设置的密码】 /USER:dbbakuser

三、新建作业

1、数据库服务器上,使用DBMS中的SQL Server 代理新建作业;

常规设置

需要注意这里的所有者,必须是sa或者与sa拥有同等权限的用户; 名称是必填项,其他选项可以不做改动;

新建步骤

步骤名称是必填项; 命令如下,请对应修改: sys.sp_configure @configname = 'allow_updates', @configvalue = 0; RECONFIGURE WITH OVERRIDE; GO sys.sp_configure @configname = 'show advanced options', @configvalue = 1 RECONFIGURE GO sys.sp_configure @configname = 'xp_cmdshell', @configvalue = 1 RECONFIGURE GO DECLARE @bakpath NVARCHAR(500) SET @bakpath = '\\WIN-A6O73B***\bakFolder\SanF***190_bakup_' + CONVERT(VARCHAR(10),GETDATE(),112) + '-' + REPLACE(CONVERT(VARCHAR(10),GETDATE(),108),':','') + '.bak' EXEC master..xp_cmdshell "NET USE Z: \\WIN-A6O73B***\bakFolder 【此处填写你设置的密码】 /USER:dbbakuser" BACKUP DATABASE SanFengNew TO DISK = @bakpath GO sys.sp_configure @configname = 'xp_cmdshell', @configvalue = 0 RECONFIGURE GO sys.sp_configure @configname = 'show advanced options', @configvalue = 0 RECONFIGURE GO sys.sp_configure @configname = 'allow_updates', @configvalue = 1; RECONFIGURE WITH OVERRIDE; GO

新建计划

排查问题

在新建的作业上右键点击作业执行步骤,则作业则会执行,会返回执行结果。 如果遇到问题,则可以在新建的作业上右键点击查看历史记录,里面包含详细的错误信息; 根据错误信息进行相应修改,直到作业成功执行。 查看历史记录的错误时请点开记录前的+,以便查看详细信息;

转载于:https://www.cnblogs.com/xuxuzhaozhao/p/10161060.html

相关资源:批处理实现sqlserver 2005远程异地数据库备份
最新回复(0)