使用Redgate的SQL Monitor优化SQL Server资产监视

问题

多年来,由于组织的即时反馈,SQL Server性能监视受到了极大的关注。如果认为某个应用程序运行缓慢,则会通知技术小组以解决问题。尽管SQL Server DBA和开发人员的日常操作任务同样重要,但最初的影响通常不那么明显。在大型SQL Server环境中,团队成员有限,因此要求很高,因此必须与本地,虚拟环境和云中的服务器一起尽可能高效地工作。

如果服务器发生硬件故障,则忽略的失败的数据库备份会丢失大量的问题,这将导致大量数据丢失。同样,可能不会向上游或下游进程以及SQL Server代理作业失败的受影响用户发送通知。这可能会导致其他失败的流程,不正确的数据集以及不正确的决策。

我们如何平衡需要监视数百个SQL Server的SQL Server性能和操作过程的需求,又如何通过关注最高优先级的问题来节省时间呢?

 

对于大型SQL Server环境,必须平衡操作一致性和性能监视。通常,对于任何规模的团队来说,这都是一项耗时且压倒性的工作。通常,感觉就像是一场艰苦的战斗,其中许多根本没有真正解决的潜在问题。根据谁抱怨最多,而不一定满足组织最关键的需求,可以将SQL Server团队拉向多个方向。

在团队成员有限的情况下进行的日常监视这一艰巨任务使SQL Server DBA处在更加妥协的位置。他们没有主动纠正问题,而是在周末和节假日对故障以及用户报告问题做出响应。登录到每个SQL Server实例以尝试查看关键进程,检查数据库状态,存储等是不现实的。某些SQL Server DBA构建T-SQL和PowerShell脚本来查询系统和用户定义的数据库中的系统对象,但是使用许多SQL Server版本构建和维护代码库可能很耗时。SQL Server代理还附带警报以通知团队成员失败的作业,但这需要针对每个作业进行配置,并且不包括与新的,修改的或删除的作业相关的功能。仍然需要运行并检查每个实例的输出,因为数据很难合并然后确定优先级。由于系统对象中的信息通常仅是一个时间点,并且默认情况下没有历史保留,因此情况更加复杂。

为了使SQL Server DBA简化,确定优先级并简化SQL Server监视,我想介绍一下 SQL Monitor来自Redgate。SQL Monitor通过在虚拟环境,群集和可用性组中运行的,在云(Azure,AWS和Google)中的本地实例在大型SQL Server环境中节省了大量时间来执行操作任务和性能监视。从体系结构的角度来看,SQL Monitor具有可伸缩性和灵活性,可以在每个SQL Server实例上通过自托管体系结构和代理来监视大型环境。基于Web且易于移动的界面是SQL Server Professional的时间节省者,它具有一个玻璃窗格,可以查看所有服务器,包括直观的颜色编码以及从主SQL Monitor界面单击1到2次即可深入研究细节的功能。 。

让我们深入研究SQL Monitor,以了解它如何提供帮助。

SQL Monitor环境概述

SQL Monitor的“概述”部分为整个SQL Server环境提供了一个单一的窗格。在一个界面中,您可以根据环境(即生产,Azure,分段,测试,开发),位置,部门来组织服务器,也可以根据需要对服务器进行分组。一旦组织好了,您就可以确定是否存在基于颜色编码的问题(红色表示严重,橙色表示警告,绿色表示健康),服务器是否在云中,是否属于可用性组以及高水平的性能。指标(等待时间,CPU百分比和磁盘I / O)。此外,您还可以在界面右侧看到来自所有服务器的最新警报。

SQL Monitor Glass的单​​个窗格以监视关键的操作和性能指标

SQL Server性能指标

单击SQL Server实例可提供有关CPU,磁盘,内存和等待时间的详细信息,包括十几种数据类别,从性能到阻止,再到安全性再到错误日志等等。您可以快速跟踪最关键的错误的故障排除。

 
来自Redgate的SQL Monitor中的SQL Server性能指标

SQL Server查询指标

服务器性能指标的下一部分是影响服务器的优先查询列表。在此示例中,数据按工期排序,但是您可以通过其余列进行排序,以帮助您集中精力。您可以查看前10个查询和前10个等待的预览,包括执行计数,以毫秒为单位的持续时间,CPU时间,物理读取,逻辑读取,逻辑写入以及关联的数据库。

前10个查询和前10个等待,包括执行计数,以毫秒为单位的持续时间,CPU时间,物理读取,逻辑读取,逻辑写入

但是,当您单击查询左侧的箭头以查看完整的代码集和查询计划时,故障排除才真正开始。界面的左侧部分包括“昂贵的操作”和“数据繁重的操作”,可以单击它们以导航到查询计划中的该语句并获取该语句的性能指标。您还可以左右滚动/上下滚动以查看整个查询计划,并专注于每个操作顶部的红色成本。

Redgate监视器中具有所有性能指标的SQL Server查询计划

界面的“查询指标”部分还包括基于持续时间的数据历史视图。或者,您可以使用CPU时间,逻辑读取,逻辑写入或物理读取。该时间段可以是所有历史记录的时间段,也可以是“缩放范围”或“窗口范围”的时间段,以查看查询在这些特定时间段内的执行情况。

SQL Monitor中的历史查询指标

SQL Server实例指标

SQL Monitor包含十几个实例级别的指标,以解释整个SQL Server实例的性能。示例包括:每秒批处理请求,SQL编译,页面拆分,用户连接,锁定,闩锁等。

Redgate的SQL Monitor中的SQL Server实例指标

此外,每个驱动器的磁盘使用情况(包括磁盘,总体卷大小,空间使用情况,读取,写入和传输)都会实时更新,以查看磁盘驱动器的性能。

SQL Monitor磁盘驱动器

这只是Redgate的SQL Monitor中性能监视的深度和广度的简要概述。查看 在线演示以了解有关该产品的更多信息,或请求 免费下载以了解您的SQL Server的性能。

 

SQL Server操作监控

除了SQL Monitor的性能方面,此解决方案还具有新的SQL Server操作功能,包括:

  • 安装版本
  • 磁盘使用情况
  • 后备
  • SQL代理作业

让我们看看这个新功能将如何帮助我们成为SQL Server专业人士。

SQL Server安装版本

在许多大型SQL Server环境中,同步所有SQL Server版本非常困难。SQL Monitor的新“已安装版本”界面有利于确定需要升级或新补丁的服务器的优先级。“摘要”部分概述了整个环境,并提供了版本快照。界面的主要部分按环境分类,然后按服务器分类,包括版本,版本,状态,产品级别,版本号,可直接从Microsoft下载的最新可用更新,以及终止主流支持的日期。

SQL Server安装的版本摘要窗格
版本,版本,状态,产品级别,版本号,可直接从Microsoft下载的最新可用更新以及主流支持终止的日期

利用此信息,您可以轻松地确定修补程序的优先级并计划长期升级,以便Microsoft持续支持您的SQL Server。

SQL Server磁盘使用情况

磁盘空间不足永远不是一个好情况。作为DBA,要了解组织中的每个卷是非常困难的,要知道哪些卷的磁盘空间不足以及一年中是否有足够的存储空间。SQL Monitor的新“磁盘使用情况”界面通过将每个数据库映射到具有以下指标的磁盘来解决此问题:

  • 使用空间
  • 容量
  • 使用百分比
  • 预计一年使用空间
  • 预计变更
  • 充满的时间

有了这些信息,您就可以提前扑救,并且可以通过计划时间表计划长期存储需求。

Redgate SQL Monitor中的SQL Server磁盘使用情况
SQL Monitor的新磁盘使用情况界面将每个数据库映射到具有关键存储指标的磁盘

SQL Server备份

对于每个组织,发生故障时的最后一道防线就是您的SQL Server数据库备份。不幸的是,在大型SQL Server环境中查看数据库备份状态是一个挑战,并且可能对组织造成严重威胁。为了满足此需求,SQL Monitor引入了“备份”界面,其中每个数据库都有摘要和详细的备份状态,以了解恢复点目标(RPO)。

界面的“摘要”部分概述了数据库的总数,没有备份的数据库以及已备份数据库的总体百分比,以及从15分钟到一年的特定时间段的恢复点目标的图表。

Redgate SQL Monitorg中具有恢复点目标的SQL Server备份

SQL Monitor的“备份”界面的详细部分按环境和数据库细分,然后包含以下信息:

  • 备份类型–完整,差异和日志
  • 备份元数据–开始日期,持续时间和大小
  • 数据库恢复模型
  • 最近30天内最差的RPO
SQL Monitor的备份界面按环境和数据库细分,然后包括备份类型-完整,差异和日志,备份元数据-开始日期,持续时间和大小,最近30天的数据库恢复模型和最差的RPO

在主SQL Monitor Backup界面中,您可以扩展任何数据库,并且其历史记录以图形和文本方式显示,包括以下内容:

  • 备份类型
  • 开始日期
  • 持续时间
  • 尺寸
  • 备份属性–仅复制,压缩和加密
  • 备份位置
Redgate的SQL Monitor中的详细备份历史记录

这种视觉和文字表示形式使您可以轻松查看预期备份过程中的任何差距,并努力解决以最小化RPO。

SQL Server代理作业

SQL Server代理是SQL Server的本机作业计划程序,对于计划与实例上的数据库进行交互的进程而言已变得不可或缺。无论该过程是基于T-SQL的过程还是命令Shell脚本,PowerShell或Integration Services,验证所有作业均成功完成都是非常困难的。尽管可以为SQL Server代理作业启用警报,但是由于散布在大型SQL Server环境中的SQL Server作业可能会耗费大量时间来设置和管理警报。

Redgate已经认识到发现,合并和确定SQL Server Agent Job失败的优先级的挑战,并已在SQL Monitor中引入了SQL Agent Jobs接口来满足这些需求。与“备份和磁盘使用情况”功能相似,SQL Monitor包含一个摘要窗格,该窗格中的图形显示了最近的活动,作业的总数,作业执行,成功执行,失败执行以及相关的成功率。

Redgate的SQL Monitor中的SQL Server代理作业摘要窗格

当您深入研究失败的作业时,所有详细信息都可从日期,时间,持续时间,步骤和返回的错误消息中获得,以简化对问题的故障排除。

SQL Monitor Failed Job界面包括日期,持续时间,错误等。

我如何开始使用SQL Monitor?

  1. 记录每天用于解决性能和运营问题的所有时间。然后考虑所有未引起最佳管理SQL Server环境注意的问题。
  2. 通过在线演示了解有关SQL Monitor的更多信息, 并概述您认为该应用程序将帮助您的组织的方式。
  3. 与Redgate团队的成员一起安排 SQL Monitor的 个人演示,并回答您的问题。
  4. 下载并安装免费的SQL Monitor个人评估版,然后开始在您自己的环境中查看实际的解决方案。
  5. 向您的团队和管理层传达有关SQL Monitor如何帮助您的组织的信息:
    1. 每天节省时间以进行故障排除性能,操作监控和优先级划分
    2. 安装简单,配置最少
    3. 开箱即用的重要功能可正确管理大型SQL Server环境
    4. 单一窗格可查看整个SQL Server环境的状态,并直观地钻取详细信息以了解并开始对问题进行故障排除
  6. 在您的环境中测试SQL Monitor之后,评估有形和无形的收益,并确定下一步措施,以提高DBA团队的运营效率。
原文地址:https://www.cnblogs.com/Javi/p/13271766.html