什么是SQL Server日志发送?
日志传送允许使用数据库事务日志复制数据库。事务日志包含数据库中的所有事务。其主要思想是将事务日志复制到辅助数据库,以便复制信息。因此,您需要一个带有数据库的主服务器,将日志传送配置为具有一些事务性日志备份,然后将其复制到辅助数据库以获得副本。
如何在SQL Server中配置日志发送?
要配置Log Shipping,至少需要两台SQL server处于同一网络中。但是,建议使用三台服务器。第三台服务器(称为Monitor server)用于监视日志传送。
要启动Log Shipping,请右键单击要用于日志传送的数据库并选择任务>发送事务日志。
检查在Log Shipping配置中将其启用为主数据库选项,然后按备份设置按钮,配置备份配置。
配置备份路径有两种选择:
- 配置网络路径。确保授予在路径中写入SQL Server代理的权限。
- 如果文件夹位于主服务器中,则可以使用本地路径。
此外,您可以删除旧文件。默认情况下,旧的文件72小时删除。此外,默认情况下,如果内部没有发生备份,则会引发警报1小时。
如何添加辅助实例和数据库?
配置好主数据库后,右键单击要用于Log Shipping的数据库,然后选择任务>发送事务日志。
在辅助服务器实例和数据库;按下添加按钮,以添加辅助服务器实例和数据库。
现在,按下连接按钮连接到SQL Server,它将被用作辅助数据库。
输入SQL Server名称,按“”键连接.
在辅助数据库设置中有3个选项:
- 你可以生成完整备份和恢复它进入辅助数据库。
- 您可以使用现有的备份(如果有的话)。您需要指定路径。
- 如果辅助数据库已经恢复,则不需要执行任何其他操作。
在“复制文件”选项卡中,指定要复制文件的目标文件夹。您还可以设置文件的过期时间。缺省情况下,为72个小时。
在恢复事务日志选项卡,您有两个选项:
- 的无恢复模式:在此模式下,从数据库不处于只读模式。用户无法读取数据。
- 的待机模式:只读模式。用户可以读取信息,但不能修改或删除数据。
如果在指定的时间内没有恢复,还可以选择延迟恢复备份或发送警报。缺省情况下,是0分钟为至少延迟恢复备份选项和45分钟如果未发生还原,则发出警报选择。
如需更改作业名称和时间表,可按时间表按钮。Schedule允许您设置备份的执行日期、时间和频率。
什么是监控服务器实例?
Log Shipping Monitor是一个SQL Server,您可以使用它来监视Log Shipping过程。假设主服务器和辅助服务器之间存在问题。您可以在那里查看交易日志运输状态报告。您可以使用单个实例来监视多个Primary和Secondary实例。
如何配置监控服务器实例?
要设置Monitor Server实例,首先需要右键单击要用于发送日志的数据库,然后选择任务>发送事务日志开始配置。
然后,尝试添加Monitor Server Instance。要做到这一点,请按设置按钮,并设置服务器。
日志运输创造了哪些工作?
作业是在设置日志传送时配置的自动任务。这些任务在SQL Server Agent上工作,用于调度Log Shipping任务。如果转到SSMS中的SQL Server Agent,转到作业部分,可以看到并修改用于日志发送的作业。以下作业由Log Shipping创建:
- 备份工作:它在主数据库中创建。此作业备份事务日志。
- 复制工作:作业将事务日志备份从主服务器复制到辅助服务器。
- 在辅助数据库中恢复事务日志:此任务恢复已复制的备份。
- 警告:如果有什么失败了,这个任务就会发出警报。
如何使用T-SQL在日志发送中配置主服务器?
下面的代码将为日志传送创建一个主服务器:
——声明2个变量
声明@JobId为唯一标识符;
声明@ PrimaryId为唯一标识符;
执行dbo.sp_add_log_shipping_primary_database
—数据库名称很好
@database =“恒星”,
——备份路径
@backup_directory = N 'c: \恒星”,
——共享备份文件夹
@backup_share = N'\\backup\stellar',
——作业名
@backup_job_name = N' lsbackup_stellar ',
——备份保留时长,单位为分钟。
@backup_retention_period = 1000;
——要监控的服务器名称
@monitor_server = N' stellarmonitor ',
——开启安全模式。
@monitor_server_security_mode =
—备份将每25分钟运行一次。
@backup_threshold = 25;
—如果达到备份阈值,则不会发出警报。
@threshold_alert = 0;
—阈值警报禁用
@threshold_alert_enabled = 0,
—保留时间等于1000分钟。
@history_retention_period = 1000;
——备份的作业ID将输出到变量@backup_job_id
@backup_job_id = @ JobId输出,
——日志传送配置的主ID是变量@primary_id的输出。
@primary_id = @ PrimaryId OUTPUT,
禁用覆盖配置
@overwrite = 0;
——压缩备份
@backup_compression = 1;
去
如何使用T-SQL在日志发送中配置辅助服务器?
下面的代码将在Log Shipping中创建一个辅助数据库:
使用主
去
——存储过程用于添加二级数据库
EXEC sp_add_log_shipping_secondary_database
——指定数据库名称
@secondary_database = 'SecondaryDatabaseName',
——指定主服务器的服务器名
@primary_server = 'MyPrimaryServer',
——指定主数据库
@primary_database = 'stellar',
——启用恢复数据库的选项
@restore_mode = 1;
—当设置为1时,用户断开连接。
@disconnect_users = 1
—这显示了日志发送恢复到警告之间可能经过的分钟数
@restore_threshold = 60;
——创建的作业的名称
@restore_job_name = 'RestoreJobName'
去
如果日志运输数据库损坏怎么办?
有时,由于病毒或恶意软件攻击、自然灾害或任何其他原因,数据库会损坏或损坏。要修复日志发送数据库,可以使用SQL修复软件,例如MS SQL的Stellar Repair。下载和安装该软件需要几分钟时间。
在使用该软件之前,请确保将数据库设置为脱机状态。
使用(主)
去
设置离线数据库
去
离线后,创建一个副本并使用该副本。如果出了问题,这将有所帮助。
现在,启动软件并选择数据库副本。
按下修复按钮来修复数据库。
一旦修好,你就可以了保存您的数据。按Save图标。您可以创建新数据库或替换现有数据库。
此外,还可以将表的数据和视图保存为其他格式,例如支持Excel、CSV和HTML格式.
结论
在本文中,我们学习了什么是SQL Server日志传送,如何在SQL Server中配置日志传送,以及如何在日志传送中添加主服务器和辅助服务器。最后,我们学习了如何在Log Shipping中使用恒星修复MS SQL。