BUG: Freeing Dynamic-Linked Libraries (DLLs) Fails to Unload Them When a Path Is Specified (300965)
The information in this article applies to:
- Microsoft SQL Server 2000 (all editions)
This article was previously published under Q300965
BUG #: 351442 (SHILOH_BUGS)
SYMPTOMS
If you specify a path when you register extended procedures, they cannot be freed by using DBCC DLLNAME (FREE).
CAUSE
The DLL cannot be unloaded because it cannot be found in the xproc lookup hash table. The lookup for DBCC DLLNAME (FREE) assumes DLLNAME with no path, but the DLL was added to the table with full path information.
WORKAROUND
When you register extended procedures, do not specify the path. Instead, place the DLL in the SQL\BINN folder and register as follows:
use master
go
exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'
If the procedures are registered in this way, DBCC DLLNAME (FREE) should work correctly.
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
Modification Type: | Major | Last Reviewed: | 10/3/2003 |
---|
Keywords: | kbBug kbpending KB300965 |
---|
|