به صورت پيش فرض تنظيمات حافظهي اس كيوال سرور به صورتي است كه به آن اجازه ميدهد تمامي حافظهي مهياي سيستم عامل را مصرف كند! اگر شخصي با اين مساله آشنايي نداشته باشد احتمالا تصور خواهد كرد كه اس كيوال سرور نشتي حافظه دارد يا كلا مشكلي در سيستم روي داده است كه تا اين حد مصرف حافظه بالا رفته است.
براي مشاهدهي اين تنظيمات روي instance سرور مورد نظر كليك راست كرده و گزينه خواص را انتخاب كنيد. سپس در صفحهي باز شده گزينه memory را مشاهده نمائيد.
البته اينكار را با استفاده از دستورات T-SQL هم ميتوان انجام داد:
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure 'max server memory (MB)'
EXEC sp_configure 'show advanced options', 0
RECONFIGURE WITH OVERRIDE
كه البته عمدا آنرا بر روي يك گيگ تنظيم كردهام تا عملكرد سيستم مختل نشود. (چون اگر غير از اين باشد، تعارفي نداشته و هر آنچه را كه صلاح بداند مصرف ميكند!)
كمي در بلاگهاي رسمي برنامه نويسهاي اس كيوال سرور در سايت MSDN در اينباره جستجو كردم و نتيجه آن به صورت زير است:
تنظيمات حداكثر حافظهي مصرفي اس كيوال سرورهاي 2005 و 2008
براي يك سيستم عامل 64 بيتي:
Physical RAM | MaxMem Setting |
2GB | 1500 |
4GB | 3200 |
6GB | 4800 |
8GB | 6700 |
12GB | 10600 |
16GB | 14500 |
24GB | 22400 |
32GB | 30000 |
48GB | 45000 |
64GB | 59000 |
براي سروري 32 بيتي اين اعداد حداكثر را تقريبا منهاي 300 مگابايت نمائيد. (و البته همانطور كه مطلع هستيد در سيستم عاملهاي سرور 32 بيتي، اگر بيشتر از 2 گيگا بايت رم داشتيد سوئيچ 3GB و اگر بيشتر از 4 گيگابايت رم مهيا بود، سوئيچ PAE بايد در boot.ini تنظيم شوند. در غير اينصورت هزينهي سخت افزاري بيهودهاي را متحمل شدهايد، زيرا استفادهي بهينهاي از آن در يك سيستم عامل 32 بيتي نخواهد شد)
و اين اعداد را همانطور كه ذكر شد، در تنظيمات سرور ميتوان وارد نمود ( از طريق management studio ) و يا با استفاده از دستورات T-SQL نيز اين امر ميسر است: (در مثال زير حداكثر حافظه مجاز مصرفي به 2300 مگابايت تنظيم ميشود)
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure 'max server memory (MB)', 2300
EXEC sp_configure 'show advanced options', 0
RECONFIGURE WITH OVERRIDE
براي مطالعهي بيشتر
http://sqlnerd.blogspot.com/2006/07/memory-use-in-sql-server.html
http://blogs.msdn.com/axperf/archive/2008/03/10/welcome-database-configuration-checklist-part-1.aspx
http://technet.microsoft.com/en-us/library/bb124810.aspx