SQL Server 性能优化之RML Utilities:快速入门(Quick Start)(1)

安装Quick Start工具

RML(Replay Markup Language)是MS SQL Server产品支持服务团队内部开发使用的一个Trace分析工具,最新的版本支持SQL Server 2005和SQL Server 2008。

功能:

1、分析最占资源的应用和查询。

2、分析跟踪期间的查询计划变更的情况。

3、分析哪些查询比起以前来说变慢了。

工具地址:http://blogs.msdn.com/psssql/archive/2008/11/12/cumulative-update-1-to-the-rml-utilities-for-microsoft-sql-server-released.aspx

该文章所有内容均来自于工具的帮助文档。

Quick Start

  如果你以前从来没有使用过这个RML Utilities工具,Quick Start能够帮助指导您去使用它们,通过该工具下的示例,我们将完成数据的捕获、分析、生成报告及环境的重现。

The Performance Cycle

  做过性能分析的人都知道,性能问题是一个长期的工作,不是通过一次性能优化就能够解决所有的问题,它是一个需要循环的捕获、分析以及解决问题。

  生产系统上的环境变量的改变都将影响的SQL Server的性能,所以当我们进行性能处理的时候,需要提前考虑到参数的变化所带来的影响,而且测试环境是在可控制的环境下进行的。下图描述了循环进行性能优化的流程图:

  通过Quick Start演练,在详细的RML工具命令下,分解每一步骤来帮助你理解RML工具是如何有效地精确找到性能问题。
Setup

  Quick Start 假设下列操作已经发生。

  1、你已经安装了RML Utilities。

  2、你已经创建了文件目录c:\temp,用于文件的存储。

  3、你已经在SQL Server 2005或SQL Server 2008上安装了一个实例,并可以通过Windows Authentication和SQL Server管理员权限连接到这个实例。

  4、你已经解压了samples.cab, 它包含了演练中所使用的所有脚本。(* Samples.cab放在RML Utility安装目录下。)

  Quick Start 演练需要使用一个数据库PrecisionPerformance

  1、将RML安装目录添加到PATH环境变量中,打开RML命令提示框。使用Ostress命令执行setup.sql,创建一个名为PrecisionPerformance的数据库。在下面的示例中,你需要为setup.sql文件中指定完整路径,来替代被省略的部分。

    ostress -E -S(local) -i......setup.sql -oc:\temp\PPSetup

       

    查看c:\temp\PPSetup\setup.out 与ostress.log文件。

    当第一次执行时,这个脚本将返回一个关于删除数据库的错误信息。当然这个在预料之中,是为了证明OStress错误日志输出功能。

    [Microsoft][SQL Native Client][SQL Server]无法对数据库 'PrecisionPerformance' 执行 删除,因为它不存在,或者您没有所需的权限。

  现在,您已经将前期的工作准备好了,下一章我们将介绍如何通过SQLDiag采集生产环境的数据及利用跟踪捕获SQL Server执行的语句,执行计划,以及其它的应用数据,并利用ReadTrace工具加载.TRC文件及转化为RML格式文件。

SQL Server 性能优化之RML Utilities:快速入门(Quick Start)(1)的更多相关文章

  1. SQL Server 性能优化之——系统化方法提高性能

    SQL Server 性能优化之——系统化方法提高性能 阅读导航 1. 概述 2. 规范逻辑数据库设计 3. 使用高效索引设计 4. 使用高效的查询设计 5. 使用技术分析低性能 6. 总结 1. 概 ...

  2. SQL Server 性能优化(一)——简介

    原文:SQL Server 性能优化(一)--简介 一.性能优化的理由: 听起来有点多余,但是还是详细说一下: 1.节省成本:这里的成本不一定是钱,但是基本上可以变相认为是节省钱.性能上去了,本来要投 ...

  3. SQL Server性能优化与管理的艺术 附件下载地址

    首先感谢读者们对鄙人的支持,购买了<SQL Server性能优化与管理的艺术>,由于之前出版社的一些疏忽,附件没有上传成功,再次本人深表歉意. 请需要下载附件的读者从下面链接下载,谢谢: ...

  4. SQL Server性能优化(6)查询语句建议

    1. 如果对数据不是工业级的访问(允许脏读),在select里添加 with(nolock) ID FROM Measure_heat WITH (nolock) 2. 限制结果集的数据量,如使用TO ...

  5. SQL SERVER性能优化综述

    SQL SERVER性能优化综述 一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意,进行有效工作才能达到的.所以我希望按照软 ...

  6. 【SQL Server性能优化】删除大量数据的方法比较

    原文:[SQL Server性能优化]删除大量数据的方法比较 如果你要删除表中的大量数据,这个大量一般是指删除大于10%的记录,那么如何删除,效率才会比较高呢? 而如何删除才会对系统的影响相对较小呢? ...

  7. 【SQL Server性能优化】运用SQL Server的全文检索来提高模糊匹配的效率

    原文:[SQL Server性能优化]运用SQL Server的全文检索来提高模糊匹配的效率 今天去面试,这个公司的业务需要模糊查询数据,之前他们通过mongodb来存储数据,但他们说会有丢数据的问题 ...

  8. SQL Server 性能优化详解

    故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的增多,访问速度开始变慢,一些用户开始发来邮件表示抗议,事情变得越来越糟,为了留住用户, ...

  9. SQL Server性能优化(2)获取基本信息

    以下常用的SQL语句有利于我们分析数据库的基本信息,然后根据查询的结果进行优化. 1. 查看索引碎片     无论何时对基础数据执行插入.更新或删除操作,SQL Server 数据库引擎都会自动维护索 ...

随机推荐

  1. Connection cannot be null when 'hibernate.dialect' not set

    严重: Exception sending context initialized event to listener instance of class [org.springframework.w ...

  2. Java你不知道的那些事儿—Java隐藏特性

    转载自:http://www.cnblogs.com/lanxuezaipiao/p/3460373.html 每 种语言都很强大,不管你是像我一样的初学者还是有过N年项目经验的大神,总会有你不知道的 ...

  3. 使用Sentry集中化日志管理

    在调试程序中,通过日志分期来排查BUG是一个重要手段,它可以说是程序调试的利器. 关于日志管理 随着应用组件变多,那么各coder对输出日志五花八门,有写入stdout,有写stderr, 有写到sy ...

  4. MySQL中有关icp mrr和bka的特性

    文辉考我的问题,有关这三个的特性,如果在面试过程中,个人见解可以答以下 icp MyQL数据库会在取出索引的同时,判断是否进行WHERE条件过滤,也就是把WHERE的部分过滤操作放在存储引擎层,在某些 ...

  5. 我的Android进阶之旅------>Android利用温度传感器实现带动画效果的电子温度计

    要想实现带动画效果的电子温度计,需要以下几个知识点: 1.温度传感器相关知识. 2.ScaleAnimation动画相关知识,来进行水印刻度的缩放效果. 3.android:layout_weight ...

  6. java定时器的使用(Timer)(转发:https://blog.csdn.net/ecjtuxuan/article/details/2093757)

    1.在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等. 对于这样的操作最方便.高效的实现方式就是使用java.util.Timer工具类. private java.util.Tim ...

  7. Python2 socket TCPServer 多线程并发 超时关闭

    在阿里云上测试过,可以直接使用. 用IP和端口发送数据,会返回echo:+接收到的数据 #coding=utf-8 import socket import threading,getopt,sys, ...

  8. root用户无法修改文件权限(lsattr/chattr: i 和 a 属性含义)

    今天想在实验室分配的服务器上添加一个普通用户, 所以用root身份登录服务器后执行useradd命令,却提示无法读写 /etc/shadow文件; ls -l /etc/shadow发现什么权限都没有 ...

  9. python默认参数不能定义为可变对象类型

    python的默认参数只会在函数定义时被确定,而不是每次调用时重新确定,所以,一旦在函数中修改了默认参数,则在随后的调用中都会生效 由于这个特性,在定义函数时,如果默认参数使用可变的对象类型,如空列表 ...

  10. DataTable Group By或运算 Linq Aggregate的使用

    class Program { static void Main(string[] args) { DataTable dt = new DataTable(); dt.Columns.Add(&qu ...