方案1:使用sqlserver自带的维护计划
方案2:(1)创建存储过程备份数据库
(2)创建bat执行存储过程
(3)创建任务计划调用bat文件
(1)创建存储过程
use database_name
go
create proc
[dbo].[BackupDatabase]
as
begin
--数据库备份脚本
--申明变量参数(‘备份全路径’、‘备份路径’、‘文件件名’)
declare
@backup_fullpath nvarchar(255),
@backup_path
nvarchar(50),
@str_date nvarchar(50)
--设置路径
set @backup_path = N'F:\DataBackup\'
--设置文件名
-- make date string in backup filename
set
@str_date = convert(varchar(50), getdate(), 121)
set @str_date =
replace(@str_date, N'-', N'')
set @str_date = replace(@str_date, N':',
N'')
set @str_date = replace(@str_date, N'.', N'')
set @str_date =
replace(@str_date, N' ', N'')
--备份数据库
-- backup DMS database
set
@backup_fullpath = @backup_path + N'DMS-' + @str_date + N'.full.bak'
backup database DMS to disk = @backup_fullpath
end
GO
(2)创建bat执行存储过程
sqlcmd -S 127.0.0.1 -U sa -P 123 -Q "use DMSexec
CreateReturnVisitTask"
(3)windows创建任务计划
推荐使用sqlserver自带的维护计划
依次单击:开始--程序--Microsoft SQL Server--企业管理器--SQL Server组--管理--数据库维护计划
在右侧空白处右键单击,新建维护计划--勾选要备份的数据库--下一步
指定数据库备份计划--调度--单击"更改"--设置备份的时间,备份周期--下一步
每日频率即是每天什么时间开始进行备份
发生频率即是执行的周期
指定备份磁盘目录--修改"使用此目录"的路径作为备份数据库的存放路径.勾选删除早于此时间的文件,我这里选择一周,即是数据库备份文件把一周前的进行删除
给此任务计划填写一个名字:back 2单击"完成",就可以在数据库维护计划中看到刚才新建的计划.
注意事项
一定要开启sql server agent服务
sqlserver2008的数据库自动备份方法在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库。而备份数据库一般又是在凌晨时间基本没有数据库 *** 作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库。要实现数据库的定时自动备份,最常用的方式就是使用SQL Server代理中的作业。启动SQL Server Agent服务,然后在其中新建作业,作业中添加1个备份步骤,类型是T-SQL脚本,然后在命令中输入如下SQL语句,该语句实现了对数据库 TestDB1的完整备份,备份文件在C盘Backup文件夹中,文件名就是TestDB1+当时备份的日期字符串.bak。
declare @name varchar(250)
set @name='C:\Backup\TestDB1_'+convert(varchar(50),getdate(),112)+'.bak'
BACKUP DATABASE [TestDB1] TO
DISK = @name
WITH NOFORMAT, NOINIT,
NAME = N'TestDB1-完整 数据库 备份',
SKIP, NOREWIND, NOUNLOAD
数据库备份文件名称中不能出现空格“ ”,冒号“:”
创建好步骤以后,接下来就是创建计划,创建计划的 *** 作十分简单,界面上说明的很详细了,我就不多说了。另外还可以配置警报和通知,不过一般很少用这个。
(1)在SSMS的对象资源管理器中右击“维护计划”,选择 “维护计划向导”,系统将d出向导窗口
(2)点击“下一步”按钮,进入选择计划属性窗口,输入计划的名称,由于我们的计划包括2部分:完整备份和差异备份,这2部分的执行计划是不一样的,一个是一周执行一次,另一个是一天执行一次,所以要选择“每项任务单独计划”,
(3)单击“下一步”按钮,选择维护任务,这里就是可以在维护计划中执行的任务,如果你想执行的任务在这里没有,那就还是不用维护计划来做,自己写 SSIS包或者SQL语句吧。我们要执行的任务都在这里,选中这2个任务
(4)单击“下一步”进入选择维护任务顺序的界面,这里我们可以看到选中的任务出现在列表中,但是我们并不能调整其顺序,那是因为在步骤2中我们选择的是每项任务单独计划,所以这2个任务是独立的,没有先后顺序可言。如果当时选择的是另一个选项,那么这里就可以调整顺序了
(5)选中“备份数据库(完整)”然后单击“下一步”按钮,系统将转到定义完整备份任务的界面
(6)单击“下一步”按钮,进入差异备份任务的设置界面,和上一步的界面是一样的, *** 作也是一样的,计划这里我们可以选择除了周日以外的每天进行差异备份
(7)单击“下一步”按钮,进入选择报告选项,这里我们可以将这个维护计划的执行报告写入文本文件中,也可以讲报告通过电子邮件发送给管理员。如果要发送邮件的话,那么需要配置SQL Server的数据库邮件,另外还要设置SQL Server代理中的 *** 作员,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)