FIX: Invoking SQL-DMO Methods By Using "By Reference" Parameters May Cause a Memory Leak (293636)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)
  • Microsoft SQL Server 7.0

This article was previously published under Q293636
BUG #: 352109 (SHILOH)
BUG #: 101273 (SQLBUG_70)

SYMPTOMS

If you invoke SQL-DMO methods by using "by reference" parameters, a memory leak of private bytes in the Microsoft Windows NT system heap equal to the size of the parameter value may occur.

RESOLUTION

SQL Server 2000

To resolve this problem, obtain the latest service pack for 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

NOTE: The following hotfix was created prior to Microsoft SQL Server 2000 Service Pack 1.

The English version of this fix should have the following file attributes or later:
   Version      File name       Platform
   -------------------------------------

   8.00.253     s80253i.exe     Intel
				
NOTE: Because of file dependencies, the most recent hotfix or feature that contains the preceding files may also contain additional files.

SQL Server 7.0

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:

301511 INF: How to Obtain the Latest SQL Server 7.0 Service Pack

STATUS

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

SQL Server 2000
This problem was first corrected in Microsoft SQL Server 2000 Service Pack 1.

SQL Server 7.0
This problem was first corrected in Microsoft SQL Server 7.0 Service Pack 4.

MORE INFORMATION

The Transact-SQL stored procedure sp_OAMethod passes all parameters to any COM object "by reference." Therefore, any use of the sp_OAMethod stored procedure with SQL-DMO methods results in a memory leak on each invocation if the method accepts parameter values.

Modification Type:MajorLast Reviewed:10/29/2003
Keywords:kbBug kbfix kbSQLServ2000sp1fix KB293636