![]() |
|

|
|
By: Jeremy Kadlec | Read Comments (2) | Related Tips: More > SQL Server Configurations |
Problem
I have a Windows 2003 Enterprise Edition server with SQL Server 2000 Enterprise Edition. The machine has 10 GB of memory, but I am not confident that the machine is using all of the memory that I have configured from an Enterprise Manager perspective. How can I validate how much memory SQL Server is using? I have a sneaking suspicion that only a small percentage of the memory is used, but I am not 100% sure. If the SQL Server is not using all of the memory, how can I have SQL Server access the 10 GB of memory or is that too much?
Solution
Purchasing memory and not having SQL Server use it should be a considered a crime against your user community in the database world. Since you have Windows 2003 Enterprise with SQL Server 2000 Enterprise Edition, one approach would be to assign 8 GB of the 10 GB of memory to SQL Server if it is a dedicated machine. If other applications or clustering or full text search catalogs are being used on the machine, then consider conducting some additional research to determine how much memory should be allocated to SQL Server. You will probably find that 8 GB of memory is too much to allocate to SQL Server.
Calculating Memory Usage
In SQL Server and/or Windows the following options are available to determine the SQL Server memory usage:
Changing Memory Usage
In order to change the memory usage in SQL Server, the following configuration changes need to be made from a SQL Server and Windows perspective:
| EXEC master.dbo.sp_configure GO EXEC master.dbo.sp_configure 'show advanced options', 1 RECONFIGURE GO EXEC master.dbo.sp_configure 'max server memory', 8237 RECONFIGURE GO EXEC master.dbo.sp_configure GO |
| EXEC master.dbo.sp_configure GO EXEC master.dbo.sp_configure 'show advanced options', 1 RECONFIGURE GO EXEC master.dbo.sp_configure 'min server memory', 1024 RECONFIGURE GO EXEC master.dbo.sp_configure GO |
| EXEC master.dbo.sp_configure GO EXEC master.dbo.sp_configure 'show advanced options', 1 RECONFIGURE GO EXEC master.dbo.sp_configure 'awe enabled', 1 RECONFIGURE GO EXEC master.dbo.sp_configure GO |
Next Steps
| Thursday, January 12, 2012 - 9:08:05 PM - Adam Dale | Read The Tip |
|
Jeremy, Thanks a lot for this post. I am trying to find how much memory can sql server 2000 sp4 enterprise (it's on a A/P cluster and this is the only instance) use that's on windows 2003 sp2 enterprise (physical memory is 64 GB)? AWE, /PAE are enabled and the max server memory is set to 60 GB on this server. Some say sql 2000 can't make use of more than 32 GB. Is that true? When I see the Target server memory counter, it's shows 32 GB. Can you please clarify if this is due to the bug you mentioned in this post or sql can't use more than 32 GB? If this is a bug, we will apply the hotfix. I can be reached at adamdale345@gmail.com. Regards, Adam |
|
| Monday, January 16, 2012 - 9:14:54 AM - Jeremy Kadlec | Read The Tip |
|
Adam, Thank you for the question. What are the results of this: "Validation - In Windows System monitor check the SQL Server: Memory Manager: Total Server Memory (KB) counter to determine how much memory is in use. Keep in mind that you will have to divide the value in KB by 1024 two times to convert to gigabytes. In addition, in SQL Server issue sp_configure and review the three counters above that were changed to validate all three counters are accurate." Is this 32 GB or 60 GB? Before applying the hot fix in production, I would test it on a test server. On another note, I would really consider trying to upgrade to SQL Server 2008 R2 to eliminate some of these memory issues. Thank you, |
|
|
privacy | disclaimer | copyright | advertise | about authors | contribute | feedback | giveaways | user groups Some names and products listed are the registered trademarks of their respective owners. Edgewood Solutions LLC | MSSharePointTips.com | MSSQLTips.com |