SQL Profiler and Fiber Mode

  • one month ago, i enabled Fiber mode in SQL 2005 Server, then after that i needed to work with SQL Profiler and and at that time i discovered that CPU column is zero always. My question is<, Is it normal situation?

  • There are some things that work differently when you run in Fiber mode (lightweight pooling). In SQL Server 2000, server stability was one of the things affected, but this has just about been fixed in SQL Server 2005.

    Other DBMS vendors often recommend that their version of lightweight pooling is used as the default option, but Microsoft recommends you use Thread pooling unless Fiber pooling becomes necessary. Books Online has a section that gives the conditions when lightweight pooling can (but not always) give an advantage. Unless you are in such a situation you may get better performance using Thread pooling.

    I do not personally use Fiber mode, but knowing what goes on behind the scenes I can understand why nothing is reported in the CPU column. SQL Server tracks CPU usage by thread. Due to the nature of Fiber mode, it is impossible to identify how much CPU time a given fibre used on a given thread, and therefore impossible to say how much CPU time was used by a given SQL statement.

    There are only 2 options: a) Report the total thread time for all SQL statements that used the thread, which would be misleading as the value reported would be wrong for any of the SQL statements, b) Report zero CPU use for all statements. Microsoft have chosen IMHO the safest option, to report zero CPU use.

    Original author: https://github.com/SQL-FineBuild/Common/wiki/ 1-click install and best practice configuration of SQL Server 2019, 2017 2016, 2014, 2012, 2008 R2, 2008 and 2005.

    When I give food to the poor they call me a saint. When I ask why they are poor they call me a communist - Archbishop Hélder Câmara

  • thanks for your replay

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply