了解日志传送
使用日志传送,您可以自动将“主服务器**”实例上“主数据库**”内的事务日志备份发送到单独“辅助服务器**”实例上的一个或多个“辅助数据库**”。事务日志备份分别应用于每个辅助数据库。可选的第三个服务器实例(称为“监视服务器**”)记录备份和还原操作的历史记录及状态,还可以在无法按计划执行这些操作时引发警报。
日志传送操作
日志传送由三项操作组成:
- 在主服务器实例中备份事务日志。
- 将事务日志文件复制到辅助服务器实例。
- 在辅助服务器实例中还原日志备份。
日志可传送到多个辅助服务器实例。在这些情况下,将针对每个辅助服务器实例重复执行操作 2 和操作 3。
日志传送配置不会自动从主服务器故障转移到辅助服务器。如果主数据库变为不可用,可手动使任意辅助数据库在线。
您可以为了实现报表目的而使用辅助数据库。有关详细信息,请参阅使用辅助服务器进行查询处理。
注意: |
---|
主服务器和辅助服务器可以是同一台计算机,但对于这种情况,SQL Server 故障转移群集可带来更好的结果。有关详细信息,请参阅故障转移群集。 |
此外,可以针对日志传送配置来配置警报。
主服务器和数据库
日志传送配置中的主服务器是作为生产服务器的 SQL Server 数据库引擎实例。主数据库是主服务器上希望备份到其他服务器的数据库。通过 SQL Server Management Studio 进行的所有日志传送配置管理都是在主数据库中执行的。
主数据库必须使用完整恢复模式或大容量日志恢复模式,将数据库切换为简单恢复模式会导致日志传送停止工作。
辅助服务器和数据库
日志传送配置中的辅助服务器是您想要在其中保留主数据库备用副本的服务器。一台辅助服务器可以包含多台不同主服务器中数据库的备份副本。例如,某个部门可能有五台服务器,每台服务器都运行关键数据库系统。在这种情况下,可以只使用一台辅助服务器,而不必使用五台单独的辅助服务器。五个主系统上的备份都可以加载到这个备份系统中,从而减少所需的资源数量并节省开支。不太可能出现多个主系统同时发生故障的情况。另外,为了应对多个主系统同时不可用的罕见情况,辅助服务器的规格可以比各主服务器高。
辅助数据库必须通过还原主数据库的完整备份的方法进行初始化。还原时可以使用 NORECOVERY 或 STANDBY 选项。这可以手动或通过 SQL Server Management Studio 实现。
监视服务器
监视服务器是可选的,它可以跟踪日志传送的所有细节,包括:
- 主数据库中事务日志最近一次备份的时间。
- 辅助服务器最近一次复制和还原备份文件的时间。
- 有关任何备份失败警报的信息。
监视服务器应独立于主服务器和辅助服务器,以避免由于主服务器或辅助服务器的丢失而丢失关键信息和中断监视。一台监视服务器可以监视多个日志传送配置。在这种情况下,使用该监视服务器的所有日志传送配置将共享一个警报作业。
重要提示: |
---|
配置监视服务器之后,只有首先删除日志传送才能对其进行更改。 |
有关详细信息,请参阅监视日志传送。
日志传送作业
日志传送涉及四项由专用 SQL Server 代理作业处理的作业。这些作业包括备份作业、复制作业、还原作业和警报作业。
用户控制日志备份的频率,将日志备份复制到每台辅助服务器的频率以及将日志备份应用到辅助数据库的频率。例如在生产系统出现故障之后,为了减少使辅助服务器在线所需的工作,可以在创建每个事务日志备份后立即将其复制和还原。或者,如果在第二台辅助服务器中,则可以延迟将事务日志备份应用到辅助数据库。该延迟提供了一个间隔,在此间隔中,您可以通知并响应主服务器中导致严重故障的操作(如意外删除关键数据)。
备份作业
在主服务器实例上为每个主数据库创建一个备份作业。它执行备份操作,将历史记录信息记录到本地服务器和监视服务器上,并删除旧备份文件和历史记录信息。默认情况下,每两分钟执行一次此作业,但是间隔是可自定义的。
启用日志传送后,将在主服务器实例上创建 SQL Server 代理作业类别“日志传送备份”。
复制作业
在日志传送配置中,将针对每个辅助服务器实例创建复制作业。此作业将备份文件从主服务器复制到辅助服务器中的可配置目标,并在辅助服务器和监视服务器中记录历史记录。可自定义的复制作业计划应与备份计划相似。
启用日志传送后,将在辅助服务器实例上创建 SQL Server 代理作业类别“日志传送复制”。
还原作业
在辅助服务器实例上为每个日志传送配置创建一个还原作业。此作业将复制的备份文件还原到辅助数据库。它将历史记录信息记录在本地服务器和监视服务器上,并删除旧文件和旧历史记录信息。在启用日志传送时,辅助服务器实例上会创建 SQL Server 代理作业类别“日志传送还原”。
在给定的辅助服务器实例上,可以按照复制作业的频率计划还原作业,也可以延迟还原作业。使用相同的频率计划这些作业可以使辅助数据库尽可能与主数据库保持紧密一致,便于创建备用数据库。
相反,延迟还原作业(可能是数小时)在出现严重的用户错误(如删除表或不适当地删除表行)的情况下是很有用的。如果知道出错的时间,则可以将该辅助数据库向前移动到错误发生前。然后,您可以先导出丢失的数据,然后将其导回到主数据库。
警报作业
如果使用了监视服务器,将在警报监视器服务器实例上创建一个警报作业。此警报作业由使用监视器服务器实例的所有日志传送配置中的主数据库和辅助数据库所共享。对警报作业进行的任何更改(例如,重新计划作业、禁用作业或启用作业)会影响所有使用监视服务器的数据库。如果在指定的阈值内未能成功完成备份和还原操作,此作业将引发主数据库和辅助数据库警报(您必须指定警报编号)。您必须为这些警报配置一个操作员来接收日志传送失败的通知。在启用日志传送时,监视服务器实例上会创建 SQL Server 代理作业类别“日志传送警报”。
如果未使用监视服务器,将在本地主服务器实例和每个辅助服务器实例上创建一个警报作业。如果在指定的阈值内未能成功完成备份操作,主服务器实例上的警报作业将引发错误。如果在指定的阈值内未能成功完成本地复制和还原操作,辅助服务器实例上的警报作业将引发错误。
典型日志传送配置
下图显示了具有主服务器实例、三个辅助服务器实例和一个监视服务器实例的日志传送配置。此图阐释了备份作业、复制作业以及还原作业所执行步骤,如下所示:
- 主服务器实例执行备份作业以在主数据库上备份事务日志。然后,该服务器实例将日志备份放入主日志备份文件(此文件将被发送到备份文件夹中)。在此图中,备份文件夹位于共享目录(“备份共享**”)下。
- 全部三个辅助服务器实例都执行其各自的复制作业,以将主日志备份文件复制到它本地的目标文件夹中。
- 每个辅助服务器实例都执行其还原作业,以将日志备份从本地目标文件夹还原到本地辅助数据库中。
主服务器实例和辅助服务器实例将它们自己的历史记录和状态发送到监视服务器实例中。
启用日志传送