随笔分类 -  SQLSERVER基础

摘要:SQLSERVER中KeyHashValue的作用(下) 昨天中午跟高文佳童鞋讨论了KeyHashValue的作用,到最后还是没有讨论出结果 SQLSERVER中KeyHashValue的作用(上) 虽然对于keyhashvalue的研究还有很多问题还没有解决,但是基本可以确定“keyhashval 阅读全文
posted @ 2013-12-14 16:02 桦仔 阅读(3896) 评论(9) 推荐(5) 编辑
摘要:SQLSERVER中KeyHashValue的作用(上) SQLSERVER中KeyHashValue的作用(下) 原文的标题是:SQLSERVER在索引下如何找到哈希值的随想 现在知道KeyHashValue的作用了,所以就改了标题~ 测试环境:SQLSERVER2005 开发者版 问题是这样的: 阅读全文
posted @ 2013-12-12 21:55 桦仔 阅读(3489) 评论(2) 推荐(2) 编辑
摘要:您真的理解了SQL Server的日志链了吗? 一直以来,SQLSERVER提供了一个非常好的管理工具:SSMS 又因为这个管理工具太好了,所有操作的简单化,以至于使我们中毒太深 对于SQLSERVER内部的一些概念搞得不清不楚 比如这些概念:日志备份链,备份日志链,日志链,备份链,备份集 大部分都 阅读全文
posted @ 2013-12-07 16:12 桦仔 阅读(9985) 评论(14) 推荐(21) 编辑
摘要:SQLSERVER性能计数器的简单剖析今晚看了这篇文章:SQL Server 2012新performance counter:非常实用的Batch Resp Statistics文章里介绍到SQLSERVER2012新的性能计数器“Batch Resp Statistics”其实我有一个问题:当我的电脑里有多个版本的SQLSERVER或者多个SQLSERVER实例,SQLSERVER是怎麽区分不同版本的不同计数器的呢?比如下面SQL脚本,在SQL2012里执行可以看到新的性能计数器Batch Resp Statistics的信息 1 SELECT [counter_name] , 2 ... 阅读全文
posted @ 2013-11-29 23:09 桦仔 阅读(6758) 评论(1) 推荐(4) 编辑
摘要:SQL Server数据库快照的工作方式 翻译自:How Database Snapshots Work 最近有一个帖子《errorlog中的异常信息rolled forward 和rolled back》 里面说到: 每周六凌晨1点会出现以下信息,服务器及数据库未出现重启,节点未切换,filest 阅读全文
posted @ 2013-11-29 00:37 桦仔 阅读(7565) 评论(18) 推荐(4) 编辑
摘要:对《SQL Server中tempdb的management》的一些更正和补充前几天看了这篇文章:SQL Server中tempdb的management发现里面有些内容不是很准确文章中说到:TempDB和其他用户数据库一样以Model数据库为模板创建,并且可以创建和查询表格。与其他用户数据库不同的是,TempDB在每次SQL Server启动的时候都会被重新创建。我打开SQLSERVER2005,对比了一下model数据库和tempdb数据库,发现还是有一些不同初始大小和自动增长、跨数据库所有权链接已启用这里不讨论跨数据库所有权链接:http://www.cnblogs.com/chenxi 阅读全文
posted @ 2013-11-24 13:22 桦仔 阅读(1151) 评论(2) 推荐(2) 编辑
摘要:分布式事务笔记 1 SQLSERVER分布式事务的使用 2 3 --BEGIN DISTRIBUTED TRANSACTION [transactionname] 4 --标志一个由分布式事务处理协调器MSDTC管理的TSQL分布式事务开始 5 --SERVER A服务器为主控服务器。当连接发出后续COMMIT TRANSACTION或 6 --ROLLBACK TRANSACTION语句时,主控服务器请求MSDTC在所涉及的服务器间管理 7 --分布式事务的完成 8 9 --SQLSERVER使用链接服务器或者远程服务器作为分布式事务处理的平台,提供10 --远程存储过程调用和分布式查询.. 阅读全文
posted @ 2013-11-04 12:54 桦仔 阅读(2848) 评论(0) 推荐(0) 编辑
摘要:附加到SQL2012的数据库就不能再附加到低于SQL2012的数据库版本昨天我只是将数据库附加到SQL2012,然后各个数据库都做了收缩事务日志的操作兼容级别这些都没有改再附加回SQL2005的时候就报错在SQL2012里附加,确实是90级别,但是在SQL2005死活附加不上备份数据库再还原也是一样重建事务日志也是一样然后我做了一个实验,检查一下附加到SQL2012的数据库和附加到SQL2005的数据库,两个数据库的文件头有什么不同注意:两个数据库的兼容级别都是90,附加到SQL2012之后我也没有动过兼容级别!!我们用同一个数据库,分别附加到SQL2005上和SQL2012上,看一下附加之后 阅读全文
posted @ 2013-11-02 12:07 桦仔 阅读(11324) 评论(50) 推荐(13) 编辑
摘要:聚集索引更新后会不会马上重新排序今天在QQ群里有人问到下面问题提问人用的是MYSQL,不过这个问题让我想起了SQLSERVER的万圣节问题万圣节问题就是因为更新了非聚集索引之后,非聚集索引迅速排序导致的更新错误问题详见:SQLSERVER中的假脱机当时我只是测试了非聚集索引下面的情况,但是聚集索引下面有没有这种情况呢?我们修改一下SQLSERVER中的假脱机中的脚本,将建立非聚集索引的那条语句改为建立聚集索引使用下面SQL脚本建立测试环境 1 USE master 2 GO 3 CREATE DATABASE Spool 4 GO 5 6 USE [Spool] 7 GO 8 9 10 -.. 阅读全文
posted @ 2013-11-01 18:22 桦仔 阅读(2862) 评论(0) 推荐(1) 编辑
摘要:带您理解SQLSERVER是如何执行一个查询的 看这篇文章之前,阁下可以先看一下下面的文章 SQLSERVER独特的任务调度算法"SQLOS" SQL Server SQLOS 的任务调度[转] 翻译自: http://rusanu.com/2013/08/01/understanding-how- 阅读全文
posted @ 2013-10-25 21:54 桦仔 阅读(14777) 评论(30) 推荐(18) 编辑
摘要:SQL Server 2000中的并行处理和执行计划中的位图运算符摘抄自:SQLServer 2000并行处理和位图简介 刘志斌并行查询介绍Degree of Parallelism(并行度)一个查询使用并行来处理时,SQL Server为该查询分配多个线程,每个线程使用一个CPU进行操作。Degree of Parallelism就是SQL Server为并行查询分配的线程数量,也表明这个并行查询将使用多少个CPU进行并行处理。Exchange Oprators(交换操作)查询语句的执行计划中,通常是并行操作和串行操作结合在一起。并行操作要求将输入数据流(data stream)切分成多个( 阅读全文
posted @ 2013-10-25 15:58 桦仔 阅读(2009) 评论(1) 推荐(0) 编辑
摘要:like语句百分号前置会使用到索引吗?前几天看了这篇文章:谈SQL Server对like '%关键词%' 处理时的索引利用问题看完了之后,我很想知道这篇文章是不是临时工写的?还是网站的主人写的,网站的主人的微博我都有关注(在微博里私信过)是某个公司的DBA,这里先不管他是不是临时工写的,今天我也研... 阅读全文
posted @ 2013-10-20 10:48 桦仔 阅读(25168) 评论(42) 推荐(14) 编辑
摘要:再说一下表分区 网上表分区的文章成千上万,但是分区之后表数据的分布和流向都没有说 首先要说明的是表分区的分区不是指页面存储概念的分区,我用下面的图来表示 他们是没有关系的 正式开始 SQL脚本如下: 1 USE master 2 GO 3 4 --创建数据库 5 CREATE DATABASE [T 阅读全文
posted @ 2013-10-19 15:45 桦仔 阅读(3522) 评论(12) 推荐(6) 编辑
摘要:SQLSERVER中的元数据锁 网上对于元数据锁的资料真的非常少 元数据锁一般会出现在DDL语句里 下面列出数据库引擎可以锁定的资源 资源 说明 RID 用于锁定堆(heap)中的某一行 KEY 用于锁定索引上的某一行,或者某个索引键 PAGE 锁定数据库中的一个8KB页,例如数据页或索引页 EXT 阅读全文
posted @ 2013-10-19 07:35 桦仔 阅读(2380) 评论(7) 推荐(5) 编辑
摘要:SQLSERVER中的假脱机spoolSQLSERVER中的假脱机spool 假脱机是中文的翻译,而英文的名字叫做 spool 在徐海蔚老师写的《SQLSERVER企业级平台管理实践》里提到了一下假脱机 在SQLSERVER I/O问题的那一节 在性能监视器里,有一个计数器“worktables/sec” : 每秒创建的工作表数。例如, 阅读全文
posted @ 2013-10-06 12:54 桦仔 阅读(12220) 评论(24) 推荐(21) 编辑
摘要:SQLSERVER中的ALLOCATION SCAN和RANGE SCAN写这篇文章的开始,我还不知道ALLOCATION SCAN的工作原理是怎样的,网上资料少得可怜求助了园子里的某位大侠,他看了我的信息几天之后才回复我,不过他的回复里没有答案这几天一直在苦思冥想,后来终于通过动手,验证出来了,知道ALLOCATION SCAN的工作原理是怎样的(结果中秋节过完就出差去了)10月3日回到家马上开始动笔在看下去之前请大家先看一下下面的文章SQLSERVER聚集索引与非聚集索引的再次研究(上)SQLSERVER聚集索引与非聚集索引的再次研究(下)查看SQLSERVER内部数据页面的小插件Inte 阅读全文
posted @ 2013-10-03 23:17 桦仔 阅读(3052) 评论(5) 推荐(6) 编辑
摘要:SQL2005的SSMS连接SQL2012会有问题如果用SQL2005的SSMS连接SQL2012会产生“索引数组越界”的问题并且使用不了反过来使用SQL2012的SSMS连接SQL2005就没有问题大家要注意版本兼容问题,不要用SQL2005,SQL2008的SSMS去连接SQL2012 阅读全文
posted @ 2013-10-03 11:23 桦仔 阅读(1724) 评论(3) 推荐(0) 编辑
摘要:SQLSERVER新建表的时候页面分配情况是怎样的? 再次感谢sqlskill网站和转载sqlskill网站文章并翻译的人,因为您们的转载和翻译让小弟又学习到新的东西o(∩_∩)o 文章中用到的工具:查看SQLSERVER内部数据页面的小插件Internals Viewer 参考文章:http:// 阅读全文
posted @ 2013-09-20 03:39 桦仔 阅读(3386) 评论(5) 推荐(8) 编辑
摘要:IAM页面是在统一区分配的还是在混合区分配的?IAM页面的作用这里就不说了,网上的资料很多文章中用到的工具:查看SQLSERVER内部数据页面的小插件Internals Viewer先建立四张表,堆表、聚集索引表、非聚集索引表、聚集索引和非聚集索引表 1 USE master 2 GO 3 --新建数据库IAMDB 4 CREATE DATABASE IAMDB 5 GO 6 7 USE IAMDB 8 GO 9 10 11 --DROP TABLE heaptable12 --DROP TABLE clusteredtable13 --DROP TABLE nonclusteredtabl. 阅读全文
posted @ 2013-09-19 14:27 桦仔 阅读(903) 评论(0) 推荐(0) 编辑
摘要:SQLSERVER中的资源调控器 转载自: http://wenku.baidu.com/view/0d92380cf78a6529647d5375.html http://www.cnblogs.com/fygh/archive/2012/05/07/2489190.html 资源调控器是sql 阅读全文
posted @ 2013-09-16 22:15 桦仔 阅读(4717) 评论(4) 推荐(2) 编辑