SQL Server误区:AWE在64位SQL SERVER中必须开启

2022-11-12 09:49:15
内容摘要
这篇文章主要为大家详细介绍了SQL Server误区:AWE在64位SQL SERVER中必须开启,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记! 误区 #5: AW
文章正文

这篇文章主要为大家详细介绍了SQL Server误区:AWE在64位SQL SERVER中必须开启,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

误区 #5: AWE在64位SQL SERVER中必须开启

错误!

在坊间流传的有关AWE的设置的各种版本让人非常困惑。比如说如何设置起作用,如何设置不起作用,在32位和64位上是否需要AWE等。

好吧,我来概括一下:

  • 在64位系统(SQL SERVER 2005+版本)
    • AWE是不需要的(即使是ON状态,也毫无影响)
    • 开启“锁定内存页”使得缓冲池中的内存页不会被置换到虚拟内存中(实际上所有的Single Page Allocator分配和Stolen的内存都不会被置换)
    • 当开启“锁定内存页时”,SQL Server使用Windows AWE API来分配内存,这种方式略快
    • “锁定内存页”仅仅在标准版和企业版中存在(译者注:在非生产环境的开发版也是存在的)
  • 在32位系统(SQL SERVER 2005+版本)
    • 为了使用大于4G的内存,必须开启AWE来使用额外的虚拟地址空间
    • 为了使用AWE,“锁定内存页”权限必须开启
    • “锁定内存页”仅仅在标准版和企业版中存在(译者注:在非生产环境的开发版也是存在的)

看上去有点复杂,这也是为什么会引起困惑吧。

我的一个来自CSS的好朋友Bob Ward有一篇关于这块非常好的博文:Fun with Locked Pages, AWE, Task Manager, and the Working Set…

PS:译者有一篇关于内存管理的一篇文章:浅谈SQL Server 对于内存的管理

注:关于SQL Server误区:AWE在64位SQL SERVER中必须开启的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!