SQL SERVER 2012 - MEMORY MANAGEMENT
2012-06-24 09:07
316 查看
1,
The following table indicates whether a specific type of memory allocation is controlled by themax server memory (MB) and
min server memory (MB) configuration options.
Collapse this tableExpand this table
2,
The following table provides the requirements to enable "locked pages" in different versions and editions of SQL Server on different platforms:
Collapse this tableExpand this table
The LPIM user right refers to the "Lock Pages in Memory" Windows user right. This user right should be assigned to the SQL Server service startup account.
You do not have to use Trace Flag 845 in SQL Server 2012. You can remove this trace flag from the startup parameters after you upgrade your instance to SQL 2012.
Even though the "awe enabled" feature is not available in 32-bit SQL Server 2012, you can still use the "locked pages" feature by assigning the "lock pages in memory" user right for the SQL Server startup account.
When you enable "locked pages," it is very important to set an appropriate value for "max server memory" and for "min server memory" configuration options for each instance of SQL Server to avoid system-wide problems.
Use the following methods to determine whether the SQL Server 2012 instance is using "locked pages":
The output of the following TSQL query will indicate nonzero values for locked_page_allocations_kb:
select osn.node_id, osn.memory_node_id, osn.node_state_desc, omn.locked_page_allocations_kb
from sys.dm_os_memory_nodes omn
inner join sys.dm_os_nodes osn on (omn.memory_node_id = osn.memory_node_id)
where osn.node_state_desc <> 'ONLINE DAC'
The current SQL Server error log will report the following message during server startup:
Using locked pages in the memory manager
The "Memory Manager" section of the DBCC MEMORYSTATUS output will show a nonzero value for the "AWE Allocated" item.The following table provides more information about the products or tools that automatically check for this condition on your instance of
SQL Server and on the versions of the SQL Server product against which the rule is evaluated.
The following table provides more information about the products or tools that automatically check for this condition on your instance of SQL Server and on the versions of the SQL Server product against which the rule is evaluated.
Collapse this tableExpand this table
3,
The following table indicates whether a specific type of memory allocation falls into thememory_to_reserve region of virtual address space for the SQL Server process.
Collapse this tableExpand this table
The following table indicates whether a specific type of memory allocation is controlled by themax server memory (MB) and
min server memory (MB) configuration options.
Collapse this tableExpand this table
Type of memory allocation | SQL Server 2005, SQL Server 2008, SQL Server 2008 R2 | SQL Server 2012 |
---|---|---|
Single-page allocations | Yes | Yes, consolidated into "any size" page allocations |
Multi-page allocations | No | Yes, consolidated into "any size" page allocations |
CLR allocations | No | Yes |
Thread stacks memory | No | No |
Direct allocations from Windows | No | No |
2,
The following table provides the requirements to enable "locked pages" in different versions and editions of SQL Server on different platforms:
Collapse this tableExpand this table
Enterprise Edition, Data Center Edition | Standard Edition, Business Intelligence Edition | Other editions | |
---|---|---|---|
SQL 2012 (32-bit and 64-bit) | • Assign LPIM user right to SQL Startup account | • Assign LPIM user right to SQL Startup account | No support for "locked pages" |
SQL Server 2005/2008/2008R2 (32-bit) | • Assign LPIM user right to SQL Startup account • Configure 'awe enabled' option to 1 | • Assign LPIM user right to SQL Startup account • Configure 'awe enabled' option to 1 | No support for "locked pages" |
SQL Server 2005/2008/2008R2 (64-bit) | • Assign LPIM user right to SQL Startup account | • Assign LPIM user right to SQL Startup account • Apply SQL Hotfix KBA 970070 • Enable trace flag 845 | No support for "locked pages" |
The LPIM user right refers to the "Lock Pages in Memory" Windows user right. This user right should be assigned to the SQL Server service startup account.
You do not have to use Trace Flag 845 in SQL Server 2012. You can remove this trace flag from the startup parameters after you upgrade your instance to SQL 2012.
Even though the "awe enabled" feature is not available in 32-bit SQL Server 2012, you can still use the "locked pages" feature by assigning the "lock pages in memory" user right for the SQL Server startup account.
When you enable "locked pages," it is very important to set an appropriate value for "max server memory" and for "min server memory" configuration options for each instance of SQL Server to avoid system-wide problems.
Use the following methods to determine whether the SQL Server 2012 instance is using "locked pages":
The output of the following TSQL query will indicate nonzero values for locked_page_allocations_kb:
select osn.node_id, osn.memory_node_id, osn.node_state_desc, omn.locked_page_allocations_kb
from sys.dm_os_memory_nodes omn
inner join sys.dm_os_nodes osn on (omn.memory_node_id = osn.memory_node_id)
where osn.node_state_desc <> 'ONLINE DAC'
The current SQL Server error log will report the following message during server startup:
Using locked pages in the memory manager
The "Memory Manager" section of the DBCC MEMORYSTATUS output will show a nonzero value for the "AWE Allocated" item.The following table provides more information about the products or tools that automatically check for this condition on your instance of
SQL Server and on the versions of the SQL Server product against which the rule is evaluated.
The following table provides more information about the products or tools that automatically check for this condition on your instance of SQL Server and on the versions of the SQL Server product against which the rule is evaluated.
Collapse this tableExpand this table
Rule software | Rule title | Rule description | Product versions against which the rule is evaluated |
---|---|---|---|
SQL Server setup Upgrade Rules | LPIM check for x64 installations | Consider the following scenario on an X64 system: You install SQL Server [2008 R2, 2008, 2005] standard edition. You grant the "Lock Pages in Memory" user right to the SQL Server service startup account. You did not enable the trace flag 845, as a result the SQL Server instance did not use locked page allocations. Now you attempt to upgrade this SQL Server instance to SQL Server 2012. Now the upgraded SQL Server instance starts using locked page allocations. This upgrade rule warns you about this change in behavior. | SQL Server 2008 SQL Server 2008 R2 |
SQL Server setup Upgrade Rules | LPIM check for x86 installations | Consider the following scenario on an X86 system: You install SQL Server [2008 R2, 2008, 2005] standard edition. You grant the "Lock Pages in Memory" user right to the SQL Server service startup account. You did not setup and configure the ‘awe enabled’ feature, as a result the SQL Server instance did not use locked pages allocations. Now you attempt to upgrade this SQL Server instance to SQL Server 2012. Now the upgraded SQL Server instance starts using locked page allocations. This upgrade rule warns you about this change in behavior. | SQL Server 2008 SQL Server 2008 R2 |
3,
The following table indicates whether a specific type of memory allocation falls into thememory_to_reserve region of virtual address space for the SQL Server process.
Collapse this tableExpand this table
Type of memory allocation | SQL Server 2005, SQL Server 2008, SQL Server 2008 R2 | SQL Server 2012 |
---|---|---|
Single-page allocations | No | No, consolidated into "any size" page allocations |
Multi-page allocations | Yes | No, consolidated into "any size" page allocations |
CLR allocations | Yes | Yes |
Thread stacks memory | Yes | Yes |
Direct allocations from Windows | Yes | Yes |
相关文章推荐
- SQL Server 2012入门T-SQL基础篇:(3)select语句和from语句
- SQL Server 2012安全性:功能更新
- SQL SERVER 2012数据库:删除用户时提示“数据库主体在该数据库中拥有架构”无法删除解决办法
- sql server 2012 数据库所有表里查找某字符串的方法
- SQL Server 2012 Express LocalDB 的作用
- VC编程中利用ADO方式访问SQL Server 2012数据库(2) - 读写数据库
- Sql Server 2012 完全卸载方法 只需8步
- 重新安装Sql Server 2012 报错
- 基于iSCSI的SQL Server 2012群集测试(五)--镜像,作业,复制分发测试
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3.5的详细分析及安装过程
- 一起玩转SQL Server 2012 下的分析服务
- 正确使用SQL Server 2012中的SEQUENCE
- SQL Server 2012 无人值守安装(添加新实例)
- SQL Server 2012 各版本功能比较
- SQL Server 2012将不再支持XP系统
- SQL Server 2012 系列简介
- SQL Server 2012新特性(1)T-SQL操作FileTable目录实例
- sql server 2012 数据库所有表里查找某字符串的方法
- SQL Server 2012 AlwaysOn高可用配置之四:创建群集
- sql server 2012 不允许保存更改,您所做的更改要求删除并重新创建以下表 的解决办法