SqlServer性能检测和优化工具使用详细

这里使用SQL Server 2008 R2版本

一、SQL Server Profiler的使用

1. 在安装SQL Server 数据库时,请保证安装了SQL Server Profiler,默认情况全部安装都会自动安装上。

2. 打开SQL Server Management Studio,在菜单中,找到“工具”菜单,找到SQL Server Profiler菜单项,如下图所示。

3. 选择“事件选择”,勾选常用的几项即可,如下图所示。

4. 选择“显示所有列”,之后在列表中,勾选“DatabaseName”项。

5. 设置筛选器:

过滤数据库名称:因为一个数据库实例中如果有多个数据库,那么不筛选数据库名称,那么所有数据库上的执行语句都能监控得到。

还可以设置Duration,筛选不同执行时间的sql语句,例如可以过滤执行时间较长的sql语句,选择可以优化sql语句。

如果同一个数据库,多个人访问,只想检测自己操作的语句怎么办?可以给数据库创建一个自己登陆的数据库账户(检测完后可以删除此用户),之后,在LoginName筛选器中,筛选自己登陆的数据库账户即可。

筛选监测TextData:%是个通配符,意思就是筛选select开头的语句。当然这可以自己随便定义,如update%,delete%....。

设置之后点击【运行】则开始监控了,监控画面如下。

我们从上图上依次说明 为:
      TextData            依赖于跟踪中捕获的事件类的文本值;
      ApplicationName  创建 SQL Server 连接的客户端应用程序的名称。此列由该应用程序传递的值填充,而不是由所显示的程序名填充的;
      NTusername        Windows 用户名。
      LoginName           用户的登录名(SQL Server 安全登录或 Windows 登录凭据,格式为“域\用户名”)
      CPU                    事件使用的 CPU 时间(毫秒)。
      Reads                 由服务器代表事件读取逻辑磁盘的次数。
      Writes                由服务器代表事件写入物理磁盘的次数。
      Duration             事件占用的时间。尽管服务器以微秒计算持续时间,SQL Server Profiler 却能够以毫秒为单位显示该值,具体情况取决于“工具”>“选项”对话框中的设置
      ClientProcessID   调用 SQL Server 的应用程序的进程 ID。
      SPID                  SQL Server 为客户端的相关进程分配的服务器进程 ID。
      StratTime           事件(如果可用)的启动时间。
      EndTime             事件结束的时间。对指示事件开始的事件类(例如 SQL:BatchStarting 或 SP:Starting)将不填充此列。
      BinaryData          依赖于跟踪中捕获的事件类的二进制值。

对于监控的内容,可以保存,在监控界面的【文件】菜单中,选择另存为,选择想保存的格式即可,下次如果想看数据,可以直接打开保存的文件。

二、数据库引擎优化顾问

找到数据库引擎优化顾问,进入如下界面

 一般不用选择只要按默认的就OK了,在这里一定要记得选择用于工作负荷的数据库和表,意思就是设置要分析的数据库否则会分析不成功。 现在就可以单击开始了

在这里我们可以看到分析成功后的分析报告,这还不算,我们单击上面的 建议选项卡

在这里还给出了你的哪些表,需要优化,应该怎么建立索引和视图才能更有效的提高性能,更好玩的是连需要优化的Sql语句都给生成好了, 我们直接复制执行就要可以了。

 

posted @ 2019-09-03 16:04  智者见智  阅读(2163)  评论(0编辑  收藏  举报