MSSQL 自动备份:做好数据安全防护(mssql自动备份)
MSSQL自动备份是指使用MSSQL自身的数据库管理器在一段时间内自动备份已有的数据,以便在出现数据丢失情况时可以实现数据的恢复。采用MSSQL自动备份可以让企业及个人在任何情况下都能更好地防止数据丢失,做好数据安全防护。
MSSQL自动备份的使用步骤主要包括以下几步:
首先,使用MSSQL的图形管理工具,首先进入数据库,右击该数据库,进入“任务计划程序”项,选择“创建备份”,然后设置备份时间及备份的文件格式;
其次,设置了备份的说明及保留时间,再备份策略中可以定义具体的备份信息;
再次,进入任务计划程序,点击已创建的备份,设定要执行任务的时间及次数。
最后,保存好以上设置,完成对MSSQL数据库的自动备份设置。
此外,为了更有效地实现MSSQL自动备份,有一种优雅的自动备份方式:使用T-SQL语句来设置定时备份任务,可以使用下面的代码实现:
其中[BackupName]替换为备份的文件名;[BackupPath]替换为在服务器上物化的备份文件的存储路径,系统会自动在每天晚上十点实现备份:
EXEC msdb.dbo.sp_add_job@job_name = N'BackupName_DailyBackup',
@enabled = 1,
@notify_level_eventlog = 0,
@notify_level_email = 0,
@notify_level_netsend = 0,
@notify_level_page = 0,
@delete_level = 0,
@description = N'BackupName Daily Backup',
@category_name = N'[Uncategorized (Local)]',
@owner_login_name = N'sa', @job_id = @jobId OUTPUT
IF (@@ERROR 0 OR @jobId IS NULL) GOTO QuitWithRollback
EXEC msdb.dbo.sp_add_jobstep
@job_id=@jobId,
@step_name=N'BackupName_DailyBackup',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=3,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N' BACKUP DATABASE [BackupName]
TO DISK = N''[BackupPath]\BackupName.bak''
WITH NOFORMAT, NOINIT, NAME = N''BackupName-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD, STATS = 10'
EXEC msdb.dbo.sp_add_jobschedule
@job_id=@jobId,
@name=N'BackupName_Schedule',
@enabled=1,
@freq_type=1,
@freq_interval=1,
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=1,
@active_start_date=20140428,
@active_end_date=20160525,
@active_start_time=220000,
@active_end_time=235959
EXEC msdb.dbo.sp_update_job @job_id = @jobId, @enabled = 1,
@start_step_id = 1
QuitWithRollback:
IF (@@ERROR 0)
通过以上方法,我们可以很方便地实现MSSQL自动备份,以满足我们的需要,在任何情况下都能帮助我们更好地保护我们的重要数据,做好数据安全防护。