SQL会缓存大量的数据页面,他还会缓存很多其他信息,包括存储过程的执行计划 ,特定用户的安全上下文等

如果这些信息没有在数据库中缓存,SQL都要重新计算一遍,花额外的时间,所以SQLSERVER对内存的需求是十分强烈的。

配置原则:

(1)如果服务器支持64位操作系统,没有特殊理由的话,请安装64位系统。这样SQL能够有效地使用 大于2GB的内存。如果一定要用32位系统,务必将SQLSERVER服务器属性里面的“使用AWE分配内存”打开。但是不要用boot.ini文件里的/3GB这个开关,即不要在boot.ini文件里加上/3GB这个参数。

(2)尽量使服务器专门供数据库使用,不要将其他服务(例如IIS,中间层应用服务等)安装在同一台机器上。多个生产应用服务在同一台机器上运行,会大大增加维护成本

(3)建议设置SQLSERVER max server memory(最大服务器内存),以确保Windows有足够的内存供系统本身使用。

情况归纳如下:

一台4GB机器,建议预留1GB,设置SQLSERVER max server memory为2.8GB

一台8GB机器,建议预留2GB,设置SQLSERVER max server memory为6GB

一台大于8GB的64位机器,建议预留3GB~4GB

如果一台服务器上还有其他应用使用内存,也要扣除他们的内存使用数

一般设置SQLSERVER min server memory(最小服务器内存)意义不大

sqlserver最大服务器内存设置(通过T-sql设置):

sp_configure 'show advanced options',1;
go
reconfigure
go
sp_configure 'max server memory',60000;
go
reconfigure
go

sqlserver修改每次查询最小内存:

EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE ;
GO
EXEC sp_configure 'min memory per query', 3500 ;
GO
RECONFIGURE;
GO

相关解释:

最小和最大Server内存

Min Server Memory (MB) 和 Max Server Memory (MB)控制所有SQL Server内存使用的许可大小。比起之前的版本,SQL Server 2012的Memory Manager可以更简单地设置SQL Server内存需求的大小。SQL Server服务是以所需的最小量启动的,并根据需要增长。一旦内存使用增长超过Min Server Memory设置,SQL Server将不会释放任何低于该量的内存。Min Server Memory设置内存使用的下限,而Max Server Memory则设置上限。这两个值可以使用sp_configure或通过Management Studio中的SQL Server属性窗口的内存页面进行设置。两个设置中,配置缓冲池的最大值更重要,它会阻止SQL Server占用过多的内存。这在64位系统中尤其重要,因为缺少可用物理内存能够导致Windows裁剪SQL Server的工作集。后面的“锁定内存页”有关于这个问题的完整描述。对于配置Max Server Memory,有一些不同的方法来计算合适的值,最直接的方法是看看SQL Server的最大使用量,及确定SQL Server之外内存需求的最大潜在用量。

查看SQL Server的最大使用量

设置SQL Server动态管理内存,然后使用性能监视器监视计数器MSSQL$<instance>:Memory Manager\Total ServerMemory (KB)。这个计数器测量SQL Server的总缓冲池使用量。如果SQL Server以外的其他需求需要比当前可用内存更多的物理内存时,Total Server Memory值会降低,然后使用任何可用内存再增加。如果您监视此计数器一段时间(包括忙时和淡时),然后你就可以将Max Server Memory设置为你观察到的Total Server Memory (KB)的最低值,你不必担心SQL Server在正常操作期间收缩它的使用量。

确定SQL Server之外内存需求的最大潜在用量

此选项是最流行的,因为其目的是计算出最坏的情况下,除SQL Server之外的内存需求。你应该考虑如下情况:

2GB用于Windows
xGB用于SQL Server工作线程。你可以查询sys.dm_os_sys_info来获取最大工作线程数,每个线程会使用0.5MB(在x86系统),2MB(在x64)
512MB,如果你用Linked servers、扩展存储过程dll,或通过自动化程序(Automation procedures (sp_OA calls))创建的对象
1~3GB,用于其他可能再系统上运行的应用程序,如备份程序或反病毒软件
例如,在一个有8个CPU内核、64GB RAM、运行SQL Server 2012、一个第三方备份工具和病毒检测程序的服务器上,你将考虑如下情况:

2GB用于Windows
1GB用于工作线程(576 X 2MB四舍五入)
512MB用于Linked Server等
1GB用于备份程序和病毒检测程序
共计4.5GB,你可以将Max Server Memory配置为59.5GB

sql server 对象资源管理器(二)的更多相关文章

  1. sql server 对象资源管理器(一)

    当需要查看具体数据库的所有用户表.存储过程等创建修改等脚本的时候,可以借用视图中的对象资源管理器的详细信息里面获取. 具体操作如下图所示:

  2. SQL Server Management Studio的对象资源管理器的使用

    1.查看 2.对象资源管理器 3.点到某个表的身上 4.出现以下图片,因为有时动态创建的触发器,刷新表下面的触发器可能不出来,所以来这里面找

  3. SQL server2008-对象资源管理器

    对象资源管理器:数据库 .安全性.服务器对象.复制.管理 .SQL server代理 六部分组成

  4. Sql Server来龙去脉系列之二 框架和配置

    本节主要讲维持数据的元数据,以及数据库框架结构.内存管理.系统配置等.这些技术点在我们使用数据库时很少接触到,但如果要深入学习Sql Server这一章节也是不得不看.本人能力有限不能把所有核心的知识 ...

  5. [Oracle][ODBC SQL Server Driver][SQL Server]对象名 'RECOVER.HS_TRANSACTION_LOG' 无效(转)

    原帖由 qingyun 于 2010-6-21 15:44 发表 在写pl/sql的时候,有个很重要的注意点:比如:begin  update  某个sqlserver的表@dblink名字 .... ...

  6. 配置SQL Server 2008管理器

    SQl Server 配置管理器(简称为配置管理器)包含了SQL Server 2008服务.SQL Server 2008网络配置和SQL Native Client配置3个工具,供数据库管理人员做 ...

  7. SQL Server的优化器会缓存标量子查询结果集吗

    在这篇博客"ORACLE当中自定义函数性优化浅析"中,我们介绍了通过标量子查询缓存来优化函数性能: 标量子查询缓存(scalar subquery caching)会通过缓存结果减 ...

  8. sqlserver打开对象资源管理器管理的帮助文档的快捷键

    sqlserver打开对象资源管理器管理的帮助文档的快捷键:Fn+F1

  9. SQL Server 2005 无法连接到WMI提供程序 无法执行 SQL Server 系统配置检查器

    无法连接到WMI提供程序.你没有权限或者该服务器无法访问/cannot connect to WMI provider. You do not have permission or the--由于计算 ...

随机推荐

  1. Android基础总结(二)

    常见布局 相对布局 RelativeLayout 组件默认左对齐.顶部对齐 设置组件在指定组件的右边 android:layout_toRightOf="@id/tv1" 设置在指 ...

  2. TYVJ1338 QQ农场

    时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 Sandytea前段时间沉迷于QQ农场中……一天夜里,他梦见来到好友X的农场上…… 描述 这个农场和游戏中略有 ...

  3. HD2222 Keywords Search(AC自动机入门题)

    然而还不是很懂=_= #include <iostream> #include <cstring> #include <algorithm> #include &l ...

  4. webmagic 增量爬取

    webmagic  是一个很好并且很简单的爬虫框架,其教程网址:http://my.oschina.net/flashsword/blog/180623 webmagic参考了scrapy的模块划分, ...

  5. web前端各大技术都能实现什么功能

    web前端各大技术都能实现什么功能 以下是孜然为你总结的web前端开发你必须要一项一项掌握的技术:Html.css.ajax.jquery.extjs.JavaScript,今天为你详细解读他们各自都 ...

  6. Google Maps API V3 之 图层

    Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...

  7. jquery,php之间的ajax关系以及json

    1.最简介写法 function AjaxDepotGoods(id){ $.ajax({ url:"{:U('stock/depot_goods')}", success:fun ...

  8. mod-mono

    http://go-mono.com/config-mod-mono/  配置文件生成器 Mono remote debugging from Visual Studio http://stackov ...

  9. 巧用setTimeout解决阻塞导致页面无法重绘

    项目中遇到一个javascript问题,大致如下: <!doctype HTML> <html> <head> <meta charset="utf ...

  10. PHP 连接 MySQL

    PHP 连接 MySQL PHP 5 及以上版本建议使用以下方式连接 MySQL : MySQLi extension ("i" 意为 improved) PDO (PHP Dat ...