- 博客(65)
- 收藏
- 关注

原创 SQL SERVER日常运维巡检系列—结构设计
随着开发和优化的进行,很多人会对数据库进行索引的创建操作,那么页难免会产生一些功能相近或相同的索引,索引本身也是有维护成本,在更新、插入、删除时会有一定的开销,那么重复的索引只会增加这部分维护开销。随着开发和优化的进行,很多人会对数据库进行索引的创建操作,很多时候创建了一个较优的联合索引或者覆盖索引,会让原本单列的索引失去使用的场景,这部分索引会出现在,长时间未使用的索引中,建议删除。注:检查信息主要包含不规范的表、缺失索引、无索引外键、没有使用的索引、重复索引、老化的索引。
2025-03-18 13:57:48
1088

原创 SQL SERVER日常运维巡检系列之-性能
前面的一些巡检项及配置项,在管理比较规范的系统下,一般并不会出现什么问题,而性能不同,这是一个受很多因素影响,并且比较容易产生问题的项。同时性能对系统的总要程度是不言而喻的,做好前面的巡检也是性能稳定的保证。北京格瑞趋势科技有限公司是聚焦于数据服务的高新技术企业,成立于2008年,创始团队及核心技术人员来自微软和雅虎。微软数据平台合作伙伴。通过产品+服务双轮驱动的业务模式,15年间累计服务4000+客户,覆盖互联网、市政、交通、电信、医疗、教育、电力、制造业等各个领域。
2025-02-25 12:39:46
905

原创 SQL SERVER日常运维巡检系列之-实例级参数
实例的参数对系统性能和稳定的影响很重要,系统级别的参数可能会根据业务的变化而变化,但防止系统参数设置不合理或被意外修改,系统参数检查也是巡检中的必要项。
2024-12-19 14:35:04
1139

原创 SQL SERVER 2016 AlwaysOn 无域集群+负载均衡搭建与简测
之前和很多群友聊天发现对2016的无域和负载均衡满心期待,毕竟可以简单搭建而且可以不适用第三方负载均衡器,SQL自己可以负载了。windows2016已经可以下载使用了,那么这回终于可以揭开令人憧憬向往的AlwaysOn2016 负载均衡集群的神秘面纱了。本篇主要描述个人集群搭建中遇到的坑和一些注意事项,以及2016无域负载均衡的简单体验测试。
2024-12-04 13:30:33
1428

原创 CDC作业历史记录无法删除问题
接下来分析为什么CDC的历史记录无法删除,通过跟踪定位到捕获作业调用存储过程[sys].[sp_cdc_scan]在一个没有退出方式的循环中扫描事务日志,并调用存储过程msdb.dbo. sp_sqlagent_log_jobhistory 记录历史记录,因为传递的@step_id的值代表这是执行步骤的记录,不是作业完成的记录,因此不会触发清理日志的存储过程,导致历史记录越积累越多。capture作业一直是运行的,所以记录的都是作业步骤的日志,不会执行到清理历史记录的步骤,导致历史记录越积累越多;
2024-03-01 13:35:52
1071
1

原创 为Oracle链接服务器使用分布式事务
在Windows平台下,SQL Server依赖分布式事务协调器(MSDTC)来使用分布式事务,Oracle Client使用Oracle Services for Microsoft Transaction Server服务来支持分布式事务。通过产品+服务双轮驱动的业务模式,14年间累计服务4000+客户,覆盖互联网、市政、交通、电信、医疗、教育、电力、制造业等各个领域。在SQL Server中创建指向Oracle的链接服务器,SQL语句在事务中向链接服务器插入数据。如没有安装,按照以下步骤进行安装。
2023-11-22 14:56:34
694

原创 SQL Server关于AlwaysOn的理解-读写分离的误区(一)
很多人认为AlwaysOn在同步提交模式下数据是实时同步的,也就是说在主副本写入数据后可以在辅助副本立即查询到。因此期望实现一个彻底的读写分离策略,即所有的写语句在主副本上,所有的只读语句分离到辅助副本上。这是一个认知误区,本文通过原理和测试进行解释。
2023-09-12 12:47:26
667
1

原创 链接服务器导致SQL Server停止响应
根据上面查询到的信息和存储过程的定义可以得出结论:SSMS在HIS实例中点击”发布服务器属性“,首先在HIS实例中执行sys.sp_helpdistributor,查询到链接服务器CISSVR为分发服务器,通过exec CISSVR.master.sys.sp_helpdistributor的方式在CIS实例中执行该存储过程,又查询到链接服务器HISSVR为分发服务器,继而通过exec HISSRV.master.sys.sp_helpdistributor的方式在HIS实例中执行该存储过程。
2023-09-06 14:44:20
792

原创 SQL专家云快速解决阻塞
当数据库突然产生严重阻塞时,运维人员要快速找到阻塞的源头并处理,让业务快速恢复。但是大多数运维人员只掌握了sp_who2、sp_lock等简单的语句,存在以下不足:找不到真正的源头,过程中会误杀掉大量的会话;无法保留现场,无法为事后分析提供客观的数据支撑;效率低下,要花费很长的时间才能解决问题。
2023-06-27 12:12:25
664

原创 SQL专家云汇总低效的SQL语句
SQL专家云像“摄像头”一样,对环境、参数配置、服务器性能指标、活动会话、慢语句、磁盘空间、数据库文件、索引、作业、日志等几十个运行指标进行不同频率的实时采集,保存到SQL专家云自己的数据库中。SQL专家云对活动会话语句进行参数化,然后分类,汇总成列表数据,可以按照等待次数、CPU时间、读写次数等多个维度进行排序,从而快速找到高消耗的语句。点击某一类语句,进入该语句的分类视图,分类视图呈现该类语句每一次执行的具体情况,包括会话状态、等待资源、CPU消耗、读写次数等。
2023-06-09 14:29:14
203

原创 一切从“简”,解放IT运维人员
买的软件厂商的,在他们的行业里,IT运维人员对系统进行的往往是简单维护,做的最多的是和业务功能相关的事情,很多数据库的专业问题困扰着他们,招聘资深数据库专家吧,人家不来,自己解决吧,又很吃力,寻求厂商,他们也没有好的方案,集成商就是换硬件。自己开发系统,擅长程序开发,对于数据库,了解的不深,更多的是业务逻辑,比如表结构设计、如何写存储过程等,导致后期很多业务存在性能瓶颈。亲身处理了上百家客户的系统,大部分系统数据库都存在着各种数据库问题,而数据库问题往往被忽视,直接被归结为软件的问题,厂商的问题!
2023-05-30 14:37:34
354

原创 细说数据库协作运维
业务高度依赖数据的今天,数据库成为信息化核心的基石,支撑着整个业务系统,发挥着非常重要的作用,被喻为“IT的心脏”。因此,让数据库安全、稳定、高效地运行是IT管理者必须要面对的问题。很多组织由于没有专职DBA,数据库运维面临很大挑战,普遍存在以下痛点:普遍慢、难管理、很被动、投入高。
2023-05-08 11:44:28
142

原创 医院核心数据库一体化建设实践
事后,追根溯源,有效改善,避免问题重复发生。对CPU、内存、磁盘、网络、活动会话、慢语句、数据库文件、连接数、请求数等12个常用指标全面呈现历史运行趋势,快速发现运行异常情况,并通过天 》小时 》分钟的逐层下钻方式,精准定位问题根源,做到“看一眼就知道异常,点一下就找到根源”。Moebius集群的每个节点都是”活“的,因此可根据医院实际场景配置多种读写分离策略,把银行、医保、卫健委、集成平台等大量的数据抽取操作的SQL语句分离到其他节点,既减轻了主节点的访问压力,又避免了大数据量抽取操作带来的阻塞。
2023-04-25 13:29:58
552

原创 【能力提升】SQL Server常见问题介绍及快速解决建议
本文旨在帮助SQL Server数据库的使用人员了解常见的问题,及快速解决这些问题。这些问题是数据库的常规管理问题,对于很多对数据库没有深入了解的朋友提供一个大概的常见问题框架。下面一些问题是在近千家数据库用户诊断时发现的常规问题,本文分为【常见问题诊断流程】-【常见问题】-【常见问题快速解决的建议】
2023-04-14 14:06:35
503

原创 Moebius数据库多活集群
Moebius 通过“网络心跳”及“仲裁机制”实现故障监控,当侦测到某节点发生故障并经过仲裁后,将此节点剥离出集群,如果故障节点是主节点,则会进行自动故障转移,重新选择健康的节点作为主节点。如果存储设备只是为了数据库服务器提供的,那么是没有必要再做双活的,因为Moebius的数据就是多份的,既能保障数据安全,又可以随时验证数据的一致性。Moebius的调度引擎支持连接级和SQL语句级两种调度方式,通过规则的配置,在不改动或者少改动应用程序的前提下,透明的实现读写分离、负载均衡。
2023-04-07 11:56:48
313

原创 SQL Server底层架构技术对比
从根本上说是通用技术和SQL Server专用技术的比较,如果要实现数据安全和可用性等基本需求,通用技术就能可以做到,如果要实现读写分离、负载均衡等高级别的需求,就需要充分利用SQL Server特性而开发的专用技术。并不是说通用技术不好,只是满足的场景不同而已,我们要根据实际的场景选择合适的方案。
2023-03-28 10:52:46
513

原创 Moebius兼容AlwaysOn
数据库是信息化的基石,支撑着整个业务系统,发挥着非常重要的作用,被喻为“IT的心脏”。因此,让数据库安全、稳定、高效地运行已经成为IT管理者必须要面对的问题。数据库在底层架构层面需要满足以下几点建设要求:安全和可靠:容灾;读写分离(报表分离);负载均衡;弹性扩展
2023-03-23 12:06:21
418

原创 CXPACKET等待类型分析
客户反馈今天8点钟开始进入业务高峰期后,数据库的CPU利用率非常高,基本达到了100%,前端应用也非常慢。怀疑是昨晚业务系统升级导致,请我们紧急协助分析。
2023-02-20 14:23:01
299

原创 为什么sleeping的会话会造成阻塞(2)
客户反馈系统突然从11:10开始运行非常缓慢,在SQL专家云中看到大量的产生阻塞的活动会话,KILL掉阻塞的源头马上又出现新的源头,实在没有办法只能重启应用程序断开所有数据库连接才解决,请我们协助分析根本的原因
2023-02-15 11:28:04
465

原创 为什么sleeping的会话会造成阻塞
客户反映HIS数据库每天22点后都会发生阻塞,阻塞的源头是一个sleeping的会话,越阻塞越多,只能通过手动KILL掉才能解决,十分不解为什么状态为sleeping的会话会造成阻塞。
2023-02-07 22:24:39
337

原创 CPU持续100%分析并解决
接到客户电话,说某系统数据库服务器CPU利用率从上午8点开始到现在基本上都是100%的情况,影响到了业务。让给看看是什么原因导致的,怎么紧急处理一下。
2023-01-28 19:54:29
269

原创 为什么带NOLOCK的查询语句还会造成阻塞
客户反映HIS数据库在11点出现了长时间的阻塞,直到手动KILL掉阻塞的源头。请我们协助分析原因,最终定位到.NET程序中使用的SqlDataReader未正常关闭导致。
2023-01-23 12:09:07
1238

原创 探究SQL SERVER 更改跟踪
SQL SERVER 在2008 以上的版本提供两个用于数据库中跟踪数据更改的功能:变更数据捕获(CDC )与更改跟踪(CT )。这两个功能使应用程序能够确定对数据库中的用户表所做的 DML 更改(插入、更新和删除操作 )
2023-01-16 20:26:09
1418

原创 Profiler导致的严重性能问题
Profiler使用不当会造成严重的性能问题,主要有两类,第一类是跟踪到的SQL语句太多;第二类是筛选条件设置不当。
2023-01-08 17:36:01
508

原创 【Profiler导致的严重性能问题】
Profiler使用不当会造成严重的性能问题,主要有两类,第一类是跟踪到的SQL语句太多,原因是没有设置筛选条件或者筛选条件太宽泛,另外就是跟踪的事件太多,例如用SP:StmtCompleted跟踪存储过程子语句的执行,复杂的存储过程执行一次就可能产生成百上千的跟踪事件,这类现象的特征是大量会话产生TRACEWRITE的等待,很好排查;客户反馈系统突然运行非常缓慢,持续了近20分钟的时间,通过SQL专家云定位到有人开启了Profiler导致,但是不能定位是谁开启的,请我们协助分析。
2023-01-02 17:05:46
480

原创 快速诊断I/O性能问题
客户反馈最近一段时间数据库运行缓慢,磁盘的压力很大,现在有两种不同的分析结论,存储设备性能下降和数据库压力变大,请我们进行系统的分析,给一个结论。
2022-12-28 19:27:45
769
1

原创 数据类型隐式转换导致的阻塞
隐式转换对用户不可见, SQL Server根据数据类型优先级规则将优先级较低的数据类型自动转换为优先级较高的数据类型,例如,smallint 会被转换为 int,char会被转换为nchar。现实中大多数情况还是等值比较,因为SQL Server做了相关的优化,把nchar类型的值计算为char类型的最小值和最大值,然后进行范围的查找,再对查找出来的结果进行隐式转换后比较,因此是不会导致索引扫描的,性能下降的不是特别厉害,但是由于变成了范围查找,加锁的行数增加了,还是会导致并发下降。逻辑读取次数是7次。
2022-12-20 20:22:43
606

原创 tempdb日志文件暴增分析
这类问题的大多数原因是应用程序实现不严谨造成的,正常的流程下会提交事务,关闭数据库连接,但是如果中间某个步骤出错了,因为没有异常处理,在这个出错步骤后面的提交事务和关闭连接的代码都没有执行到,最终导致事务和连接的泄露。所以根本的解决办法是修改程序,因为客观原因无法修改的,只能通过变通的方法来解决,例如在数据库中创建一个定期运行的作业,杀掉空闲时间长的会话。或者在SQL专家云中启用查杀会话的任务。
2022-11-09 12:09:12
499

原创 SQL SERVER——高可用技术概述
自从SQL Server 2005以来,微软已经提供了多种高可用性技术来减少宕机时间和增加对业务数据的保护,而随着SQL Server 2008,SQL Server 2008 R2,SQL Server 2012的不断发布,SQL Server中已经存在了满足不同场景的多种高可用性技术。 在文章开始之前,我首先简单概述一下以什么来决定使用哪一种高可用性技术。 依靠什
2017-02-27 11:41:05
3021

原创 SQL SERVER——索引的重要性
前面很多篇不管CPU、内存、磁盘、语句等等等都提到了索引的重要,我想刚刚开始学数据库的在校学生都知道索引对语句性能的重要性。但他们可能不知道,对语句的重要性就是对系统的重要性! 开篇小测验 下面这样一个小SQL 你该怎么样添加最优索引 两个表上现在只有聚集索引 bigproduct 表上已经有聚集索引 ProductID bigtran
2017-02-15 16:50:57
3906
6
Moebius数据库多活集群是格瑞趋势为SQL Server数据库研发的能够同时满足可用性、数据安全、容灾、读写分离、负载均衡的一站式多活集群 集群的名字取自Moebius环,寓意无限扩展
2024-12-03
sql server专家云,Database智能可视化管理软件,适合sql sever 数据库使用always on功能的客户
2023-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人