文章分类 - SQLSERVER
摘要:SQLSERVER Profiler进行性能调优时经常用到的事件SQLSERVER的一大优点,是能够把SQL里发生的很多事件记录下来,而记录下的日志通常被称为SQL Trace文件。在SQL安装的管理工具里,有一个叫SQLSERVER Profiler的工具,可以用他来搜集和分析SQL Trace文件。这个工具比较直观很多时候都要靠这个工具发挥他的威力呢o(∩_∩)o开始介绍开始介绍SQL Trace 开始菜单-》性能工具-》数据库引擎优化顾问的下面或者在SSMS里打开SQL Trace文件的收集方法首先,SQL Trace里能够有哪些事件呢?在Profiler里新建一个Trace,在在事件选
阅读全文
摘要:SQL2005 群集硬件要求和网络软件要求在32位和64位平台上,支持8节点群集安装(即Windows2003支持的最大节点数量)在故障转移群集上不支持共享内存SQL2005不支持Banyan VINES顺序包协议、SPP多协议、AppleTalk和NWLink IPX/SPX网络协议。以前使用这些协议连接的客户端必须选择其他协议才能连接SQL2005之前在客户那里,客户的环境是局域网,SQL2000安装在Windows2000上局域网的一台WindowsXP机器连接不上SQL2000,telnet 1820168.1.1不通但是telnet127.0.0.1可以telnet通后来在Windo
阅读全文
摘要:更新数据库统计信息以得到好的执行计划为了使SQLSERVER选择到合适的执行计划,尽可能在晚上网站维护的时候更新一下整个库的统计信息以下示例更新 AdventureWorks数据库中各表的统计信息http://msdn.microsoft.com/zh-cn/library/ms173804.aspx1 USE [AdventureWorks]2 GO3 EXEC [sys].[sp_updatestats]
阅读全文
摘要:监控SQLSERVER系统性能的脚本 1 --queryprocess 2 --跟踪系统性能脚本: 3 SET NOCOUNT ON 4 GO 5 USE master 6 GO 7 8 DECLARE @i INT 9 DECLARE @loops INT10 DECLARE @delayStr VARCHAR(20)11 12 --根据需求,可以调整@loops和@delayStr的值13 SET @loops = 6000014 SET @delayStr = '00:0:10' --每10秒执行一次脚本15 16 DBCC SQLPERF(waitstats,CLEAR
阅读全文
摘要:SQLSERVER errorlog讲解很多时候诊断SQLSERVER问题都需要看SQLSERVER的错误日志日志里面很多内容没有书本专门讲解,今天我就讲一下,可能里面的日志信息是从我个人的机器里抓出来的,跟大家的机器环境会有所不同,但是SQLSERVER启动部分的日志大家都是一样的特别的说一下:2013-02-12 17:53:29.29 spid29s这些spid指的是SQLSERVER内部的进程,因为SQLSERVER内部有SQL OS,所以称呼他自己内部的线程为“进程”所以在Windows的任务管理器里是看不到这些“进程ID的”的,这些进程ID也会跟会话关联的,例如你在SSMS里新建一
阅读全文
摘要:设计应用程序的时候降低SQL语句复杂度的6个要点(1)动态语句一些应用为了实现客户端的灵活性,会根据用户的选择,动态拼出TSQL语句,发给SQL运行。例如,在用户界面上列出各种条件,让用户根据自己的喜好,输入条件,进行组合查询。这样在功能上来讲比较强大,但是在复杂度控制上就有可能会出问题。如果用户选择的条件太多,或者根据条件返回的记录太多,就有可能会造成问题。而有些能够过滤大量数据,或者在索引上的条件如果没有被选上,就有可能造成在大表上的table scan。最好在程序里有动态语句复杂度的控制机制,限制选择的条件限制返回记录的数量(2)表格联接的数量为了支持复杂的业务逻辑,一个应用往往会有成百
阅读全文
摘要:SQLSERVER中临时表和表变量的最大区别不知道大家有没有注意到,SQLSERVER里有两种对象可以暂时存放表结构的数据一种就是大家很熟悉的 临时表(temp table)另一种是名气小一点,是 表变量(table variable)这两种对象功能类似,差异不太明显。功能上比较大的差别是:表变量可以作为存储过程的返回参数,而临时表不行那是不是用表变量就可以了,为什麽SQLSERVER还要保留临时表这个功能呢?其实这两个对象在内部实现上还是有很大区别的。最显著的区别:SQLSERVER会像对普通表一样,在临时表上维护统计信息,用户也可以在上面建立索引。而表变量上,既不能建立索引,也不会有统计信
阅读全文
摘要:LOB页面 从SQL Server 2005版本以后中,新增加了大值数据类型varchar(max)、nvarchar(max)、varbinary(max)。大值数据类型最多可以存储2^30-1个字节的数据。 从行为上来讲这几个数据类型和之前的数据类型 varchar、nvarchar 和 varbinary 相同。 按照微软的说法是用这个数据类型来代替之前的text、ntext 和 image 数据类型,它们之间的对应关系为: varchar(max)-------text; nvarchar(max)-----ntext; varbinary(max)----image ...
阅读全文
摘要:SQLSERVER里面一些跟硬件相关的错误跟SQLSERVER的一些数据页面保护技术ChecksumSQL Server可以在写入每个页面时,根据页面里的数据算出一个校验值,一同存储到页面里去。当下次读取页面的时候,再根据这次读到的页面数据,算出一个新的校验值。如果写入和读出的数据一模一样,那么两个校验值一定是相等的。而如果两个校验值不相等,意味着上次SQLServer写入的数据和这次读出来的内容一定不同,现在读出来的数据有问题。通过这种方法,SQL Server能够发现数据页面损坏。TornPage残缺页(Torn Page)保护其实是一种对电源故障导致的页损坏进行检测的方法。例如,意外电源
阅读全文
摘要:非常老的话题 SQLSERVER连接池 写这篇文章不是说要炒冷饭,因为园子里有非常非常多关于SQLSERVER连接池的文章,但是他们说的都是引用MSDN里的解释 或者自己做一些测试试验一下连接池的性能。但是对于SQLSERVER连接池的内部机制,好像都没有非常清晰地说清楚。 连接池的作用就不说了,在
阅读全文
摘要:SQLSERVER2005迁移到新的服务器上(在新的服务器上恢复)当原先服务器出现故障,已经无法启动。需要将整个SQLSERVER系统紧急迁移到一台备用服务器上,那么这个迁移步骤怎样做呢?在说之前复习一下各个系统数据库的主要作用,以便大家更清楚恢复这些系统数据库的好处master:记录SQLSERVER系统的所有系统级信息model:在SQLSERVER实例上为所有数据库创建的模版msdb:SQLSERVER代理用来安排警报和作业以及记录操作员信息的数据库,msdb数据库还包含历史记录表,错误页suspect_page 以及备份和还原历史记录表resource:包含SQLSERVER附带的所有
阅读全文
摘要:关于SQLSERVER表分区的介绍(二)分区函数和分区方案的创建和使用方法具体设计过程如下:(1)首先创建一个名为partionTest的数据库。然后分别为数据库partionTest添加四个文件组,文件组名依次为FileGroup001~FileGroup004,然后为该数据库添加四个数据文件,分别命名为File001~File004,并将它们依次保存到文件组FileGroup001~FileGroup004中。(2)以数据库partionTest为例,右击数据库partionTest,从其快捷菜单中选择【属性】命令,打开【数据库属性】对话框。选择该对话框中的【选择页】列表中的【文件】选项,
阅读全文
摘要:关于SQLSERVER表分区的介绍(一) 一直想写文章,可惜到现在才有时间,真的对不起大家。今天介绍一下SQLSERVER的表分区,算是扫盲吧,哈哈~ 我打算分成两篇,一篇是介绍概念、语法之类的,一篇是介绍使用方法,还有文中使用的SQLSERVER是SQLSERVER2005个人开发版 下面进入正题
阅读全文