随笔分类 -  SQL SERVER

1 2 3 4 5 ··· 10 下一页
摘要:背景 作为RDS for SQL Server团队,我们给用户提供核心的商业数据库服务,而数据库服务的SLA至关重要,而RTO又是数据库SLA的重要部分,但最近对于一些使用大规格实例的GC6以上客户,出现过一些由于重启/HA导致花费较长时间在数据库恢复过程,从而导致长时间服务不可用,严重影响了我们给 阅读全文
posted @ 2024-02-18 13:45 CareySon 阅读(501) 评论(3) 推荐(2)
摘要:开始之前 本篇文章仅仅是针对SQL Server 2022新推出功能的概览,以及我个人作为用户视角对于每个功能的理解,有些功能会结合一些我的经验进行描述,实际上,SQL Server 2022在引擎层面的增强的确算是里程碑级别,涉及到的每一个功能点展开都可以单独开出一篇文章。但本篇文章只是一个概览性 阅读全文
posted @ 2023-08-24 09:41 CareySon 阅读(4456) 评论(12) 推荐(16)
摘要:简介 数据库性能调优通常需要较高数据库水平,并伴随较多的前期准备工作,比如收集各种性能基线、不同种类的性能指标、慢SQL日志等,这通常费时费力且效果一般,当面对多个数据库时总体拥有成本会大幅增加。今天数据库早已迈入云时代,借助阿里云RDS for SQL Server Clouddba这一免费工具, 阅读全文
posted @ 2022-06-24 14:36 CareySon 阅读(1514) 评论(4) 推荐(4)
摘要:有些时候,有些作业遇到问题执行时间过长,因此我写了一个脚本可以根据历史记录,找出执行时间过长的作业,在监控中就可以及时发现这些作业并尽早解决,代码如下: SELECT sj.name , sja.start_execution_date,DATEDIFF (SECOND ,sja.start_execution_date,GETDATE() ) A... 阅读全文
posted @ 2016-03-10 16:10 CareySon 阅读(4864) 评论(2) 推荐(7)
摘要:简介 在SQL Server中,针对复杂查询使用TOP子句可能会出现对性能的影响,这种影响可能是好的影响,也可能是坏的影响,针对不同的情况有不同的可能性。 关系数据库中SQL语句只是一个抽象的概念,不包含任何实现。很多元数据都会影响执行计划的生成,SQL语句本身并不作为生成执行计划所参考的元数据(提 阅读全文
posted @ 2016-01-21 17:10 CareySon 阅读(9725) 评论(12) 推荐(11)
摘要:在SQL Server中,子查询可以分为相关子查询和无关子查询,对于无关子查询来说,Not In子句比较常见,但Not In潜在会带来下面两种问题: 结果不准确 查询性能低下 下面我们来看一下为什么尽量不使用Not In子句。 结果不准确问题 在SQL Server中,Null值并不是一个值,而是表示特定含义,其所表示的含义是“Unkn... 阅读全文
posted @ 2015-11-11 06:36 CareySon 阅读(32397) 评论(20) 推荐(30)
摘要:我在首届微软技术大会的Session分享了一个关于SQL Server升级的主题,现在将PPT分享出来。 您可以点击这里下载PPT。 也非常感谢微软中国邀请我进行这次分享。 阅读全文
posted @ 2015-10-29 09:12 CareySon 阅读(2177) 评论(6) 推荐(3)
摘要:最近帮一个客户搭建跨洋的合并复制,由于数据库非常大,跨洋网络条件不稳定,因此只能通过备份初始化,在初始化完成后向海外订阅端插入数据时发现报出如下错误: Msg 548, Level 16, State 2, Line 2 The insert failed. It conflicted... 阅读全文
posted @ 2015-09-02 16:09 CareySon 阅读(3604) 评论(3) 推荐(2)
摘要:有时候搭建的复制在作业比较多的时候,会因为某些情况导致代理停止或出错,如果分发代理时间停止稍微过长可能导致复制延期,从而需要从新初始化复制,带来问题。因此我写了一个脚本定期检查处于停止状态的分发代理,将其启动。 注:该脚本需要跑在分发服务器下的MSDB库中。 USE [msdb] Create PROC [dbo].[CheckToRe... 阅读全文
posted @ 2015-06-16 15:15 CareySon 阅读(1511) 评论(2) 推荐(2)
摘要:由于关系数据库的机制要求合并复制数据同步时需要有良好的自治性,SQL Server的合并复制的应用场景相对比较少。一些典型的应用场景比如异地数据同步,跨洋的数据同步等。由于网络延时以及该种业务有相对比较大的数据独立性,因此在合并复制在某些场景会比较合适。 在一些情况下,合并复制如果由于某些原因坏掉,需要重新初始化,而由于网络带宽的限制,用快照重新初始化稍微大一点的库基本不现实,因... 阅读全文
posted @ 2015-06-01 14:49 CareySon 阅读(1259) 评论(0) 推荐(1)
摘要:SQL Server中的公共表表达式(Common Table Expression,CTE)提供了一种便利的方式使得我们进行递归查询。所谓递归查询方便对某个表进行不断的递归从而更加容易的获得带有层级结构的数据。典型的例子如MSDN(https://technet.microsoft.com/en-us/library/ms186243(v=sql.105).aspx)中提到的获取员工关系... 阅读全文
posted @ 2015-05-26 17:17 CareySon 阅读(6285) 评论(1) 推荐(9)
摘要:本篇文章是我在公司内部分享SQL Server 2014新功能的PPT,在本PPT中我详细描述了SQL Server除了BI方面的新功能,以及提供了大量的测试。希望对大家有帮助。 请点击这里下载。 阅读全文
posted @ 2015-04-24 09:39 CareySon 阅读(3251) 评论(5) 推荐(1)
摘要:本篇主题是我在2015年中国数据库大会(DTCC)上的分享,扩展事件从2008版本出来到现在已经有6-7年,国内却很少有相关资料和使用,现在分享一下PPT,希望对大家有所帮助。 可以点击这里下载。 阅读全文
posted @ 2015-04-20 14:43 CareySon 阅读(1721) 评论(7) 推荐(3)
摘要:在SQL Server中,SQL语句的执行是依赖查询优化器生成的执行计划,而执行计划的好坏直接关乎执行性能。 在查询优化器生成执行计划过程中,需要参考元数据来尽可能生成高效的执行计划,因此元数据越多,则执行计划更可能会高效。所谓需要参考的元数据主要包括:索引、表结构、统计信息等,但... 阅读全文
posted @ 2015-02-16 16:17 CareySon 阅读(12978) 评论(5) 推荐(1)
摘要:在SQL Server中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数。很多人其实对这三者之间是区分不清的。本文会阐述这三者的作用,关系以及背后的原理。 往常我经常会看到一些所谓的优化建议不使用Count(* )而是使用Count(1),从而可以... 阅读全文
posted @ 2015-02-10 14:51 CareySon 阅读(251429) 评论(59) 推荐(64)
摘要:有时候需要一次性将SQL Server中的数据导出给其他部门的也许进行关联或分析,这种需求对于SSIS来说当然是非常简单,但很多时候仅仅需要一次性导出这些数据而建立一个SSIS包就显得小题大做,而SQL Server的导入导出工具其中BUG还是蛮多的,最简单的办法是BCP。 数据导出为XML 在SQL Server 2005之后提供了一个for xml子句在关系数据库中原... 阅读全文
posted @ 2015-02-06 12:10 CareySon 阅读(20537) 评论(5) 推荐(1)
摘要:最近调优过程中遇到一个问题,就是表值函数作为连接中的一部分时,可能会引起麻烦,本文会简单阐述表值函数是什么,以及为什么使用表值函数进行连接时会引发性能问题。 表值函数 SQL Server中提供了类似其他编程语言的函数,而函数的本质通常是一段代码的封装,并返回值。在SQL Server中,函数除了可以返回简单的数据类型之外(Int、Varchar等),还可以返回一个集合,也... 阅读全文
posted @ 2015-02-03 14:25 CareySon 阅读(5589) 评论(7) 推荐(2)
摘要:本篇PPT是我在2015 MVP OPEN Day Comunity Camp上分享的课程。之所以选择这个主题是因为有很多人曾经问过这方面的问题,而与之相关的主题却少之又少,因此我希望将自己的相关经验进行分享,以便大家能够参考。 在总结PPT的过程感谢给我提供个人经历分享的DBA同事,也非常感谢微软中国MVP项目组邀请我分享相关经验。 PPT可以在此进行点击下载。 阅读全文
posted @ 2015-02-01 15:53 CareySon 阅读(9312) 评论(30) 推荐(12)
摘要:http://www.cnblogs.com/shanksgao/p/4254942.html 高兄这篇文章很好的谈论了由于数据隐式转换造成执行计划不准确,从而造成了死锁。那如果在事情出现之前发现了这类潜在的风险岂不是更好? 那么我们来看一个简单的例子,如代码清单1所示。 1: SELECT * 2: FROM Hu... 阅读全文
posted @ 2015-01-28 12:01 CareySon 阅读(5271) 评论(12) 推荐(14)
摘要:SQL Server中使用扩展事件捕捉所需的信息后,可以选择存放的位置。比如说内存或文件中,但无论存在哪里,其本质都是一个大XML。因此在SQL Server中读取该XML就是解析扩展事件结果的方式。 微软官方或者一些SQL Server论坛提供了使用SQL XML解析扩展事件的脚本,如代码清单1所示。 1: WITH events_cte ... 阅读全文
posted @ 2015-01-26 14:35 CareySon 阅读(2437) 评论(2) 推荐(2)

1 2 3 4 5 ··· 10 下一页