为什么要在 SQL Server 2016 中安排自动备份

考虑到数据的安全性,有必要对数据库进行备份SQL Server 2016经常。但是随着数据的增长本身会非常庞大​​,每次要备份都需要手动操作,既费时又费力。因此,定时自动备份非常重要。

我将介绍以下 4 种方法。

如何创建 SQL Server 2016 数据库自动备份(4 种方式)

基本上,有 4 种方法可以创建 MS SQL Server 2016 数据库自动备份。他们每个人都有不同的适用情况和限制。我将它们列出如下,您可以单击这些锚文本跳转到详细信息部分。

1. 启动SSMS并连接到您的实例,确保您的SQL Server 代理已启动。您可以右键单击SQL Server 代理,选择“开始”来启用该功能。

2. 打开“管理”选项卡,右键单击“维护计划”并选择“新建维护计划…”

新维护计划

3、点击上方栏的“工具箱,选择”“备份数据库任务”,将其拖到右侧空白处,然后双击该任务。

备份数据库任务

4. 在提示窗口中,先选择“备份类型”(完整/差异/事务日志),然后选择您要备份的具体一个或多个数据库。 如您所见,您可以选择备份所有数据库、系统数据库、用户数据库和特定数据库。

之后,在Folder中添加一个要放置这些备份的路径。然后您可以单击“确定”完成设置。

备份类型和路径

6. 单击“子计划时间表”(日历图标)。

子计划时间表

7. 在提示窗口中,按需设置本次日程的"计划类型"“频次”“区间” 。然后单击“确定”完成。

新工作时间表

8. 在SQL Server 代理 > “作业”中找到此任务并右键单击它,选择“作业开始步骤”以启动此任务。

从一步开始工作

9. 定时自动备份任务完成。

2.使用SQL Server 代理创建定时备份任务

您还可以使用SQL Server 代理创建 SQL Server 2016 数据库自动备份。以下是步骤:

1. 右击“SQL Server 代理”,选择“开始”启用该功能。

2. 打开“SQL Server 代理”选项卡,右键单击“作业” > “新建作业…”

新工作

3. 在“常规”页面上,在空白处填写名称。

姓名

4. 转到“步骤”页面,点击新建... ,在提示窗口中填写“步骤名称”。Type中选择T-SQL ,然后在命令中输入以下语句:

声明 @strPath NVARCHAR(200)
set @strPath = convert(NVARCHAR(19),getdate(),120)
set @strPath = REPLACE(@strPath, ':' , '.')
set @strPath = ' filepath ' + @ strPath + '.bak'
BACKUP DATABASE [ databasename ] TO DISK = @strPath WITH NOINIT,NOUNLOAD,NOSKIP,STATS = 10,NOFORMAT

“注意”:至于““文件路径””部分,您需要填写之前创建的用于存储这些备份的路径。例如:D:\备份。

然后单击“确定”

步骤命令

5. 转到计划页面,点击“新建”,填写“计划名称”,在提示窗口中选择“频率”“区间” 。单击“确定”保存这些设置。

计划时间频率

6. 在SQL Server 代理 > 作业中找到新建的作业,右击选择“作业开始步骤”开始。

从一步开始工作

3. 通过任务计划程序计划 SQL 数据库的备份批处理文件

如果熟悉命令行,也可以创建SQL Server 2016定时自动备份的批处理文件,然后使用Windows任务计划程序自动执行。

1.创建备份批处理文件。下面我为大家提供一个T-SQL脚本,用于备份单个SQL Server数据库。在文本编辑器中输入它们,然后将文本文件的扩展名更改为.bat。

ECHO OFF
:: 设置保存备份文件的路径 eg D:\backup
set BACKUPPATH=filepath
:: 设置服务器和实例的名称
set SERVERNAME=instancename
:: 设置数据库名称
set DATABASENAME=databasename
:: filename format Name-Date
For / f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b) For /f "tokens=1-2 delims
= /:" %%a in ("%TIME%") do (set mytime=%%a%%b)

set DATESTAMP=%mydate%_%mytime%
set
BACKUPFILENAME=%BACKUPPATH%\%DATABASENAME%-%DATESTAMP% .bak
SqlCmd -E -S %SERVERNAME% -d master -Q "BACKUP DATABASE [%DATABASENAME%] TO DISK = N'%BACKUPFILENAME%' WITH INIT, NOUNLOAD, NAME = N'%DATABASENAME% backup', NOSKIP, 统计= 10,NOFORMAT”
ECHO.
PAUSE

注意如果您想使用脚本一次备份多个或所有数据库,您可以查看这篇文章以了解更多脚本:如何使用批处理脚本备份 SQL Server 数据库

Task 计划任务r Create Basic Task

创建基本任务

为这个任务命名,然后移动到页面并选择何时开始这个任务。例如,您可以选择“Daily”每天执行SQL Server 自动备份,选择“Weekly”每周执行SQL 备份等。单击下一步 

触发器

4. 点击左侧选项卡中的设置时间,设置备份的具体时间。然后

触发器

选择启动程序然后单击“下一步”

启动程序

打开程序 ,单击“浏览…”添加刚刚创建的批处理文件,然后单击“下一步”

“完成”

结束

上面介绍的3种方式都是有效的。但是如果你不熟悉T-SQL,或者你想创建SQL Server 2016 Express 定时备份,或许你可以尝试使用自动备份软件来为你做这件事,比如傲梅企业备份网络版.

傲梅企业备份网络版 Edition是一款直观的专业备份软件,通过简单的点击,让SQL Server每天、每周、每月自动备份。此外,您还可以选择按需进行完整或差异备份。

除了单机备份外,您还可以管理局域网内所有Windows PC、工作站和服务器的备份,在一台集中控制的计算机上操作,大大提高效率。

为您提供180天免费试用:

在开始之前,要正确使用傲梅企业备份网络版,您需要先执行以下步骤:

转到  “计算机”页面,单击 上方栏的“安装客户端程序” ,将Agent 安装到您要备份的客户端计算机上。

安装客户端程序

如果您选择手动安装Agent,那么您需要点击"未控制的计算机",右键点击您要备份到“请求控制”客户端计算机。

然后在对应的客户端电脑上会有一个提示窗口,需要权限控制。

请求控制

✦ 如何创建计划的自动备份

1.在“首页”点击“SQL Server备份”,或者在“任务”页面点击“新建任务”,选择“SQL Server备份”

SQL 服务器备份

2. 在步骤 1中,单击“添加计算机”以添加要备份的客户端计算机。

添加计算机

3. 在“步骤2”中,选择您要备份的实例和数据库(您可以选择单个或多个实例和数据库),然后点击“确定”

添加数据库

4、在第3步中,点击文字,在提示窗口中点击"添加存储"添加一个Share或NAS路径作为存储端,添加填写对应的“用户名”“密码”

选择路径

5. 之后,您可以点击左下角的 “日程安排自动备份任务”。点击你要备份的电脑,会有一个提示窗口“计划设置”。单击“计划类型设置,”您可以将备份“频率”设置为一次、每天、每周和每月。

如果是每日,您可以设置每天的特定时间或间隔自动备份。

如果是每周,您可以选择特定的日期和时间每周备份一次。

如果每月,您可以设置特定日期或一个工作日每月备份一次。

日程设置

此外,单击“高级”您还可以选择要在此任务中执行的完整或差异备份。

高级设置

6.完成所有这些设置后,单击“开始” “备份”>“创建并执行任务”。然后您的 SQL Server 数据库自动备份任务就完成了。

您也可以单击此任务右上角的“高级” ,然后选择“编辑备份”以根据需要更改设置。此外,在还原时,您还可以选择要还原这些备份中的哪一个。 

总结

在本文中,我向您介绍了 4 种创建 MS SQL Server 2016 数据库自动备份的方法。但如果你不喜欢复杂的备份过程,或者不熟悉T-SQL脚本,那么傲梅企业备份网络版可能更适合你。

除了集中备份,也很方便管理备份并恢复局域网内所有计算机上的数据库。除了 SQL Server 备份,它还可以备份您的文件、系统、磁盘和分区。这绝对值得一试。