可以使用日志传送将事务日志不间断地从一个数据库(主数据库)发送到另一个数据库(辅助数据库)。不间断地备份主数据库中的事务日志,然后将它们复制并还原到辅助数据库,这将使辅助数据库与主数据库基本保持同步。目标服务器充当备份服务器,并可以将查询处理从主服务器重新分配到一个或多个只读的辅助服务器。日志传送可与使用完整或大容量日志恢复模式的数据库一起使用。
日志传送涉及四项由专用 SQL Server 代理作业处理的作业。这些作业包括备份作业、复制作业、还原作业和警报作业。
备份作业: 在主服务器实例上为每个主数据库创建一个备份作业。它执行备份操作,将历史记录信息记录到本地服务器和监视服务器上,并删除旧的备份文件和历史记录信息。
复制作业: 对每个辅助服务器实例创建复制作业。此作业将备份文件从主服务器复制到辅助服务器,并在辅助服务器和监视服务器中记录历史记录。
还原作业: 在辅助服务器实例上为每个日志传送配置创建一个还原作业。此作业将复制的备份文件还原到辅助数据库。它将历史记录信息记录在本地服务器和监视服务器上,并删除旧文件和旧历史记录信息。
警报作业: 启用警报作业有两种情况,一种是在单独的服务器使用警报作业,一种不使用警报服务器,可分别在主库和辅助库使用警报作业。
基本机构如图:
注:数据库回复模式必须处于完整模式或者大容量模式,因为需要日志备份。因此,如果其他备份计划,应考虑完整备份或者差异备份,不要进行日志备份!
还要注意代理账户有读写文件的权限
现在配置日志传送:
1. 右键将要启用日志传送的数据库,点击属性打开数据库属性,勾选将此数据库启用为日志传送配置中的主数据库,即启用了日志传送。首先配置的是备份,点击备份设置。
2. 打开了事务日志备份设置,输入备份文件夹,日志备份将备份到该文件夹中。点击编辑作业,设置事务日期的备份计划。在压缩项中可以设置为压缩备份。配置完成后确认对出备份设置。
3. 接下来配置辅助数据库,在辅助数据库选项中点击添加来添加辅助数据库,可以添加多个辅助数据库。
4. 连接到辅助数据库实例和选择辅助数据库,如果辅助数据库不存在也不要紧,可以已备份初始化辅助数据库。在初始化辅助数据库选项中选择第一项“生成主数据库备份并还原”,还原选项可设置辅助数据库的数据文件和日志文件的存储目录。
5. 点击复制文件选项,该选择中用于设置复制文件的目标文件夹和复制作业的计划。
6. 点击还原事务日志选项,还原备份时,辅助数据库有两种状态设置。
无恢复模式:辅助数据库无法访问,数据库一直处于还原状态。
备用模式:辅助数据库可读,但在还原时也有两种情况,一种是在数据库还原时强制用户断开,另一种是数据库等待用户自行断开才还原。
如果更改现有辅助数据库的恢复模式(例如,从“无恢复”模式到“备用”模式),则更改仅在下一次日志备份还原到数据库后才会生效。
7. 配置完成后,确定退出回数据库属性框。如果启用监视器,则勾选使用监视服务器实例,点击设置。
8. 打开了日志传送监视器设置,连接到监视服务器实例,确认退出。
9. 确认退出数据库属性,将启用并配置日志传送!
10. 此时可以看到辅助数据库创建后并处于 “正在还原…”状态,4个相关作业也创建并处于运行中,日志传送配置完成!
11. 若要查看日志传送当前的执行情况,可以使用系统自带报表查看。(右键)服务器实例——报表——标志报表——事务日志传送状态
基本信息都可以使用 msdb 中的表查看:
--主数据库select * from msdb.dbo.log_shipping_monitor_primary--辅数据库select * from msdb.dbo.log_shipping_primary_secondariesselect * from msdb.dbo.log_shipping_secondaryselect * from msdb.dbo.log_shipping_secondary_databasesselect * from msdb.dbo.log_shipping_monitor_secondary--日志传送警报作业idselect * from msdb.dbo.log_shipping_monitor_alertselect * from msdb.dbo.sysjobs where job_id=''--详细操作历史select * from msdb.dbo.log_shipping_monitor_history_detail--详细错误历史select * from msdb.dbo.log_shipping_monitor_error_detail
若删除日志传送,取消勾选 将此数据库启用为日志传送配置中的主数据库 !
参考:日志传送