FIX: Trace Flag -T8002 Treats Affinity Masks Like Process Affinities (818765)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions) SP2

SQL Server 8.0:469419

SUMMARY

This fix introduces a new startup trace flag, -T8002. With trace flag -T8002, you can change the meaning of the affinity mask so that it is treated like a process affinity.

RESOLUTION

A supported fix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Apply it only to computers that are experiencing this specific problem.

To resolve this problem, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site:NOTE: In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
 Date         Time   Version        Size             File name
--------------------------------------------------------------------------
24-Jan-2003  18:53  2000.80.732.0      29,244 bytes  Dbmslpcn.dll     
18-Jan-2003  02:23                    786,432 bytes  Distmdl.ldf
18-Jan-2003  02:23                  2,359,296 bytes  Distmdl.mdf
11-Dec-2002  17:50                        180 bytes  Drop_repl_hotfix.sql
02-Jul-2002  15:35  2000.80.650.0     107,088 bytes  Impprov.dll      
17-Jan-2003  20:33                    774,409 bytes  Instdist.sql
11-Dec-2002  17:50                      1,402 bytes  Inst_repl_hotfix.sql
20-Aug-2002  16:24  2000.80.679.0     111,172 bytes  Logread.exe      
15-Dec-2002  23:21  2000.80.717.0      90,692 bytes  Msgprox.dll      
05-Mar-2003  18:17  2000.80.736.0      62,024 bytes  Odsole70.dll     
03-Jan-2002  01:59                     18,185 bytes  Qfe356326.sql
20-Aug-2002  16:47  2000.80.679.0     135,748 bytes  Qrdrsvc.exe      
26-Aug-2002  22:49  2000.80.679.0     406,088 bytes  Rdistcom.dll     
04-Oct-2001  01:36                    437,302 bytes  Replcom.sql
20-Aug-2002  16:33  2000.80.679.0     152,136 bytes  Replmerg.exe     
25-Nov-2002  21:43                  1,004,990 bytes  Replmerg.sql
15-Dec-2002  23:21  2000.80.717.0     221,768 bytes  Replprov.dll     
15-Dec-2002  23:21  2000.80.717.0     303,688 bytes  Replrec.dll      
22-Jan-2003  19:27                  1,002,101 bytes  Replsys.sql
04-Oct-2001  01:36                    881,228 bytes  Repltran.sql
26-Aug-2002  22:49  2000.80.679.0     283,208 bytes  Rinitcom.dll     
16-Sep-2002  22:31                    390,045 bytes  Securityhotfix.sql
26-Aug-2002  22:49  2000.80.679.0      28,672 bytes  Sqlagent.dll     
26-Aug-2002  18:39  2000.80.679.0     311,872 bytes  Sqlagent.exe     
28-Aug-2002  16:32  2000.80.679.0      49,152 bytes  Sqlagent.rll
26-Aug-2002  22:49  2000.80.679.0      53,824 bytes  Sqlcmdss.dll     
28-Aug-2002  16:40  2000.80.679.0      12,288 bytes  Sqlcmdss.rll
14-Jan-2003  21:39  2000.80.725.0     172,600 bytes  Sqlmap70.dll     
02-May-2003  18:44  2000.80.743.0   7,483,473 bytes  Sqlservr.exe     
01-Nov-2002  18:56  2000.80.698.0      45,644 bytes  Sqlvdi.dll       
24-Jan-2003  18:53  2000.80.732.0      29,244 bytes  Ssmslpcn.dll     
24-Jan-2003  18:53  2000.80.732.0      82,492 bytes  Ssnetlib.dll     
02-Jan-2003  20:12  2000.80.722.0      25,148 bytes  Ssnmpn70.dll     
02-May-2003  18:44  2000.80.743.0      49,228 bytes  Ums.dll          
07-Apr-2002  02:08  2000.80.606.0      70,208 bytes  Xplog70.dll      
07-Apr-2002  02:08  2000.80.606.0      53,828 bytes  Xpqueue.dll      
07-Apr-2002  02:08  2000.80.606.0     156,228 bytes  Xprepl.dll       
12-Jul-2002  01:00  2000.80.658.0     279,104 bytes  Xpstar.dll       
16-Sep-2002  23:12  2000.80.686.0      98,872 bytes  Xpweb70.dll
Note Because of file dependencies, the most recent hotfix or feature that contains these files may also contain additional files.


STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

By default, the affinity mask for SQL Server is set to zero, permitting the SQL Server worker threads to use any available processor. When the affinity mask is set, the SQL Server worker thread is affinitized, and the worker thread can only use one specified processor. The addition of the SQL Server startup trace flag -T8002 treats the affinity mask like a process affinity and invokes the SetThreadAffinityMask function. However, the SQL Server thread affinity is set to all bits supplied in the affinity mask when the trace flag is used.

For example, if the affinity mask is set to 0x3 (processor 0 and 1) and the trace flag -T8002 is not used, half of the worker threads are affinitized to processor 1 and the other half are affinitized to processor 2. However, when the trace flag -T8002 is enabled and the affinity mask is set to 0x3, the worker threads are affinitized to both processors. If you set the trace flag and the affinity mask, you can limit the overall processors that SQL Server uses.

Modification Type:MinorLast Reviewed:10/25/2005
Keywords:kbHotfixServer kbQFE kbQFE kbfix kbbug KB818765 kbAudDeveloper