Microsoft KB Archive/136117

{|
 * width="100%"|

INF: The "I/O - Transactions/sec" Counter in SQL Perf Monitor

 * }

Q136117

-

The information in this article applies to:


 * Microsoft SQL Server versions 4.2, 6.0

-

SUMMARY
The SQL Server Performance Monitor counter "I/O - Transactions/sec" reports the number of "batches" received per second.

MORE INFORMATION
A batch is a set of SQL statements submitted together and executed as a group. For example, the following set of statements would be counted as a single transaction by SQL Performance Monitor:

  begin tran insert table1 values ("A") commit tran begin tran delete table2 where key = "D" commit tran go

Specifically, the SQL Performance Monitor counter "I/O - Transactions/sec" is incremented by a language event, an RPC event, or by cursor async keyset generation. A language event occurs when a batch is received. An RPC event occurs when a DB-Library client submits a batch via dbrpcsend or dbrpcexec. It also occurs if an ODBC client submits a batch in certain ways, such as if "Generate Stored Procedures for Prepared Statements" is selected, or if a stored procedure is invoked via the CALL statement.

For more details on language and RPC event handlers, see the SQL Server ODS documentation under the heading "Event Handler Interface".

As the documentation correctly says, it's not really transactions/sec, although in many cases (like the TPC-B benchmark) it will closely approximate it. This would especially be so if transactions aren't split across batches, and if multiple transactions/batch aren't used.

Additional query words: sql6 Perfmon TPS counters

Keywords : kbtool

Issue type :

Technology : kbSQLServSearch kbAudDeveloper kbSQLServ600