这里使用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语句都给生成好了, 我们直接复制执行就要可以了。