随笔分类 - sql server技术
摘要:一、业务场景我们在实际生产环境中遇到了这样一种需求,即需要检索一个父子关系的子树数据估计大家也遇到过类似的场景,最典型的就是省市数据,其中path字段是按层级关系生成的行政区路径:如果我们已知某市名,想查出同级和高一级的省名,如保定市同级和上级河北省,那么我们有什么实现方式呢给大家10秒钟,快速抢答...
阅读全文
摘要:我们偶尔,非常偶尔的情况下会在一个查询计划中看到这样的警告:大红叉,好吓人啊!把鼠标放上去一看显示这样的信息No join predicate直译过来就是:没有连接谓词在真实的生产环境下我们很少能看到这种警告,什么时候才出这种警告呢?当然就是~~~没有连接谓词(汗)的时候,也许这么解释起来很找打,但...
阅读全文
摘要:日前,由于业务需要,我要把一个数据库直接迁移到新的实例上用的方法比较古老,就是直接停旧服务器,将数据文件复制到新服务器上,附加数据库当然这个附加没有什么可说的了,但是在附加后需要将原来库上的发布重建,在按正常流程建立发布的最后,出现了一个错误:图中隐去的部分是我要发布内容的库名,涉及到公司业务,就不...
阅读全文
摘要:上次我们说到,sql server 2012的企业版的任务调度流程,一直到给新连接分配了scheduler,都是与以前的版本算法是一致的,只有在进行任务分配的时候,算法才有了细微的调整。新算法的目的是尽量减小在同一NUMA节点内随机分配scheduler带来的性能影响(原来的算法也不能称为随机,因为...
阅读全文
摘要:微软在sql server 2012版本之后,引入了新的任务调度算法,这个算法与之前的版本有一些细微的差别。我在这里试着简单描述一下,一些基本概念就不再赘述了,比如NUMA、scheduler、worker什么的,这些内容在网上一搜一大把,如果不了解随便看几篇文章大概也就有所了解了。让我们从最基本的...
阅读全文
摘要:在生产环境中我们经常会遇到这种情况:前端的oltp业务很繁忙,但是需要对这些运营数据进行olap,为了不影响前端正常业务,所以需要将数据库进行读写分离。这里我将几种可以用来进行读写分离的方案总结一下,这里并不考虑数据库是否高可用,只针对读写分离场景,方案本身并无优劣可言,只看是否适合业务使用场景,所...
阅读全文