OLE DB Session Pooling Causes 100 Percent CPU Usage (MDAC 2.7) (320696)
The information in this article applies to:
- Microsoft Data Access Components 2.7
This article was previously published under Q320696 SYMPTOMS Microsoft COM+ continuously tries to unload OLE DB and
succeeds. When OLE DB is unloaded, the session pool and its threads are freed.
At the same time, new calls are being made into OLE DB, which causes the DLL to
load again and the session pool to be created. The loading and unloading
creates a conflict, which causes short timeouts. Additionally, you may see CPU
usage go up to 100 percent for a short time (approximately 15 seconds).
CAUSE COM+ calls the DllCanUnLoadNow function, and the OLEDB32.dll file returns true for this call.
Although DllCanUnLoadNow is an inquiry, OLE DB implementation assumes that DllCanUnLoadNow is a command. As a result, OLE DB sends a "true" flag. However,
OLEDB32.dll should not send "true" to this call because this call still has
resources for session pooling. After COM+ receives "true" from OLEDB32.dll,
COM+ unloads OLEDB32.dll. In the COM+ single-threaded apartment (STA) thread
pool, this occurs very frequently. When OLEDB32.dll and the OLE DB resource
pool are loaded and unloaded, CPU usage goes up to 100 percent, and you
experience a delay. RESOLUTION To resolve this problem, obtain the latest
service pack for Microsoft SQL Server 2000. For additional information, click
the following article number to view the article in the Microsoft Knowledge
Base: 290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack 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 Version Size File name Platform
-----------------------------------------------------------
11-Apr-2002 2.70.8611.0 413,696 OLEDB32.dll x86
STATUSMicrosoft
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
2000 Service Pack 3. This
bug was corrected in MDAC 2.7 Service Pack 1 (SP1).
Modification Type: | Minor | Last Reviewed: | 9/27/2005 |
---|
Keywords: | kbHotfixServer kbQFE kbSQLServ2000sp3fix kbbug kbfix kbSQLServ2000preSP3fix KB320696 |
---|
|