SQL Server内存遭遇操作系统进程压榨案例
场景:最近一台DB服务器偶尔出现CPU报警,我的邮件报警阈(请读yù)值设置的是15%,开始时没当回事,以为是有什么统计类的查询,后来越来越频繁。探索:我决定来查一下,究竟是什么在作怪,我排查的顺序如下:1、首先打开Cacti监控,发现最近CPU均值在某天之后骤然上升,并且可以看到System\Pr
对于SQL Server,我需要多少内存
经常被问到的一个问题:对于SQLServer,我需要多少内存?这个问题还是有同样的典型的“看情况而定”答案。在今天的文章里,我们来详细看下“看情况而定的”的不同方面。全新SQLServer安装首先,对于全新的SQLServer安装,我想谈下你如何估计你需要的内存大小。然后我会详细谈下你如何验证现存的
SQL Server 动态SQL
动态SQL:codethatisexecuteddynamically。它一般是根据用户输入或外部条件动态组合的SQL语句块。动态SQL能灵活的发挥SQL强大的功能、方便的解决一些其它方法难以解决的问题。相信使用过动态SQL的人都能体会到它带来的便利,然而动态SQL有时候在执行性能(效率)上面不如静
从性能的角度谈SQL Server聚集索引键的选择
简介在SQLServer中,数据是按页进行存放的。而为表加上聚集索引后,SQLServer对于数据的查找就是按照聚集索引的列作为关键字进行了。因此对于聚集索引的选择对性能的影响就变得十分重要了。本文从旨在从性能的角度来谈聚集索引的选择,但这仅仅是从性能方面考虑。对于有特殊业务要求的表,则需要按实际情
【译】SQL Server索引进阶第八篇:唯一索引
索引设计是数据库设计中比较重要的一个环节,对数据库的性能其中至关重要的作用,但是索引的设计却又不是那么容易的事情,性能也不是那么轻易就获取到的,很多的技术人员因为不恰当的创建索引,最后使得其效果适得其反,可以说“成也索引,败也索引”。本系列文章来自StairwaytoSQLServerIndexes
SQL Server null知多少?
null是什么?不知道。我是说,他的意思就是不知道(unknown)。它和true、false组成谓词的三个逻辑值,代表“未知”。与true和false相比,null最难以令人捉摸,因为它没有明确的值,在不同的场景下,它能代表不同的含义。下文以例子的方式给大家分享下null使用的典型场景及对应的用法
0 或 100 (*) 默认值 mon dd yyyy hh
0或100(*)默认值monddyyyyhh:miAM(或PM)1101美国mm/dd/yyyy2102ANSIyy.mm.dd3103英国/法国dd/mm/yy4104德国dd.mm.yy5105意大利dd-mm-yy6106-ddmonyy7107-mondd,yy8108-hh:mm:ss-9
硬盘的原理以及SQL Server如何利用硬盘原理减少IO
简介硬盘作为现在计算机内部最后的机械存储部件,速度相比较内存和Cache而言会慢好几个数量级。但所幸的是,硬盘的成本是远远低于内存的。因此硬盘作为永久存储器是比较合适的,所幸的是为了克服硬盘慢速带来的问题,操作系统会对硬盘的使用有一个优化,下面让我们先来看硬盘的原理。硬盘的原理简介一个典型的硬盘如图
SQL Server 2016 JSON原生支持实例说明
背景MicrosoftSQLServer对于数据平台的开发者来说越来越友好。比如已经原生支持XML很多年了,在这个趋势下,如今也能在SQLServer2016中使用内置的JSON。尤其对于一些大数据很数据接口的解析环节来说这显得非常有价值。与我们现在所做比如在SQL中使用CLR或者自定义的函数来解析
在SQL Server中为什么不建议使用Not In子查询
在SQLServer中,子查询可以分为相关子查询和无关子查询,对于无关子查询来说,NotIn子句比较常见,但NotIn潜在会带来下面两种问题:结果不准确查询性能低下下面我们来看一下为什么尽量不使用NotIn子句。结果不准确问题在SQLServer中,Null值并不是一个值,而是表示特定含义,其所表示
SQL SERVER 中如何用脚本管理作业
在SQLSERVER中用脚本管理作业,在绝大部分场景下,脚本都比UI界面管理作业要高效、简洁。打个简单的比方,如果你要查看作业的运行时长,如果用UI界面查看,100个作业,你就得在历史记录里面至少查看一百次甚至更多,还要记录、统计作业各个步骤的执行时间。而用脚本,一个查询就OK了。这篇文章分享一些我
Microsoft SQL Server 2008 基本安装说明
MicrosoftSQLServer2008基本安装说明安装SQL2008的过程与SQL2005的程序基本一样,只不过在安装的过程中部分选项有所改变,当然如果只熟悉SQL2000安装的同志来说则是一个革命性的变动,一、安装前的准备1.需要.NetFramework3.5,若在Vista或更高的OS上
SQL Server的还原
1.差异备份的还原不备份结尾日志的情况下还原数据创建差异备份的放在我们已经在前面一篇博客SQLServer的备份中提到了,这里我们不再赘述,下面我们给出差异备份与还原的T-SQL方法,代码如下:--创建备份设备EXECsp_addumpdevice'disk','MyAdvWorks_1','d:\
SQL Server 限制IP登陆(登陆触发器运用)
一.本文所涉及的内容(Contents)本文所涉及的内容(Contents)背景(Contexts)实现代码(SQLCodes)补充说明(Addon)疑问(Questions)参考文献(References)二.背景(Contexts)在MySQL的mysql.User表保存了登陆用户的权限信息,H
第0/24周 SQL Server 性能调优培训引言
大家好,这是我在博客园写的第一篇博文,之所以要开这个博客,是我对MSSQL技术学习的一个兴趣记录。作为计算机专业毕业的人,自己对技术的掌握总是觉得很肤浅,博而不专,到现在我才发现自己的兴趣所在,于是我通过网络找了各种MSSQL技术的相关文档,总觉得讲得比较干涩,没有一个系统性,今年3月底我无意浏览到
SQL Server如何固定执行计划
SQLServer其实从SQLServer2005开始,也提供了类似ORACLE中固定执行计划的功能,只是好像很少人使用这个功能。当然在SQLServer中不叫"固定执行计划"这个概念,而是叫"执行计划指南"(PlanGuide很多翻译是计划指南,个人觉得执行计划指南稍好一些)。当然两者虽然概念与命
SQL SERVER事务处理
事务定义:事务是单个的工作单元。如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分。如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除。事务三种运行模式:自动提交事务每条单独的语句都是一个事务。显式事务每个事务均以BEGINTRANSACTION语句显式开始,
SQL Server 日期和时间类型
在MicrosoftSQLServer的类型系统中,使用date表示日期类型,使用time表示时间类型,使用DateTime和DateTime2表示日期和时间的组合,DateTime2是DateTime的升级版本,这些数据类型占用的存储空间各不相同;当存储大量数据时,合理的选择小数秒的精度,能够节省
SQL Server 2008/2012中SQL应用系列及BI学习笔记系列--目录索引
◆0、SQL应用系列1、SQLServer2008中SQL增强之一:Values新用途2、SQLServer2008中SQL增强之二:Top新用途3、SQLServer2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete)4、SQLServer2008中SQ
SQL Server 2016 行级别权限控制
背景假如我们有关键数据存储在一个表里面,比如人员表中包含员工、部门和薪水信息。只允许用户访问各自部门的信息,但是不能访问其他部门。一般我们都是在程序端实现这个功能,而在sqlserver2016以后也可以直接在数据库端实现这个功能。解决安全已经是一个数据方面的核心问题,每一代的MS数据库都有关于安全