Memory usage with linked servers
- From: "Mark" <swozz_@xxxxxxxxxxx>
- Date: Fri, 14 Jul 2006 11:20:49 +0100
I have written an OLEDB driver that acts as a linked server within SQL2000
(in process).
Now when I issue a query to retrieve data from the linked server, the
SQLServer memory usage in task manager will go up. This is fine and is what
you would expect, however, if I issue the same query again then SQLServer
memory usage goes up again and will continue to go up each time you issue
the same query.
I understand SQL dynamic memory and for SQL databases controlled by
SQLServer I can see that the server will allocate memory to bring new pages
in from disk, but bringing in the same pages won't result in more memory
being allocated - it will just use that memory.
So for linked servers, I guess that SQLServer isn't aware that it is
receiving the same information that it has already received from the
previous query and just allocates some more memory for the "new" results.
My question is "is this normal behaviour or can I somehow give SQLServer
enough information for it to determine if it has already cached the data
from the linked server in order to stop it allocating more memory".
BTW I am fairly sure that this isn't a memory leak in the OLEDB driver
..DLL - after SQLServer unloads the OLEDB driver .DLL the memory allocated to
SQLServer in task manager does not go down (despite the fact that the DLL no
longer exists in any process).
--
Best regards
Mark
.
- Follow-Ups:
- Re: Memory usage with linked servers
- From: Erland Sommarskog
- Re: Memory usage with linked servers
- Prev by Date: APPC not supported on this version of Integration server.
- Next by Date: Re: For XML
- Previous by thread: APPC not supported on this version of Integration server.
- Next by thread: Re: Memory usage with linked servers
- Index(es):
Relevant Pages
|
|