search
HomeDatabaseMysql TutorialSqlServer2005 性能调校之 利用Sql Server Profiler捕捉阻塞事件

在SQLServer2005之前,从不同的来源可以得到很多可用的脚本,来捕获哪些数据库进程产生 阻塞 以及哪些进程被 阻塞 。然而,这些脚本需要手工执行。sp_blocker就是一个实例。 然而,我们可以 利用 Sql Server Profiler ,来自动的捕获被 阻塞 的进程。要用Sql

在SQLServer2005之前,从不同的来源可以得到很多可用的脚本,来捕获哪些数据库进程产生阻塞以及哪些进程被阻塞。然而,这些脚本需要手工执行。sp_blocker就是一个实例。

  然而,我们可以利用Sql Server Profiler ,来自动的捕获被阻塞的进程。要用Sql Server Profiler捕获这些进程,我们需要用到Sql Server Profiler 的Blocked Process Report事件

.Blocked Process Report:这表示一个任务被阻塞的时间已经超出了特定时间长度。这个事件类不包含系统任务或等待非死锁可检测(non-deadlock-detectable)资源的任务。

  为了配置Sql Server Profiler,我们必须在SqlServer中为捕获阻塞事件配置一个阈值。

现在我通过一个例子来实现,利用Sql Profiler捕捉阻塞事件

一.配置Blocked Process Report
1.打开Sql Server Profiler工具 如图:

SqlServer2005 性能调校之 利用Sql Server Profiler捕捉阻塞事件

2.新建跟踪 如图:

SqlServer2005 性能调校之 利用Sql Server Profiler捕捉阻塞事件

3.选择要跟踪的数据实例,如图:

SqlServer2005 性能调校之 利用Sql Server Profiler捕捉阻塞事件

4.选择跟踪模板,为空白,如图:

SqlServer2005 性能调校之 利用Sql Server Profiler捕捉阻塞事件

5.选择Blocked Process Report 事件,如图:

SqlServer2005 性能调校之 利用Sql Server Profiler捕捉阻塞事件

 

为了配置阈值及生产报表的频度,可使用sp_configure命令来配置Blocked Process Report选项,默认情况下是不产生阻塞进程报表的。在代码实例中,Blocked Process Report配置为5秒钟报告一次阻塞事件,配置之后,再次执行sp_configure验证是否配置成功:

SqlServer2005 性能调校之 利用Sql Server Profiler捕捉阻塞事件

--<span>首先执行以下语句配置
sp_configure </span><span>'</span><span>show advanced options</span><span>'</span>,<span>1</span><span>
GO
RECONFIGURE
GO
sp_configure </span><span>'</span><span>blocked process threshold</span><span>'</span>,<span>5</span><span>
GO 
RECONFIGURE
GO
</span>--<span>然后再执行
sp_configure</span>

SqlServer2005 性能调校之 利用Sql Server Profiler捕捉阻塞事件

SqlServer2005 性能调校之 利用Sql Server Profiler捕捉阻塞事件
如上图,出现如红色的行,证明配置成功了。

二.通过示例里数据库PerformanceDB来实现阻塞事件做个实验。

我们为实验开两个查询窗口:

1.第一个窗口中,执行如下UPDATE语句,这段代码有意令事务保持打开,从而可以触发阻塞事件

<span>USE PerformanceDB
BEGIN TRAN
UPDATE dbo.Orders_new SET EmpID</span>=<span>445</span>,Filler=<span>'</span><span>b</span><span>'</span> WHERE orderId=<span>430</span>

2.第二个窗口中,执行相同条件的数据行。由于数据已经被UPDATE 事务阻塞,因此这个查询将会被阻塞

SELECT * FROM dbo.Orders_new WHERE orderId=<span>430</span> 

  但满足阻塞事件的阈值(在sp_configuer中为5秒)之后,Sql Profiler 会自动捕获每个阻塞事件。对于Sql Profiler中捕获的每个阻塞事件,Sql Profiler为阻塞者记录下执行语句,它会精确的定位哪个进程是阻塞者以及哪个进程被阻塞。这些数据会以XML格式显示,如图(会5秒钟捕捉一次):

SqlServer2005 性能调校之 利用Sql Server Profiler捕捉阻塞事件

  配置Sql Profiler来捕捉阻塞事件,使得性能监视以及调校任务比以前容易了很多,我们测量阻塞事件的发生频度以及每天发生的阻塞事件数目,将会提供性能数据的定量检测。

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Explain the InnoDB Buffer Pool and its importance for performance.Explain the InnoDB Buffer Pool and its importance for performance.Apr 19, 2025 am 12:24 AM

InnoDBBufferPool reduces disk I/O by caching data and indexing pages, improving database performance. Its working principle includes: 1. Data reading: Read data from BufferPool; 2. Data writing: After modifying the data, write to BufferPool and refresh it to disk regularly; 3. Cache management: Use the LRU algorithm to manage cache pages; 4. Reading mechanism: Load adjacent data pages in advance. By sizing the BufferPool and using multiple instances, database performance can be optimized.

MySQL vs. Other Programming Languages: A ComparisonMySQL vs. Other Programming Languages: A ComparisonApr 19, 2025 am 12:22 AM

Compared with other programming languages, MySQL is mainly used to store and manage data, while other languages ​​such as Python, Java, and C are used for logical processing and application development. MySQL is known for its high performance, scalability and cross-platform support, suitable for data management needs, while other languages ​​have advantages in their respective fields such as data analytics, enterprise applications, and system programming.

Learning MySQL: A Step-by-Step Guide for New UsersLearning MySQL: A Step-by-Step Guide for New UsersApr 19, 2025 am 12:19 AM

MySQL is worth learning because it is a powerful open source database management system suitable for data storage, management and analysis. 1) MySQL is a relational database that uses SQL to operate data and is suitable for structured data management. 2) The SQL language is the key to interacting with MySQL and supports CRUD operations. 3) The working principle of MySQL includes client/server architecture, storage engine and query optimizer. 4) Basic usage includes creating databases and tables, and advanced usage involves joining tables using JOIN. 5) Common errors include syntax errors and permission issues, and debugging skills include checking syntax and using EXPLAIN commands. 6) Performance optimization involves the use of indexes, optimization of SQL statements and regular maintenance of databases.

MySQL: Essential Skills for Beginners to MasterMySQL: Essential Skills for Beginners to MasterApr 18, 2025 am 12:24 AM

MySQL is suitable for beginners to learn database skills. 1. Install MySQL server and client tools. 2. Understand basic SQL queries, such as SELECT. 3. Master data operations: create tables, insert, update, and delete data. 4. Learn advanced skills: subquery and window functions. 5. Debugging and optimization: Check syntax, use indexes, avoid SELECT*, and use LIMIT.

MySQL: Structured Data and Relational DatabasesMySQL: Structured Data and Relational DatabasesApr 18, 2025 am 12:22 AM

MySQL efficiently manages structured data through table structure and SQL query, and implements inter-table relationships through foreign keys. 1. Define the data format and type when creating a table. 2. Use foreign keys to establish relationships between tables. 3. Improve performance through indexing and query optimization. 4. Regularly backup and monitor databases to ensure data security and performance optimization.

MySQL: Key Features and Capabilities ExplainedMySQL: Key Features and Capabilities ExplainedApr 18, 2025 am 12:17 AM

MySQL is an open source relational database management system that is widely used in Web development. Its key features include: 1. Supports multiple storage engines, such as InnoDB and MyISAM, suitable for different scenarios; 2. Provides master-slave replication functions to facilitate load balancing and data backup; 3. Improve query efficiency through query optimization and index use.

The Purpose of SQL: Interacting with MySQL DatabasesThe Purpose of SQL: Interacting with MySQL DatabasesApr 18, 2025 am 12:12 AM

SQL is used to interact with MySQL database to realize data addition, deletion, modification, inspection and database design. 1) SQL performs data operations through SELECT, INSERT, UPDATE, DELETE statements; 2) Use CREATE, ALTER, DROP statements for database design and management; 3) Complex queries and data analysis are implemented through SQL to improve business decision-making efficiency.

MySQL for Beginners: Getting Started with Database ManagementMySQL for Beginners: Getting Started with Database ManagementApr 18, 2025 am 12:10 AM

The basic operations of MySQL include creating databases, tables, and using SQL to perform CRUD operations on data. 1. Create a database: CREATEDATABASEmy_first_db; 2. Create a table: CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY, titleVARCHAR(100)NOTNULL, authorVARCHAR(100)NOTNULL, published_yearINT); 3. Insert data: INSERTINTObooks(title, author, published_year)VA

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software