欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQL数据库定时异地备份数据详细步骤

程序员文章站 2022-04-09 12:45:40
...

环境介绍

a)Sql Server 2008 R2 服务器
b)10.99.12.9为服务器a,10.99.236.162为服务器b
c)需要将服务器a数据库dangan远程备份到服务器b上

步骤

在服务器b上建立共享文件夹

在服务器b建立共享文件夹命名为SQLbf

在服务器a数据库做如下操作

数据库master中建立存储过程procbakup_DataBase

USE [master]
GO

/****** Object:  StoredProcedure [dbo].[procbakup_DataBase]    Script Date: 06/05/2019 10:03:19 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[procbakup_DataBase]

as

Declare @strCmdShell varchar(300)

Declare @strDataBaseName varchar(20)

Declare @FlagDel varchar(20)

Declare @SQLNetCon varchar(500)

Declare @addDBName varchar(500)

Declare @delDBName varchar(500)

Declare @delDBName2 varchar(500)

Declare @ToFilePath varchar(500)

Set @strDataBaseName='dangan'--填写数据库名称

Set @aaa@qq.com+ '_db_' + replace(replace(convert(char(20),getdate(),20),':','-'),' ','-')
 --备份的文件命名规则:yyyy-mm-dd hh:mi:ss.bak

Set @aaa@qq.com + '_db_' +replace(replace(convert(char(20),getdate()-7,23),':','-'),' ','-')
 --7天前的文件命名规则:yyyy-mm-dd.bak

Set @ToFilePath='H:\'aaa@qq.com+'.BAK'

Set @FlagDel='True'--填写True表示删除备份文件,填写False或其他字符不删除

Set @SQLNetCon='net use H: \\10.99.236.162\SQLbf 用户密码/user:用户账号'
--exec master..xp_cmdshell'net use h: \\远程IP\ 远程共享目录"用户密码" /user: 远程IP \Administrator' 
--注意H后有空格   

Set @delDBName2 ='del ' + 'H:\'+ @delDBName+ '*.BAK'

exec Master..xp_cmdshell 'net use * /d /y'--删除旧链接

exec Master..xp_cmdshell  @SQLNetCon --建立新连接

BackUp DataBase  @strDataBaseName  To Disk= @ToFilePath  with init 
--备份数据库到映射的H盘

if (@FlagDel ='True')exec master.. xp_cmdshell @delDBName2 
--执行删除本地的备份临时文件

exec Master..xp_cmdshell 'net use * /d /y'--删除链接


GO



启动SQL Server代理服务

SQL数据库定时异地备份数据详细步骤

数据库建立维护计划

打开SQL Server 企业管理器,在指定需要备份的数据库上面,新建一个维护计划。可按需要设定将来运行这个维护计划的时间/周期。
SQL数据库定时异地备份数据详细步骤
选择“执行T-SQL 语句任务”
SQL数据库定时异地备份数据详细步骤
选择语句任务,右击——编辑
SQL数据库定时异地备份数据详细步骤
 输入:EXECUTE master.dbo.bakup_DataBase,确定即可
SQL数据库定时异地备份数据详细步骤

测试

找到相应的维护计划,右击——执行
SQL数据库定时异地备份数据详细步骤
作业完成后,服务器b可以看到生成的数据备份
SQL数据库定时异地备份数据详细步骤

点击作业执行后出现出操作系统错误 5(拒绝访问)

数据库权限设定

首先找到该数据库文件的mdf和ldf,右击属性–安全–编辑,添加everyOne用户,并勾选完全控制,保存

硬盘权限设定

如果设定数据库权限后不能解决问题,应该是由于备份目标驱动器的分区的文件系统是NTFS,权限设置不足造成的
需在要备份的硬盘上右击->属性->安全,添加Users用户,赋给所有的权限,问题解决。

完成以上设置后找到对应维护计划,执行即可。~~!!