码迷,mamicode.com
首页 > 数据库 > 详细

sqlserver内存设置

时间:2016-07-23 12:06:41      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

SQL Server会把用过的数据放入cache,以便加速数据的访问。如果没有其它进程竞争,那么SQL Server会使用几乎全部的内存,直到有其它进程需要内存,才会释放内存。 
在并发度不大的情况下,不用去设置SQL Server的内存是没什么问题的。但是在高并发度/大数据量的情况,这样可能会导致大量的页交换。推荐的做法是,设置SQL Server使用75%的内存,比如64G内存的服务器,我们一般设置SQL的最大内存为48G,然后观察SQL的Buffer Cache Hit Ratio,如果低于99%,再增加2G内存,直到Buffer Cache Hit Ratio高于99% 
查询Buffer Cache Hit Ratio代码 
 
Sql代码 
SELECT  
(CAST(SUM(CASE LTRIM(RTRIM(counter_name))    
WHEN ‘Buffer cache hit ratio‘    
THEN CAST(cntr_value AS INTEGER) ELSE NULL END) AS FLOAT) /   
CAST(SUM(CASE LTRIM(RTRIM(counter_name))    
WHEN ‘Buffer cache hit ratio base‘ THEN CAST(cntr_value AS INTEGER)ELSE NULL END) AS FLOAT)) * 100   
AS BufferCacheHitRatio   
FROM sys.dm_os_performance_counters    
WHERE LTRIM(RTRIM([object_name])) LIKE ‘%:Buffer Manager‘ AND    
[counter_name] LIKE ‘Buffer Cache Hit Ratio%‘ 

sqlserver内存设置

标签:

原文地址:http://www.cnblogs.com/heqianjin/p/5698122.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!