开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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存储过程
1、创建存储过程报错:     'CREATE/ALTER PROCEDURE' 必须是查询批次中的第一个语句。 解决方法: use databaseName 后面要加上一句: GO ...
825 0
SQL Server基础之<存储过程>
原文:SQL Server基础之   简单来说,存储过程就是一条或者多条sql语句的集合,可视为批处理文件,但是其作用不仅限于批处理。本篇主要介绍变量的使用,存储过程和存储函数的创建,调用,查看,修改以及删除操作。
1475 0
SQL Server存储过程
转自:http://www.cnblogs.com/hoojo/archive/2011/07/19/2110862.html Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。 Ø 存储过程的概念     存储过程Proc
1029 0
Sql Server 存储过程使用技巧
1、创建带Try。。。Catch的存储过程模板   Copy下面的代码,然后新建查询,就可以写sql语句,执行完后,一个你自己的存储过程就建立好了! USE [DB]--设定对应的数据库 GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER O...
792 0
SQLSERVER存储过程语法详解
SQL SERVER存储过程语法: Create PROC [ EDURE ] procedure_name [ ; number ]     [ { @parameter data_type }         [ VARYING ] [ = default ] [ OUTPUT ]     ] [ ,...n ]   [ WITH     { RECOMPILE | ENCRY
1659 0
Sql Server 存储过程实例讲解
一、遇到的问题         我们在之前学习的课程写了不少的批处理语句,这些批处理语句存在两个问题:         1.没法像函数那样传参数运行(自定义化)         2.没法像函数那样可以反复地调用(功能化模块化)         说到这里,我们可以猜到,数据库中应该可以建立函数形式的数据库对象来解决这样的问题。但是介绍这种数据库对象之前,我们再来看几个需要解决的问题:
2050 0
Sql Server 存储过程基础
        将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。       存储过程的优点:        1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度
961 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
SQL Server 2017
立即下载
SQL Sever迁移PG经验
立即下载
RDS SQL Server CPU高使用率性能优化
立即下载