性能监视和优化工具
Microsoft SQL Server 提供了一套综合的工具,用于监视 SQL Server 中的事件和优化物理数据库的设计。 工具的选择取决于要执行的监视或优化类型和要监视的具体事件。
以下是 SQL Server 监视和优化工具:
工具 | 说明 |
---|---|
sp_trace_setfilter (Transact-SQL) | SQL Server Profiler 用于跟踪引擎进程事件(如批处理或事务的开始),使您能够监视服务器和数据库的活动(例如,死锁、错误或登录活动)。 您可以将 SQL Server Profiler 数据捕获到 SQL Server 表或文件中供以后分析,还可以逐步重播在 SQL Server 上捕获的事件以确切了解所发生的事件。 |
SQL Server 分布式重播 | Microsoft SQL Server 分布式重播可以使用多台计算机重播跟踪数据,并模拟任务关键型工作负荷。 |
监视资源使用情况(系统监视器) | 系统监视器主要用于跟踪资源的使用情况(如正在使用的缓冲区管理器页请求数),使您能够使用预定义的对象和计数器或用户定义的计数器来监视事件,从而监视服务器的性能与活动。 系统监视器(Microsoft Windows NT 4.0 中的性能监视器)将收集计数和比率而不是与事件相关的数据(例如,内存使用量、活动的事务数、阻塞的锁数或 CPU 活动)。 您可以在特定的计数器上设置阈值以生成要发送给操作员的警告。 系统监视器在 Microsoft Windows Server 和 Windows 操作系统上运行。 它可以从远程或本地监视 Windows NT 4.0 或更高版本上的 SQL Server 实例。 SQL Server Profiler 与系统监视器之间的主要差别在于 SQL Server Profiler 用于监视数据库引擎事件,而系统监视器用于监视与服务器进程相关的资源使用情况。 |
打开活动监视器 (SQL Server Management Studio) | SQL Server Management Studio 中的活动监视器对于当前活动的特别视图很有用,并以图形方式显示有关信息︰ 在 SQL Server 实例上运行的进程。 被阻塞的进程。 锁。 用户活动。 |
SQL 跟踪 | 用于创建、筛选和定义跟踪的 Transact-SQL 存储过程: sp_trace_create (Transact-SQL) sp_trace_generateevent (Transact-SQL) sp_trace_setevent (Transact-SQL) sp_trace_setfilter (Transact-SQL) sp_trace_setstatus (Transact-SQL) |
错误日志 | Windows 应用程序事件日志全面描述了 Windows Server 和 Windows 操作系统上发生的事件,以及 SQL Server、 SQL Server 代理和全文搜索中的事件。 它包含有关 SQL Server 中独有的事件的信息。 您可以利用错误日志中的信息来解决与 SQL Server有关的问题。 |
系统存储过程 (Transact-SQL) | 下列 SQL Server 系统存储过程可以作为许多监视任务的一种功能强大的备选方法: sp_who (Transact-SQL) : 报告有关当前 SQL Server 用户和进程的快照信息,包括当前正在执行的语句以及该语句是否被阻塞。 sp_lock (Transact-SQL) :报告快照有关锁的信息,包括对象 ID、索引 ID、锁类型以及锁适用的类型或资源。 sp_spaceused (Transact-SQL) :显示表 (或整个数据库) 当前使用的磁盘空间量的估计值。 sp_monitor (Transact-SQL) :显示统计信息,包括 CPU 使用率、I/O 使用率以及自上次执行 sp_monitor 以来的空闲时间量。 |
DBCC (Transact-SQL) | DBCC(数据库控制台命令)语句使您能够检查性能统计信息以及数据库的逻辑与物理一致性。 |
内置函数 (Transact-SQL) | 内置函数可显示自启动服务器以来有关 SQL Server 活动的快照统计信息,这些统计信息存储在预定义的 SQL Server 计数器中。 例如,@@CPU_BUSY包含 CPU SQL Server代码执行的时间量;@@CONNECTIONS包含SQL Server连接数或尝试的连接数;@@PACKET_ERRORS包含SQL Server连接上发生的网络数据包数。 |
跟踪标志 (Transact-SQL) | 跟踪标志可显示有关服务器内的特定活动的信息,用于诊断问题或性能问题(例如死锁链)。 |
Database Engine Tuning Advisor | 数据库引擎优化顾问分析针对要优化的数据库执行的 Transact-SQL 语句的性能影响。 数据库引擎优化顾问提供了添加、删除或修改索引、索引视图及分区的建议。 |
选择监视工具
监视工具的选择取决于要监视的事件或活动。
事件或活动 | SQL Server Profiler | 分布式重播 | 系统监视器 | 活动监视器 | Transact-SQL | 错误日志 |
---|---|---|---|---|---|---|
走向分析 | 是 | 是 | ||||
重播捕获的事件 | 是(从单台计算机) | 是(从多台计算机) | ||||
临时监视 | 是 | 是 | 是 | 是 | ||
生成警报 | 是 | |||||
图形界面 | 是 | 是 | 是 | 是 | ||
在自定义应用程序内使用 | 是 1 | 是 |
1 使用SQL Server Profiler系统存储过程。
Windows 监视工具
Windows 操作系统和 Windows Server 2003 也提供这些监视工具。
工具 | 说明 |
---|---|
任务管理器 | 显示在系统上运行的进程和应用程序的提要。 |
网络监视器代理 | 用于监视网络流量。 |
有关 Windows 操作系统或 Windows Server 工具的详细信息,请参阅 Windows 文档。