Article ID: 318733 - View products that this article applies to.
This article was previously published under Q318733
This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 102432 (SQLBUG_70)
SQL Server may become unresponsive with high CPU utilization under the following conditions:
Please see the "More Information" section of this article for more details.
To resolve this problem, obtain the latest service pack for Microsoft SQL Server 7.0. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
301511NOTE: The following hotfix was created prior to Microsoft SQL Server 7.0 Service Pack 4.
(http://support.microsoft.com/kb/301511/EN-US/ )INF: How to Obtain the Latest SQL Server 7.0 Service Pack
The English version of this fix should have the following file attributes or later:
NOTE: Because of file dependencies, the most recent hotfix or feature that contains the preceding files may also contain additional files.
Date Time Version Size File name --------------------------------------------------------- 2/21/2002 9:22 PM 7.00.1022 4937 KB Sqlservr.exe
Add the user to one of the initial roles or groups so that the sysusers.roles column value is not a large number.
If you refer to the example mentioned in the "More Information" section of this article, the workaround is to add TestUser to any of the roles between Role0 and Role10.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Microsoft SQL Server 7.0 Service Pack 4.
The following code segment illustrates the problem.
NOTE: Replacing the sp_addrole stored procedure with the sp_addgroup stored procedure and replacing the sp_addrolemember stored procedure with the sp_changegroup stored procedure also causes the same problem.
If you look at the Roles column in the Sysusers table in any of the preceding databases, you can observer the following for TestUser:
The server becomes unresponsive when the value of the sysusers.role is a large number (as in the case when the user only belongs to Role109).
When TestUser belongs to Role109: sysusers.role=0x00000000000000000000000000000020 When TestUser belongs to Role 0 and Role 109: sysusers.role=0x00000100000000000000000000000020 When TestUser belongs to Role0: sysusers.role=0x000001 When TestUser belongs to Role0 & Role1: sysusers.role=0x000003 When TestUser belongs to Role0, Role1, Role2: sysusers.role=0x000007 When TestUser belongs to Role10: sysusers.role=0x00000004