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