3-3 SQL Server 2005数据库优化-阿里云开发者社区

开发者社区> 余二五> 正文

3-3 SQL Server 2005数据库优化

简介:
+关注继续查看

3-3 SQL Server 2005数据库优化

u      了解数据库引擎优化顾问基本内容
u      掌握数据库引擎优化顾问的使用
u      掌握通过命令行的方式进行索引的优化——DTA
   
一个数据库系统的性能依赖于组成这些系统的数据库中物理设计结构的有效配置。这些物理设计结构包括索引、聚集索引、索引视图和分区等,其目的在于提高数据库的性能和可管理性。SQL Server 2005提供了一套综合的工具,用于优化物理数据库的设计,其中数据库引擎优化顾问,是分析一个或多个数据库上工作负荷(对要做出优化的数据库而编写的一组T-SQL语名句)的性能效果的工具。本节主要介绍数据库引擎优化顾问的使用。
3-3-1 数据库引擎优化顾问概述
数据库引擎优化顾问是一种工具,用于分析在一个或多个数据库中运行的工作负荷的性能效果。工作负荷是对在优化的数据库招待的一组T-SQL语句。分析数据库的工作负荷效果后,数据库引擎优化顾问会提供在SQL Server 2005 数据库中添加、删除或修改物理设计结构的建议。这些物理性能结构包括聚集索引、非聚集索引、索引视图和分区。实现这些结构之后,数据库引擎优化顾问使查询处理器能够用最短的时间性执行工作负荷任务。
3-3-2 数据库引擎优化顾问的使用
数据库引擎优化顾问提供了两种使用方式:
1.   图形界面。用于优化数据库、查看优化建议和报告的工具。
2.   命令行实用工具程序dta.exe。用于实现数据库引擎优化顾问在软件程序和脚本方面的功能。
    下面,我们通过案例的形式介绍数据库引擎优化的具体过程
实验1:数据库索引优化的基本步骤
第一步:启动SQL Server Profiler,准备生成负载测试文件,如图3-6所示。
第二步:启动“新建跟踪”项,准备配置跟踪文件内容,如图3-7所示。

 

 

3-6 启动SQL Server Profiler                      3-7 启动“新建跟踪”项

第三步:登录服务器后,配置跟踪属性,点击保存到文件,将跟踪的TSQL脚本结果保存到用户选择的trc文件中,同时启动文件滚动更新,从而滚动记录数据库工作过程中的负荷反馈信息。点击运行,启动负荷跟踪,如图3-8所示。
3-8 配置跟踪文件
第四步:启动后将执行相关的TSQL脚本,并将执行的结果记录到用户指定的trc文件中。由于是滚动执行的,因此该trc文件随着时间的推移将逐渐变大。因此,这种跟踪一般是由DBA根据一天平均时候的用户访问量时段进行记录比较容易反映出数据库服务器在建构过程中的索引问题,如图3-9所示。
3-9 监控运行开始
第五步:工作负荷工作执行完毕后,将形成一个TRC文件,至此负载跟踪工作任务完成。随后启动数据库引擎优化顾问,如图3-10所示。数据库引擎优化顾问主要用于优化数据库以及查看优化的建议和报告的单独图形化用户界面。
3-10 启动数据库引擎优化顾问
第六步:在弹出的引擎优化顾问界面中,选择工作负荷为文件,在弹出的选择工作负荷文件的对话框中,选择刚才生成的工作负荷文件。鼠标左键单击工具栏中的绿色三角标按钮开始执行优化操作。如图3-11所示。
3-11 选择负载文件
 注意:
此时在优化过程中,经常会出现“正在占用工作负荷”的错误。主要原因是默认的存储空间必须大于2MB才可以,故我们选择优化进度中的高级选项,将建议最大空间改称为100MB,如图3-12所示。
 
3-12 
第七步:当问题纠正后既可成功运行,随后会出现一份系统报告,根据报告建议对用户数据库信息内容进行索引优化即可,如图3-13所示。
实验2:通过命令行的方式进行索引的优化——DTA
第一步:启动操作系统的命令行界面,键入dta/?命令,即可查看dta的基本命令参数,如图3-14所示。

 

 

         3-13 成功优化后的界面                  3-14 命令行方式查看dta的参数
第二步:将实验1通过SQL Server Profiler生成的qs.trc文件作为负载测试文件,将之复制到c盘的根目录下,按照图3-15所示逐一键入命令,注意大小写和空格。该命令的参数意义是:-E 使用可信任连接连接到服务器;-D 待优化的数据库名称;-if 加载的负载测试文件;-s 一个测试实例的名称;-B 建议占用的最大空间。

3-15 命令行方式运行dta的命令
 
l        了解事务的类型包括那些内容;
l        掌握事务处理的四种基本语句和具体的应用;
l        了解如何编写有效的事务;
l        数据库并发控制的概念;
l        了解锁的四种不同模式及内涵;
l        学习查看锁的基本信息,了解死锁及处理机制;
l        了解数据库引擎优化顾问,并掌握数据库索引优化的基本步骤,掌握通过命令行的方式进行索引的优化DTA
 
一 . 填空题
1、事务是用户定义的一个________________,这些操作要么__________要么__________,是一个__________
2、关系型数据库有4个显著的特征:____________________________
3、事务要求处理时必须满足ACID原则,即____________________________
4、根据系统的设置,SQL Server 2005将事务分为两种类型分别是______________
5、事务处理语句共包括四种:分别是BEGIN TRANSAVTION语句,意思是_____________COMMIT TRANSACTION语句,意思是_____________ROLLBACK TRANSACTION语句,意思是_____________SAVE TRANSACTION语句,意思是_____________
6SQR SERVER 2005 提供了4种锁模式,分别是____________________________
7、通过命令行的方式进行索引的优化的命令是_______
二 . 简答题
1、请简述如何编写有效的事务?
2、简述锁,脏读,不可重复读,幻觉读的概念,
3、请简述在哪两种情况下,可以发生死锁?发生死锁的时候应当如何处理?

 





本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/352096,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SqlServer性能检测和优化工具使用详细
工具概要         如果你的数据库应用系统中,存在有大量表,视图,索引,触发器,函数,存储过程,sql语句等等,又性能低下,而苦逼的你又要对其优化,那么你该怎么办?哥教你,首先你要知道问题出在哪里?如果想知道问题出在哪里,并且找到他,咱们可以借助本文中要讲述的性能检测工具--sql server profiler(处在sql安装文件--性能工具--sql server profiler)     如果知道啦问题出现在哪里,如果你又是绝世高手,当然可以直中要害,写段代码给处理解决掉,但是如果你不行,你做不到,那么也无所谓,可以借助哥的力量给你解决问题。
880 0
SET STATISTICS IO和SET STATISTICS TIME 在SQL Server查询性能优化中的作用
原文:SET STATISTICS IO和SET STATISTICS TIME 在SQL Server查询性能优化中的作用 近段时间以来,一直在探究SQL Server查询性能的问题,当然也漫无目的的查找了很多资料,也从网上的大神们的文章中学到了很多,在这里,向各位大神致敬。
927 0
SQL Server Profiler和数据库引擎优化顾问
原文:SQL Server Profiler和数据库引擎优化顾问  简介           说到Sql的【性能工具】真是强大,SQL Server Profiler的中文意思是SQL Server事件探查,这个到底是做什么用的呢?我们都知道探查的意思大多是和监视有关,其实这个SQL Server Profiler就是一个Sql的监视工具,可以具体到每一行Sql语句,每一次操作,和每一次的连接。
1120 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12071 0
SQL SERVER全面优化-------Expert for SQL Server 诊断系列
现在很多用户被数据库的慢的问题所困扰,又苦于花钱请一个专业的DBA成本太高。软件维护人员对数据库的了解又不是那么深入,所以导致问题迟迟不能解决,或只能暂时解决不能得到根治。开发人员解决数据问题基本又是搜遍百度各种方法尝试个遍,可能错过诊断问题的最佳时机又可能尝试一堆方法最后无奈放弃。
1305 0
SQL Server优化器特性-隐式谓词
原文:SQL Server优化器特性-隐式谓词 我们都知道,一条SQL语句提交给优化器会产生相应的执行计划然后执行输出结果,但他的执行计划是如何产生的呢?这可能是关系型数据库最复杂的部分了.这里我为大家介绍一个有关SQL Server优化器的特性-隐式谓词,并简单介绍在此特性下如何根据场景控制优化器的行为.
780 0
+关注
20382
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载