SqlServer 2012 异地备份

SqlServer 2012 异地备份

踩了很多坑,在Google和StackoverFlow的帮助下成功帮咱们项目中实现了SqlServer的异地备份。现记录,以帮助须要之同行。shell

[TOC]数据库

1、基本信息

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

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

SqlServer数据库所在服务器:

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

2、在文件服务器上建立共享帐号及共享文件夹

一、 建立windows用户

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

新建windows帐号

二、建立共享文件夹

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

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

共享文件夹

在高级共享中作一样的设置;

共享文件夹

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

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

3、新建做业

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

常规设置

须要注意这里的全部者,必须是sa或者与sa拥有同等权限的用户; 名称是必填项,其余选项能够不作改动;工具

Vue

新建步骤

步骤名称是必填项;
命令以下,请对应修改:

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

Vue

新建计划

Vue

排查问题

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

相关文章
相关标签/搜索