备份基于SQL Server的按天定时备份(sqlserver 按天)

现代应用及时地提供高可用性是很重要的,在许多情况下,应用的健康状况取决于数据库的状况。为了满足数据可用性要求,保证现代应用的数据安全性,SQL Server的定时备份是非常重要的一项任务。对于SQL Server数据库,服务器提供多种用于定时备份的方法,如使用备份和恢复策略和使用SQL Server Agent任务等。

在本文中,我们介绍了SQL Server数据库按天定时备份的处理方法,介绍了如何利用SQL Server Agent实现按天定时备份数据库的定时备份任务。SQL Server Agent是一个Windows服务,可以使用特定的日期和时间执行重复性或特定的工作。SQL Server Agent有几个与备份和恢复相关的选项,其中备份作业是非常有用的一个选项。

要按天定时备份数据库,第一步需要做的是在SQL Server Agent中创建一个备份作业。只需输入名称和描述,然后单击“备份”标签,在此处添加要备份的数据库和要添加的备份文件的位置即可完成此步骤。

接下来,需要配置作业的计划。可以在“安排”标签中配置作业执行的频率。在本例中,要按天执行,可以选择“每天”选项,然后指定时间执行备份作业。

最后,可以按下图运行备份作业。它会按照设置的频率和时间自动运行备份作业,从而实现数据库的按天定时备份。

下面是用于按天定时备份SQL Server数据库的T-SQL代码:

EXEC msdb.dbo.sp_add_job
@job_name = N'每日数据库备份',
@enabled = 1,
@start_step_id = 1

EXEC msdb.dbo.sp_add_jobschedule
@job_name = N'每日数据库备份',
@name = N'每日定时备份',
@freq_type = 4,
@freq_interval = 1,
@active_start_time = 22000,
@active_end_time = 235959

EXEC msdb.dbo.sp_add_jobserver
@job_name = N'每日数据库备份',
@server_name = @@SERVERNAME

EXEC msdb.dbo.sp_add_jobstep
@job_name = N'每日数据库备份',
@step_name = N'备份数据库',
@subsystem = N'TSQL',
@command = N'BACKUP DATABASE "BKPATH\BKDB.BAK" TO DISK = ''BKPATH\BKDB_$(ESCAPE_SQUOTE(DATE))_$(ESCAPE_SQUOTE(TIME)).BAK'';',
@cmdexec_success_code = 0

要说明的是,以上T-SQL代码创建的任务默认是每天晚上11点运行的,根据实际情况,可以通过修改 @active_start_time 和 @active_end_time 来调整备份时间。

总而言之,在SQL Server中按天定时备份数据库是非常重要的。本文通过介绍如何使用SQL Server Agent实现按天定时备份数据库任务,以及相应的T-SQL代码,来指导读者轻松地完成此操作以保护数据库数据。


数据运维技术 » 备份基于SQL Server的按天定时备份(sqlserver 按天)