上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 38 下一页
摘要: 诊断SQLSERVER问题常用的日志这里主要有两个:(1)Windows事件日志(2)SQLSERVER ErrorLog1、Windows事件日志 Event Log作为一个Windows开启和管理的服务程序,Windows会在自己的系统日志system log里记录SQLSERVER这个服务的启动、正常关闭、异常关闭等信息。SQLSERVER也会把自己的一些概要信息同时记录在Windows的应用程序日志里Application Log而Windows日志本身又能够反映操作系统的健康情况,是否有任何软件或硬件的异常。如果Windows本身不能正常工作,SQLSERVER的运行一定会受到影响。 阅读全文
posted @ 2013-02-12 22:42 桦仔 阅读(13897) 评论(4) 推荐(2) 编辑
摘要: SQLSERVER如何查看索引缺失当大家发现数据库查询性能很慢的时候,大家都会想到加索引来优化数据库查询性能,但是面对一个复杂的SQL语句,找到一个优化的索引组合对人脑来讲,真的不是一件很简单的事。好在SQLSERVER提供了两种“自动”功能,给你建议,该怎么调整索引第一种是使用DMV第二种是使用DTA (database engine tuning advisor) 数据库引擎优化顾问这篇文章主要讲第一种从SQL2005以后,在SQLSERVER对任何一句语句做编译的时候,都会去评估一下,这句话是不是缺少什么索引的支持,如果他认为是,他还会预估,如果有这麽一个索引他的性能能提高多少SQLSE 阅读全文
posted @ 2013-02-10 14:32 桦仔 阅读(17019) 评论(1) 推荐(5) 编辑
摘要: SQLSERVER聚集索引和主键的误区很多人会把Primary Key和聚集索引搞混起来,或者认为这是同一个东西。这个概念是非常错误的。主键是一个约束(constraint),他依附在一个索引上,这个索引可以是聚集索引,也可以是非聚集索引。所以在一个(或一组)字段上有主键,只能说明他上面有个索引,但不一定就是聚集索引。例如下面: 1 USE [pratice] 2 GO 3 CREATE TABLE #tempPKCL 4 ( 5 ID INT PRIMARY KEY CLUSTERED --聚集索引 6 ) 7 8 9 ------------------------------... 阅读全文
posted @ 2013-02-09 17:34 桦仔 阅读(17049) 评论(1) 推荐(4) 编辑
摘要: SQLSERVER记录登录用户的登录时间前一阵子经理问我能不能把用户最后一次登录我们的业务数据库的时间记录下来,因为之前有人修改过数据库sa用户的登录密码,所以我们要记录一下。我查了一下资料,好像不能记录谁登录过业务库,只能记录谁登录过SQLSERVER数据库版本是SQL2005 ,操作系统:Windows7下面是本人写的一个脚本,我的实现原理是使用触发器,触发器是登录触发器,范围是整个服务器范围,如果有人登录过,就使用bcp命令把登录信息记录日志文件1、如果原来数据库已经存在触发器把他删掉1 USE MASTER2 GO3 DROP TRIGGER trg_logon_attempttest 阅读全文
posted @ 2013-02-08 16:58 桦仔 阅读(17278) 评论(1) 推荐(0) 编辑
摘要: SQLSERVER对索引的利用写SQL语句的时候很多时候会用到filter筛选掉一些记录,SQL对筛选条件简称:SARG(search argument/SARG)1 where amount>4000 and amount、NOT EXISTS、NOT IN、NOT LIKE规律就是有“NOT” 关键字 或者 不等于的意思 基本上利用不了索引还有一些内部函数,如果使用这些内部函数SQLSERVER也不会用到索引内部函数,例如:CONVERT(),UPPER()等 阅读全文
posted @ 2013-02-07 22:38 桦仔 阅读(1966) 评论(0) 推荐(0) 编辑
摘要: SQLSERVER中的NUMA架构 之前看了园子里的宋大侠《浅谈SQL Server 对于内存的管理》的文章,里面讲到NUMA架构,究竟NUMA架构是啥东西 网上的资料说得让人一头雾水 刚好上星期在MSDN上找到一篇关于NUMA架构的文章,文章是2011年写的,现在分享给大家o(∩_∩)o 文章:S 阅读全文
posted @ 2013-02-05 00:15 桦仔 阅读(4118) 评论(1) 推荐(1) 编辑
摘要: 如何查看SQLSERVER的版本信息和SP补丁信息 打开SQLSERVER配置管理器,然后用鼠标左键双击打开属性对话框,然后选择高级选项卡就可以看到SQL的版本信息 以前经常使用以下语句来看版本信息,SP版本,现在双击一下鼠标就可以看到了,最重要的是方便客户,无理由叫客户写SQL语句来查看吧 SEL 阅读全文
posted @ 2013-01-29 00:08 桦仔 阅读(15963) 评论(0) 推荐(1) 编辑
摘要: 查看SQLSERVER内部数据页面的小插件Internals Viewer(续)今晚继续用Internals Viewer查看了一下几个系统数据库,还有数据量比较大的adventureworks数据库,因为本人之前使用这个数据库做了一些实验文字就不多写了,请大家看一下图片MasterModelmsdbtempdb碎片脏页面众所周知,SQLServer增删改数据最先都是在内存中进行的,这可以大大加快数据操作的速度;当内存中的数据被修改了,而磁盘中的数据还没有被修改时,就产生了所谓的"脏页" ,脏页面包含了未提交事务脏页和已提交事务的脏页以下三种方法就是为同步内存和磁盘数据而产 阅读全文
posted @ 2013-01-21 21:05 桦仔 阅读(2373) 评论(0) 推荐(0) 编辑
摘要: 查看SQLSERVER内部数据页面的小插件Internals Viewer 感觉internals viewer这个名字起得很好,内部查看。 这个小工具是我之前看园子里的某大侠转载的文章是看到的 文章地址:SQL Server2008存储结构之堆表、行溢出 http://www.cnblogs.co 阅读全文
posted @ 2013-01-20 23:30 桦仔 阅读(4580) 评论(8) 推荐(2) 编辑
摘要: SQLSERVER的非聚集索引结构我们知道SQLSERVER的数据行的存储有两种数据结构:A: 堆 B :B树(binary 二叉树)数据按照这种两种的其中一种来排序和存储,学过数据结构的朋友应该知道二叉树,为什麽用二叉树,因为方便用二分查找法来快速找到数据。如果是堆,那么数据是不按照任何顺序排序的,也没有任何结构,数据页面也不是首尾相连的,不像B树,数据页面使用双向链表首尾相连。堆表只依靠表里的IAM页(索引分配映射页)将堆的页面联系在一起,IAM里记录了页面编号,页面位置除非表里有聚集索引,如果没有的话那么表里的数据的存储就是堆结构那么非聚集索引呢?非聚集索引也是堆结构?其实SQLSERV 阅读全文
posted @ 2013-01-20 21:42 桦仔 阅读(2700) 评论(4) 推荐(0) 编辑
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 38 下一页