MSSQL 自动备份:做好数据安全防护

1. 概述

对于数据库来说,数据备份是非常重要的。否则,一个意外的事件就可能带来灾难性的后果。因此,数据库管理员需要经常备份服务器数据并存储于其他安全的地方。在Microsoft SQL Server中,数据存在于一个或多个数据文件中,而且这些数据文件的大小可以很大。在备份数据时,管理员需要考虑文件复制所需的时间、磁盘空间和网络宽带等因素。同时,手动备份也比较繁琐,可能会导致数据备份不及时,或是漏掉某些重要数据。因此,自动备份是非常必要的。本文将简单介绍如何使用SQL Server的自动备份功能。

2. 设置自动备份

2.1 配置备份设备

首先,需要配置用于备份的设备。SQL Server支持将备份存储在硬盘、磁带、网络共享驱动器等设备上。在这里,我们以硬盘为例,假设我们将备份存储在一个文件夹中,该文件夹已授权访问权限。

USE [master]

GO

EXEC sp_configure 'backup compression default', 1

GO

RECONFIGURE WITH OVERRIDE

GO

BACKUP DATABASE [AdventureWorks2014] TO DISK = N'C:\Backups\AdventureWorks2014.bak' WITH INIT , NOUNLOAD , NAME = N'AdventureWorks2014 bak', NOSKIP , STATS = 10, NOFORMAT

GO

在这里,我们使用了backup compression default命令来启用备份压缩功能,该命令使备份文件更小、占用更少磁盘空间,同时也加快了备份速度。

2.2 设置备份计划

在SQL Server中,可以使用SQL Server代理来自动化管理作业,包括备份。在本例中,我们将使用SQL Server代理来自动备份AdventureWorks2014数据库。

我们需要在SQL Server代理中创建一个新的作业。作业是一个包含一个或多个作业步骤的计划,用来完成特定的任务。在这里,我们创建一个备份作业。

作业的三个重要元素是:

- 作业(job):包含了一个或多个作业步骤,并且设定了作业运行的时刻和频率等信息。

- 作业步骤(step):包含了一个或多个T-SQL语句或SSIS数据包,设定了作业执行时的具体操作。

- 作业计划(schedule):基于时间、事件或者人工触发器的策略,控制了作业的执行时间和频率。

在此示例中,我们创建一个简单的作业步骤来备份AdventureWorks2014数据库。

首先,我们需要连接到SQL Server实例,打开“SQL Server代理”窗口,并新建一个作业(点击下图中的“新建作业”按钮)。

![SQL Server代理窗口](https://img-blog.csdn.net/20170622111541270?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanVzdGlmeWluZ3poMC9sb2dvNTcz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/80/aHR0cDovL2kzNC5naXRodWIuaW8vLzIwMTgvMDEvMzAxMDgwMzQzODQ3OV8xNTEzNzAzMTkyNTIxNDQ5LmpwZw==)

接着,我们在作业步骤中添加我们的备份逻辑。可以使用T-SQL脚本来完成这个步骤。下面的代码将在指定时间自动备份AdventureWorks2014数据库。

USE [msdb]

GO

EXEC msdb.dbo.sp_add_jobstep @job_id = @jobId, @step_name = N'Backup AdventureWorks2014',

@subsystem = N'TSQL', @command = N'BACKUP DATABASE AdventureWorks2014 TO DISK = N''C:\Backups\AdventureWorks2014.bak''',

@retry_attempts = 5, @retry_interval = 5

GO

在此步骤中,我们使用了sp_add_jobstep命令向作业添加了一个命令,该命令将AdventureWorks2014备份到磁盘中指定的位置。

2.3 配置作业计划

最后,我们需要为我们的作业计划一个执行时间。我们可以点击“新建”按钮来创建一个新的计划,并设置作业的运行频率和时间。下面是一个简单的作业计划示例,每小时备份一次AdventureWorks2014数据库。

![计划界面](https://img-blog.csdn.net/20170622112227605?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanVzdGlmeWluZ3poMC9sb2dvNTcz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/80/aHR0cDovL2kzNC5naXRodWIuaW8vLzIwMTgvMDEvMzAxMDgwMzQ1Njk1OF8xNTEzNzAzNTI3NDE4Mzg0LmpwZw==)

3. 总结

在本文中,我们介绍了如何使用SQL Server自动备份功能来保护你的数据库。我们首先配置了备份设备,然后创建了一个备份作业,并在计划中设置了作业的运行频率和时间。这些步骤可以确保你的数据备份自动执行并存储在安全的位置。请务必根据你自己的环境和需求进行适当的配置和调整。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签