SQL Server高可用——日志传送(4-3)——使用

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
日志服务 SLS,月写入数据量 50GB 1个月
简介: 原文: SQL Server高可用——日志传送(4-3)——使用   顺接上一篇:SQL Server高可用——日志传送(4-2)——部署 本文为本系列最重要的一篇,讲述如何使用日志传送及一些注意事项。
原文: SQL Server高可用——日志传送(4-3)——使用

 

顺接上一篇:SQL Server高可用——日志传送(4-2)——部署

本文为本系列最重要的一篇,讲述如何使用日志传送及一些注意事项。从上一篇可以看到,其实配置不难,难是难在一旦出现问题,如何处理。这些是4大高可用的同性。配置都不会很难,只是如何故障排除而已。

 

 

监控日志传送:

      在配置好日志传送之后,需要进行监控,监控备份、复制及还原的作业运作情况。这三类作业任何一个没有成功都意味着日志传送失败。

有两种方法可以监控辅助服务器是否与主服务器同步以及两者的时间差:

1、 使用“事务日志传送状态”

 

 

 

2、 执行master.dbo.sp_help_log_shipping_monitor

 

还可以使用sys.sp_check_log_shipping_monitor_alert来检查是否超过预先设置的阈值。如果超过了,存储过程会发出一个警报。

在监控服务器上执行存储过程:sp_help_log_shipping_monitor,可以看到主服务器和辅助服务器的信息,该结果和使用方法1中的结果基本一致。

 

 

 

故障排查:

日志传送由三部分组成:备份事务日志、复制文件和还原事务日志。所以当出现故障的时候,检查这三部分。

      可以查看SQL代理的日志传送作业历史和windows事件查看器来确认真正的错误信息。

      如复制文件失败,可能是网络不正常,如果还原失败,可能服务器不可用或者数据库处于standby模式时用户正在使用数据库。另外,如果数据库恢复模式改为“简单”,会中断日志传送,因为会截断日志。而不是备份日志。这时需要重新配置事务日志。

      要注意一点,在日志传送之外不应该存在任何其他的事务日志备份操作。因为这样会引起主服务器和辅助服务器的日志链不匹配,从而导致日志传送的中断。

 

数据库备份计划:

在日志传送中,,对于备份,要考虑以下几点:

l 数据库备份进程和事务日志备份进程不能并发运行。所以一个大型、活跃的数据库,备份可能要花费一段时间,引起日志快速的增长,从而导致辅助服务器和主服务器不同步。因为数据库备份完成之前无法及时地收到事务日志。

l 除日志传送之外不能有其他事务日志备份,因为会断开日志链。

l 截断事务日志将断开日志链,从而导致日志传送无法正常工作。

l 如果把数据库恢复模式转换成“简单”,那么SQLServer会截断事务日志。从而导致日志传送无法正常工作。

 

删除日志传送:

在删除日志传送数据库之前,先要删除数据库中的日志传送。当删除日志传送后,所有的时间表、作业、历史以及错误信息都会被删除。

 

使用ssms删除:

只需要把主服务器中下面红框处取消勾选即可。

 

 

也可以用下面那里点击【删除】

 

 

 

 

 

使用T-SQL删除:

在主服务器上:

 

Use master;

Sp_delete_log_shipping_primary_secondary @primary_database,@secondary_server,@secondary_database 


 

 

这个命令是删除主服务器上的msdb.dbo.log_shipping_primary_secondaries表中辅助服务器的信息。

 

在辅助服务器上:

 

Use master;

Sp_delete_log_shipping_secondary_database @secondary_database;


 

 

删除辅助服务器上有关服务服务器的信息和作业。

 

然后再回到主服务器:

 

Use master;

Sp_delete_log_shipping_primary_database @database


 

 

该存储过程删除对应的信息和作业。

 

日志传送性能:

1、 日志传送备份目录存放到与数据库不同的磁盘驱动器上。并使用备份压缩(2008出现)

2、  需要监控I/O性能计数器以找到所有的瓶颈(如每个物理驱动器的队列平均程度大于2)

3、 在空间时段进行数据库管理活动(如索引碎片整理),因为碎片越多,日志文件越大,备份和还原的时间就越长。

4、为了确保角色切换中数据库能快速恢复,辅助服务器应该与主服务器完全一样的容量。

5、需要把文件复制目录与数据库分离。

6、确保网络不会成为瓶颈。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
6月前
|
SQL 数据库 数据安全/隐私保护
SQL Server数据库Owner导致事务复制log reader job无法启动的解决办法
【8月更文挑战第14天】解决SQL Server事务复制Log Reader作业因数据库所有者问题无法启动的方法:首先验证数据库所有者是否有效并具足够权限;若非,使用`ALTER AUTHORIZATION`更改为有效登录名。其次,确认Log Reader使用的登录名拥有读取事务日志所需的角色权限。还需检查复制配置是否准确无误,并验证Log Reader代理的连接信息及参数。重启SQL Server Agent服务或手动启动Log Reader作业亦可能解决问题。最后,审查SQL Server错误日志及Windows事件查看器以获取更多线索。
|
3月前
|
监控 安全 网络安全
使用EventLog Analyzer日志分析工具监测 Windows Server 安全威胁
Windows服务器面临多重威胁,包括勒索软件、DoS攻击、内部威胁、恶意软件感染、网络钓鱼、暴力破解、漏洞利用、Web应用攻击及配置错误等。这些威胁严重威胁服务器安全与业务连续性。EventLog Analyzer通过日志管理和威胁分析,有效检测并应对上述威胁,提升服务器安全性,确保服务稳定运行。
101 2
|
5月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
7月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
189 13
|
7月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
114 9
|
5月前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
291 0
|
7月前
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
97 6
|
7月前
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
602 1
|
7月前
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
589 3
|
6月前
|
SQL 安全 Java
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
611 0