在现实中,为了保证数据的安全和完整,防止人为错误和硬件故障等造成的数据丢失和损坏,就需要用到数据库的备份,不同的数据库方法有所差别,我这边主讲SQL Server数据库的备份和使用SQL Server代理作业实现数据库的定时备份。
目录
一、开启SQL Server代理
1、找到SQL Server代理右键单击启动
2、单击是,然后稍微等待一段时间
二、代理已经打开,开始创建备份作业,有两种方法
1、第一种
1、第一步,新建备份
2、备份数据库的配置
3、添加计划,可以直接选取现有的计划,也可以自定义新建一个计划。
4、查看新建的作业
2、第二种
1、设置常规选项
2、新建步骤
3、维护新建步骤
4、选择计划
三、效果
四、备注
一、开启SQL Server代理
使用SSMS管理工具开启代理
1、找到SQL Server代理右键单击启动
2、单击是,然后稍微等待一段时间
二、代理已经打开,开始创建备份作业,有两种方法
1、第一种
1、第一步,新建备份
首先点击数据库右键单击选择任务,任务下面选择备份。
2、备份数据库的配置
1、在常规里备份模式选择完整,在目标处可以选择备份到本地磁盘或者云盘,点击添加选择备份位置,这里我自己在D盘建了一个文件夹。
2、在备份选项这里名称和说明可以自己填,备份集过期时间这里我选择的是一天,压缩这里我选择压缩备份,加密需要在介质选项里设置备份到新介质集,这里我不做加密。然后左上角点击脚本,在下拉界面选择将操作保存到作业。
1、备份集:备份集是指在 SQL SERVER 数据库中创建的一组备份文件,用于存储数据库的备份数据。备份集包含了数据库的完整备份或差异备份,以及在备份过程中生成的日志备份。
2、备份集过期时间:备份集过期时间是指备份集的保留期限,即备份集在数据库中保留的时间。一旦备份集过期,它将被自动删除。备份集的过期时间可以在备份操作时设置,也可以在数据库的属性中设置。默认情况下,备份集的过期时间为0,即备份集永久保留。但是,为了避免数据库备份文件过多占用磁盘空间,建议设置合理的备份集过期时间。
3、备份压缩:备份压缩是指在 SQL SERVER 数据库备份操作中使用压缩算法对备份文件进行压缩,以减少备份文件的大小和占用的磁盘空间。
3、添加计划,可以直接选取现有的计划,也可以自定义新建一个计划。
1、选取计划:单击选取按钮,会弹出计划选择,这些都是系统已有的计划,选中计划,单击下面的属性按钮可以查看计划详情,选择一个需要的计划就可以了,也可以在属性里面修改已有的计划。
2、新建计划:点击新建,会弹出自定义界面,根据自己的需求修改计划,这里我自己选择每天重复执行,一个小时执行一次,也就是一个小时备份一次,无结束日期,完成后点击确定后计划就会出现在计划列表里。
4、查看新建的作业
可以在在SSMS资源管理器里的SQL Server代理这里查看刚刚新建的作业。
这边自动备份就已经做好了,当数据库服务运行的时候就会自动备份。会将文件备份在之前设定的备份目录下。新的备份会替代老的备份文件。
2、第二种
也可以直接设置备份的时候选择将脚本保存到剪贴板或者保存到新建查询窗口,效果都一样,就是获得备份的脚本。然后自己在SQL Server代理里新建作业。
1、设置常规选项
首先设置常规选项,常规中作业名必须填写。
2、新建步骤
在步骤中选择新建,新建步骤。
3、维护新建步骤
在新建步骤中填写步骤名称,数据库。这里命令我们把之前复制的脚本命令粘贴到里面,点击分析。这里分析的作用主要是验证脚本代码是否正确。完成后点击确定就可以,新建的步骤会出现在作业步骤列表里。
4、选择计划
最后选择计划,计划的配置方法和第一种一样。其他的可以默认也可以自定义。
三、效果
最后让我们看一下效果,两种方法实现的都是一个功能所以效果是一样的
我们找到目录文件夹可以看到数据库已经被备份,此刻的时间是当天十点。
这边看到在11点数据库的备份文件修改时间更新,说明这是新的备份文件,因为名称一样,所以旧的备份文件被新的备份文件替换。
这里可以看到同样的数据库备份文件大小却增大了,这是因为有日志文件的缘故。
四、备注
这两种方法其实都是一样的,都是使用代理作业定时执行代码完成数据库的备份。代理也可以实现其他的操作,比如对数据库进行定期的日志清理,表格无效数据的清理等。只需要将步骤中的脚本更换即可。
五、扩展
这边扩展一条小知识,在数据库右键数据库属性,选择选项页面找到自动,把自动收缩改为True。
1、自动收缩是指数据库管理系统自动压缩数据库文件以释放磁盘空间。它通过删除不再需要的数据和压缩数据文件来缩小数据库的大小。自动收缩可以帮助数据库管理员节省磁盘空间,提高数据库性能,同时也可以减少备份和还原数据库的时间。但是,过度使用自动收缩可能会导致数据库性能下降,因此需要谨慎使用。
2、开启自动收缩功能取决于实际需求和环境。自动收缩功能会在数据库空间不足时自动收缩数据库,但这会增加系统负载和IO操作,影响数据库性能。因此,如果数据库经常需要进行大量的插入、更新和删除操作,建议不要开启自动收缩功能,而是手动定期进行数据库维护和优化。如果数据库空间不足的情况较少,可以考虑开启自动收缩功能。