sql2000awe
❶ 请教双机群集中,sql2000使用8G大内存的问题
开启大内存
SQL Server 2005 联机丛书(2007 年 9 月)
为 SQL Server 启用 AWE 内存
地址窗口化扩展插件 (AWE) 可以使 32 位操作系统访问大量内存。AWE 由操作系统提供,并且在 Microsoft Windows 2000 Server 和 Windows Server 2003 中的实现方式稍有不同。可以使用 awe enabled 选项启用 AWE。
在 Windows 2000 Server 中使用 AWE 映射内存
运行在 Windows 2000 上的 Microsoft SQL Server 2005 实例在 SQL Server 启动过程中根据下列事件顺序分配内存:
• 如果可用物理内存小于用户模式虚拟地址空间,则无法激活 AWE。在此情况下,SQL Server 将以非 AWE 模式运行,而不管 awe enabled 选项的设置情况。
• 如果可用物理内存大于用户模式虚拟地址空间,则可以激活 AWE。
o 如果可用物理内存大于 max server memory 选项的值,SQL Server 实例会锁定 max server memory 中指定的内存量。
o 如果可用物理内存小于 max server memory 选项的值或如果尚未设置 max server memory 选项,SQL Server 实例只留下 256 兆字节 (MB),而锁定所有其余的可用内存。
• AWE 映射内存一经分配便无法释放,除非关闭 SQL Server。
配置内存选项
极力建议每次启用 AWE 时都为 max server memory 设置一个值。如果 awe enabled 设置为 1(并且可用物理内存大于用户模式进程空间),则启动服务器后,运行在 Windows 2000 中的 SQL Server 2005 实例将锁定几乎所有的可用内存(或 max server memory 的值指定的内存,如果设置了此选项的话)。如果尚未设置 max server memory,则其他应用程序或 SQL Server 实例的可用物理内存将小于 128 MB。
无法将 AWE 映射内存池换出到分页系统文件。如果需要使用额外物理内存,Windows 必须换出其他应用程序,这样做可能会影响那些应用程序的性能。
若不想影响其他应用程序的性能,请配置 max server memory 留出一些额外可用内存以备其他应用程序和操作系统的不时之需。可以通过了解计算机上使用的所有其他应用程序启动之后还有多少内存可用,来确定可安全分配给 SQL Server 实例的内存量。
注意:
在 Windows 2000 Server 中,SQL Server AWE 将忽略 min server memory。
使用 SQL Server 性能监视器 Total Server Memory (KB) 计数器可以确定在 AWE 模式下运行的 SQL Server 实例所分配的内存量,也可以从 sysperfinfo 中选择内存使用量来确定实例所分配的内存量。
有关详细信息,请参阅监视内存使用量。
使用 AWE 运行 SQL Server 的多个实例
如果服务器运行的是 Windows 2000,则每个实例都应设置 max server memory。由于 Windows 2000 操作系统上运行的 SQL Server 2005 不支持动态分配 AWE 映射内存,因此,建议为每个实例都设置 max server memory 选项。
所有实例的 max server memory 值的总和应小于计算机的总物理内存。如果总和大于总物理内存,某些实例或者不会启动,或者所使用的内存小于 max server memory 设置所指定的内存量。例如,假设某台计算机有 16 GB 的物理内存,并且在该计算机上安装了三个 SQL Server 2005 实例。并且,每个实例的 max server memory 设置为 8 GB。如果您停止并重新启动所有三个实例,内存分配会如下所示:
1. 第一个实例使用 8 GB 的物理内存。
2. 第二个实例将启动,但使用的物理内存将略低于 8 GB(最多减少 128 MB)。
3. 第三个实例以动态内存模式启动并且使用 256 MB 的物理内存或更少的物理内存。
有关详细信息,请参阅管理大型数据库的内存。
在 Windows Server 2003 中使用 AWE 映射内存
在 Windows Server 2003 中,SQL Server 2005 支持动态分配 AWE 内存。启动过程中,SQL Server 仅保留一小部分 AWE 映射内存。当需要额外的 AWE 映射内存时,操作系统便会将其动态分配给 SQL Server。同样,如果所需的资源较少,则 SQL Server 可将 AWE 映射内存返回到操作系统,以供其他进程或应用程序使用。有关 awe enabled 配置选项的详细信息,请参阅 awe enabled 选项。
Windows Server 2003 系列所支持的物理内存量有所增加。AWE 可使用的物理内存取决于您所使用的操作系统。下面的列表列出了写入时每个 Windows Server 2003 操作系统版本可以使用的最大物理内存。
• Windows Server 2003 Standard Edition 最高支持 4 GB 的物理内存。
• Windows Server 2003 Enterprise Edition 最高支持 32 GB 的物理内存。
• Windows Server 2003 Datacenter Edition 最高支持 64 GB 的物理内存。
配置内存选项
SQL Server 2005 在任何 Windows Server 2003 操作系统版本上运行时,都会动态地分配 AWE 映射内存。换言之,缓冲池可以动态管理 AWE 映射内存(在 min server memory 和 max server memory 选项的约束内),以按照总体系统要求平衡 SQL Server 内存的使用。
启用 AWE 后,SQL Server 2005 将始终尝试使用 AWE 映射内存。这适用于所有内存配置,包括配置以提供给应用程序低于 3 GB 用户模式地址空间的计算机。
• 建议将 AWE 设为在 Windows Server 2003 上运行的 SQL Server 2005 的默认内存模式。热添加内存功能要求在启动 SQL Server 过程中启用 AWE。有关信息,请参阅热添加内存。
注意:
64 位操作系统上不需要 AWE,也不能在该系统上配置 AWE。
• 由于所支持的 AWE 映射内存容量在 3 GB 以下,因此,可在物理内存范围内定义 min server memory 和 max server memory 的值,或使用这两个选项的默认值。
• 可以考虑设置 SQL Server 的 max server memory 以保证其他内存能用于运行在计算机上的其他应用程序。虽然 SQL Server 可动态释放 AWE 映射内存,但当前已分配的 AWE 映射内存量无法换出页面文件。
若要使 SQL Server 2005 实例能够使用 AWE,请使用 sp_configure 将 awe enabled 选项设置为 1,然后重新启动 SQL Server。
有关 min server memory 和 max server memory 的详细信息,请参阅服务器内存选项。
在启用 AWE 之前,必须先配置“锁定内存页”策略。有关详细信息,请参阅如何启用“锁定内存中的页”选项 (Windows)。
示例
下面的示例显示如何激活 AWE 以及如何为 min server memory 配置 1 GB 的限制,为 max server memory 配置 6 GB 的限制。
首先,配置 AWE:
复制代码
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
重新启动 SQL Server 之后,会将以下消息写入 SQL Server 错误日志中:“已启用地址窗口化扩展插件。”
然后,配置内存:
复制代码
sp_configure 'min server memory', 1024
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO
在此示例中,内存设置引导缓冲池在 1 GB 和 6 GB 之间动态管理 AWE 映射内存。如果其他应用程序需要额外的内存,则 SQL Server 可释放不再需要的已分配 AWE 映射内存。在此示例中,AWE 映射内存最多只能释放 1 GB。
如果将额外的内存添加到支持热添加内存的计算机中,则 SQL Server 也可以使用动态 AWE 内存来增加内存。热添加内存可用于 Windows Server 2003 Enterprise Edition 和 Datacenter Edition,允许计算机在运行时添加内存。例如,假设在具有 16 GB 物理内存的计算机上启动在 Windows Server 2003 Enterprise Edition 上运行的 SQL Server 2005。将操作系统配置为限制应用程序可使用 2 GB 的虚拟内存地址空间;并且已在 SQL Server 上激活 AWE。稍后,在计算机运行时系统管理员要添加 16 GB 的内存。SQL Server 2005 会立即识别添加的内存,并且,如有必要,可以利用这些内存。
有关使用 AWE 的详细信息,请参阅 Windows Server 2003 文档。
使用 AWE 运行 SQL Server 的多个实例
如果在同一台计算机上运行多个 SQL Server 2005 实例,并且每个实例都使用 AWE 映射内存,则应确保这些实例均按预期方式执行。
如果服务器运行的是 Windows Server 2003,则每个实例都应设置 min server memory。由于在 Windows Server 2003 上运行的 SQL Server 2005 支持动态 AWE 映射内存管理,因此,建议为每个实例都设置 min server memory 选项。由于 AWE 映射内存无法换出页面文件,因此,所有实例的 min server memory 值的总和应小于计算机上的物理总内存。
启动时,min server memory 选项不会强制 SQL Server 获取最小量的内存。基于数据库工作负荷按需分配内存。但是,达到 min server memory 阈值后,如果 SQL Server 为自己保留的内存小于该量,则 SQL Server 将不释放内存。因此,若要确保每个实例所分配的内存至少等于 min server memory 值,建议您启动后立即执行数据库服务器加载。服务器正常运行时,每一实例的可用内存会随时变化,但决不会小于 min server memory 值。
可以设置 max server memory 或将该选项保留为默认设置。将 max server memory 保留为默认值将导致 SQL Server 实例为争夺内存而竞争。
一起使用 AWE 和故障转移群集
如果使用的是 SQL Server 2005 故障转移群集和 AWE 内存,则必须确保所有实例的 max server memory 设置的总和小于故障转移群集中任一服务器上可用的最小物理内存。如果故障转移节点的物理内存比原节点上的内存小,则 SQL Server 2005 实例可能无法启动,或者可能在内存比在原节点上的内存小的情况下启动。
请参阅
任务
如何配置 awe enabled 选项 (SQL Server Management Studio)
概念
使用 AWE
管理大型数据库的内存
###################################################################
######################
配置 SQL Server 以便使用 2 GB 以上的物理内存(包括SQL Server 2005)
1. 概要
使用Windows 2000 Server 的操作系统,对于SQL Server而言,需要打开操作系统的3G开关,它才能利用到2G以上的物理内存,否则这些4G以上内存只有2G能够被SQL Server使用到。
如果服务器上的内存高于4G,请打开操作系统的/3G开关。这样重新启动后,SQL Server将会自动利用大内存来提升数据库的性能,而不再受到2G的内存使用限制!
使用Windows 2000 Advanced Server、Windows 2000 Datacenter 或 Windows Server 2003如果使用 Boot.ini 的 /PAE 开关和 AWE 启用选项SQL Server 2000 就可以使用4G以上内存。
2. 支持的操作系统版本
Windows 2000 Server
通常情况下,SQL Server 2000 Enterprise Edition 和 SQL Server 2000 Developer Edition 最多可以使用 2 GB 的物理内存。如果使用 AWE 启用选项,SQL Server 最多可以使用 4 GB 的物理内存。
由于在 Microsoft Windows 2000 Server 上不能使用“物理地址扩展”(PAE),因此无法为 Windows 2000 Server 上的应用程序分配 4 GB 以上的物理内存。
注意:此外,Windows 2000 Server 不能在 Boot.ini 文件中使用 3 GB 开关;
不过,Microsoft Windows 2000 Advanced Server 或 Microsoft Windows Datacenter 版本却可以在 Boot.ini 文件中使用 3 GB 开关。
Windows 2000 Advanced Server、Windows 2000 Datacenter 或 Windows Server 2003
32 位寻址模式可以提供的最大物理内存量为 4 GB。所有基于 IA-32 结构的处理器(从 Intel Pentium Pro 开始)都支持一种新的 36 位物理寻址模式,称为“物理地址扩展”(PAE)。PAE 允许 Windows 2000 Advanced Server 上最多使用 8 GB 的物理内存,允许 Windows 2000 Datacenter Server 上最多使用 32 GB 的物理内存。这是因为,根据测试,Windows 2000 Datacenter Server 上的内存限制为 32 GB。PAE 模式内核需要 Intel 结构的处理器 Pentium Pro(或更高性能的处理器),以及 Windows 2000 Advanced Server 或 Windows 2000 Datacenter。
Windows Server 2003 上支持的最大内存为 4 GB。但是,Windows Server 2003 Enterprise Edition 支持 32 GB 的物理 RAM。使用物理地址扩展 (PAE) 功能,Windows Server 2003 Datacenter Edition 可支持 64 GB 的物理内存。
对于下列系统,可以在 Boot.ini 文件中使用 3 GB 开关:
Microsoft Windows Server 2003、
Microsoft Windows Server 2003 Enterprise Edition 或 Microsoft Windows Server 2003 Datacenter Edition。
SQL Server 2000 Enterprise 和 SQL Server 2000 Developer Edition 都可以使用下列选项:
如果在 SQL Server 中使用 Boot.ini 的 /PAE 开关和 AWE 启用选项,SQL Server 2000 就可以使用 4 GB 以上的内存。没有 /PAE 开关,SQL Server 最多只能使用 3 GB 的内存。
在 Windows 2000 Data Center 上,要使 AWE 可以使用 16 GB 以上的内存,请确保在 Boot.ini 文件中没有使用 /3GB 开关。如果在 Boot.ini 文件中使用 /3GB 开关,Windows 2000 可能无法正常提供 16 GB 以上的任何内存。
所有 32 位应用程序都有 4 GB 的进程地址空间(32 位地址最多可以映射 4 GB 的内存)。如下图:
3. SQL Server 2000配置步骤
3.1. Windows 2000 Server 配置操作系统支持AWE
3.1.1. 修改BOOT.INI文件
我的电脑->C: (如下图)
3.1.2. 启用操作系统3GB开关
修改boot.ini文件,在启动windows项中添加 /3GB 参数。修改过后的boot.ini文件应该类似以下内容:
[boot loader]
timeout=8
default=multi(0)disk(0)rdisk(0)partition(1)
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)="Microsoft Windows 2000 Advanced Server" /3GB /fastdetect
3.1.3. 启用锁定内存页选项(windows)
启用锁定内存页选项
在"开始"菜单上单击"运行"子菜单,然后在"打开"框中键入"gpedit.msc"。
在"组策略"控制台上,展开"计算机配置",然后展开"Windows 设置"。
展开"安全设置",然后展开"本地策略"。
选择"用户权限分配"复选框。
详细资料窗格中随即显示出策略。
在详细资料窗格中,双击"锁定内存页"。
在"本地安全策略设置"对话框中,单击"添加"按钮。
在"选择用户或组"对话框中,添加有权运行 sqlservr.exe 的帐户。
3.1.4. 启用SQL Server 的AWE支持
下面的示例说明了如何启用 AWE 并为服务器内存最大值选项配置 3 GB 的限制:
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'max server memory', 3072
RECONFIGURE
GO
3.1.5. 重新启动服务
为了支持 3 GB 的用户模式进程空间,必须将 /3gb 参数添加到 boot.ini 文件中并重新启动计算机,从而使 /3gb 参数生效。设置此参数后,用户应用程序线程可以寻址 3 GB 的进程地址空间,而为操作系统保留 1 GB 的进程地址空间。
3.2. Microsoft Windows Server 2003 Enterprise Edition 配置操作系统支持AWE
3.2.1. 修改BOOT.INI文件
我的电脑->C: (如下图)
3.2.2. 启用操作系统/PAE开关
如果在 SQL Server 中使用 Boot.ini 的 /PAE 开关和 AWE 启用选项,SQL Server 2000 就可以使用 4 GB 以上的内存。没有 /PAE 开关,SQL Server 最多只能使用 3 GB 的内存。
在 Windows 2000 Data Center 上,要使 AWE 可以使用 16 GB 以上的内存,请确保在 Boot.ini 文件中没有使用 /3GB 开关。如果在 Boot.ini 文件中使用 /3GB 开关,Windows 2000 可能无法正常提供 16 GB 以上的任何内存。
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect /PAE
3.2.3. 启用锁定内存页选项(windows)
启用锁定内存页选项
在"开始"菜单上单击"运行"子菜单,然后在"打开"框中键入"gpedit.msc"。
在"组策略"控制台上,展开"计算机配置",然后展开"Windows 设置"。
展开"安全设置",然后展开"本地策略"。
选择"用户权限分配"复选框。
详细资料窗格中随即显示出策略。
在详细资料窗格中,双击"锁定内存页"。
在"本地安全策略设置"对话框中,单击"添加"按钮。
在"选择用户或组"对话框中,添加有权运行 sqlservr.exe 的帐户。
3.2.4. 启用SQL Server 的AWE支持
下面的示例说明了如何启用 AWE 并为服务器内存最大值选项配置 6 GB 的限制:
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO
3.2.5. 重新启动服务
必须重新启动 SQL Server 2000 实例才能使更改生效。
net stop mssqlserver
net start mssqlserver
这样,SQL 服务启动后,就会把6G的内存给锁定,完全供SQL使用
4. SQL Server 2005配置步骤
4.1. 在Windows Server 2003使用SQL Server 2005概述
SQL Server 2005 支持在 Windows Server 2003 上动态分配 AWE 映射内存。通过允许访问超过在所配置虚拟内存地址空间上设置的限制的可用物理内存,AWE 可扩展 32 位操作系统上运行的应用程序的功能。
启动过程中,SQL Server 仅保留一小部分 AWE 映射内存。需要额外的 AWE 映射内存时,操作系统会动态地将其分配给 SQL Server。同样,如果需要更少的资源,SQL Server 会将 AWE 映射内存返还给操作系统,以供其他进程或应用程序使用。SQL Server 和操作系统之间的这种平衡受到 min server memory 和 max server memory 参数的限制。
在 Windows Server 2003 中运行 SQL Server 2005 时,无需重新启动 SQL Server 实例,SQL Server 即可响应 max server memory 和 min server memory 配置选项的更改。
在 Windows Server 2003 下,如果服务器的物理内存小于虚拟内存地址空间上已配置的限制,则该服务器支持动态 AWE 映射内存。在这种情况下使用 AWE 不会对性能产生影响,但添加的物理内存超过虚拟内存地址限制时,可以在不重新启动服务器的情况下使用此物理内存。
4.2. 启用AWE
对于 Windows Server 2003,由于 AWE 映射内存管理是动态的,因此在启动过程中,只分配总可用物理内存的一小部分。
如果已成功启用此选项,当 SQL Server 2005 实例启动时,SQL Server 错误日志中将写入消息“Address Windowing Extensions enabled”。
必须在启用 AWE 之前为 SQL Server 帐户授予 LOCK PAGE IN MEMORY 权限。
awe enabled 选项是一个高级选项。如果使用 sp_configure 系统存储过程来更改该设置,则只有在 show advanced options 设置为 1 时才能更改 awe enabled。必须重新启动 SQL Server 实例,AWE 才会生效。
4.3. 启用锁定内存页选项(windows)
启用锁定内存页选项
在"开始"菜单上单击"运行"子菜单,然后在"打开"框中键入"gpedit.msc"。
在"组策略"控制台上,展开"计算机配置",然后展开"Windows 设置"。
展开"安全设置",然后展开"本地策略"。
选择"用户权限分配"复选框。
详细资料窗格中随即显示出策略。
在详细资料窗格中,双击"锁定内存页"。
在"本地安全策略设置"对话框中,单击"添加"按钮。
在"选择用户或组"对话框中,添加有权运行 sqlservr.exe 的帐户。
4.4. 启用SQL Server 2005的AWE支持
若要启用 AWE,请将 awe enabled 设置为 1。除非指定了 max server memory 的值,否则 SQL Server 将保留几乎所有可用内存,只留下 128 MB 或更少。
如果已成功启用该选项,则当 SQL Server 2000 实例启动时,SQL Server 错误日志中将出现"已启用地址窗口扩展"这条消息。
awe enabled 是高级选项。如果正在使用 sp_configure 系统存储过程更改该设置,则只有
当 show advanced options 设置为 1 时才能更改 awe enabled。
如下:设定SQL 使用6G的内存
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO
4.5. 重新启动服务
必须重新启动 SQL Server 2005 实例才能使更改生效。
net stop mssqlserver
net start mssqlserver
这样,SQL 服务启动后,就会把6G的内存给锁定,完全供SQL使用
❷ sql server 2000最大高速缓存是多少
默认是 1.6G
如果操作系统是企业版 的, SQL SERVER 是企业版或者是DATA CENTER 就可以支持大内存,需要开启SQL SERVER的AWE选项
AWE选项允许SQL SERVER使用 大内存。
配置操作系统支持AWE
要使OS支持AWE,必须在boot.ini 中加入 /pae 参数
锁定内存页:要使用AWE,启动SQLServer服务的帐号必须有内存中锁定页Lock Page in Memory的权限
此策略将确定哪些帐户可以使用进程将数据保留在物理内存中,从而阻止系统将数据分页到磁盘的虚拟内存中。
在 SQL Server 2005 中,“锁定内存页”选项默认设置为 OFF。如果您具有系统管理员权限,
则可以使用组策略工具 (gpedit.msc) 手动启用该选项,并将此权限指定给正在运行 SQL Server 的帐户。
开启SQL SERVER的AWE选项.gpedit.msc->计算机配置->WINDOWS设置->安全设置->
本地策略->用户权限分配->内存中锁定页面->加入SQL SERVER的启动帐户
虽然没有要求,但我们建议在使用 64 位操作系统时锁定内存中的页。
对于 32 位操作系统,在将 AWE 配置为用于 SQL Server 之前,必须授予“锁定内存页”权限。
/*开启SQL SERVER的AWE,并设置最大内存为5G
sp_configure "show advanced options", 1
RECONFIGURE WITH OVERRIDE
GO
sp_configure "awe enabled", 1
RECONFIGURE WITH OVERRIDE
GO
sp_configure "max server memory", 5120
RECONFIGURE WITH OVERRIDE
GO
*/
设置最大内存要参照系统物理内存,留下一下内存以供其它应用程序使用(如系统是8G内存,SQL可设置为5G)。设置好后重启服务器即可。
❸ SQL Server2000大内存问题
设置 min server memory = 5120 配合 max server memory = 6144 使用
这样启动后就应该 是 5G
❹ 配置SQL Server 2000选项
SQL Server服务器的配置选项属于那种人们了解较少且经常误用的选项 当一个技术支持人员要求你按照某种方式调整一个选项 而另一个技术支持人员却要求你按照另一种完全对立的方式调整同一个选项时 你可能对这些选项的真正含义感到困惑 有关这些选项的资料很缺乏 至少可以说不够详细和清楚 在SQL Server 中 Microsoft减少了几个配置选项 让SQL Server动态配置它们 从而减少了几个容易混淆的地方 同时 Microsoft又为SQL Server 新增了两个服务器配置选项 调整了一些数据库选项 从而稍许简化了数据库管理员的工作 新增的服务器选项 就象访问大多数企业版服务器的属性一样 我们不能在SQL Server Enterprise Manager中通过服务器属性窗口访问SQL Server 新增的两个服务器选项 作为防止用户由于不小心而错误配置服务器的一个安全措施 Microsoft没有把这些高级配置选项放入Enterprise Manager 相反 我们必须使用T SQL/sp_configure系统存储过程去访问这些高级选项 我们可以用不带参数运行sp_configure的方法查看服务器的当前配置 在执行结果中 config_value是SQL Server从Master数据库syscurconfigs表提取出来的数据 它显示了服务器的当前配置 run_value列显示了执行sp_configure时SQL Server正在使用的选项 SQL Server在sysconfigures表中存储这些数据 修改某个选项之后 我们必须执行RECONFIGURE命令(在大多数情况下 还要重新启动SQL Server)才能让新的run_value显示出来 本文所讨论的所有选项都要求重新启动SQL Server 服务器选项总共有 个 默认情况下 sp_configure存储过程只显示其中的 个 显示结果中不包含高级选项 而且所有新的SQL Server配置选项都不会出现在这个精简的清单中 然而 我们可以使用show advanced options命令参数让SQL Server显示出所有选项 要启用show advanced options 我们使用如下命令格式 EXEC sp_configure show advanced options RECONFIGURE 要安装一个选项 我们必须在使用sp_configure配置服务器之后运行RECONFIGURE命令 上面命令的输出结果如下 Configuration option show advanced options changed from to Run the RECONFIGURE mand to install 一旦能够查看高级选项 我们就可以看到两个新的服务器选项 其中最重要的一个新选项是awe enabled选项 它能够让SQL Server企业版提高服务器的内存访问能力 默认情况下 SQL Server能够使用的最大RAM是 GB 在Windows 上 应用程序可以 使用Address Windowing Extensions(AWE)API访问更多的RAM 例如 在Windows Advanced Server中 我们能够使用多达 GB的内存 只有Windows Datacenter Server支持 GB内存才超过它 显然 当SQL Server拥有更多的可用内存 它将能够缓冲更多的数据 改善查询的响应时间 不过 启用awe enabled选项也有副作用 启用awe enabled选项之后 SQL Server不再动态地分配内存 由于缺乏内存动态分配功能 管理负担随之增加 因为我们必须仔细地监视RAM使用情况 另外 设置awe enabled选项之后 我们还必须设置max server memory选项 如果我们不设置max server memory选项 服务器RAM又等于最低要求 GB SQL Server将在启动的时候占据机器上几乎所有的RAM 只给Windows和其他应用留下 MB的RAM 通过设置max server memory选项 我们可以限制SQL Server使用的内存总量 awe enabled选项只能在SQL Server Enterprise Edition上使用 操作系统必须是Windows Advance Server或Datacenter 如果你在SQL Server的其他版本上使用这个选项(或者操作系统是WinNT) SQL Server将忽略这个选项 在某些服务器配置组合下 不适当地配置这个选项将导致不可预知的结果 例如 如果我们在Windows 操作系统 运行SQL Server Personal Edition的机器上设置这个选项 SQL Server可能报告它已经停止(甚至是在它正在运行的时候) 而且它将拒绝停止SQL Server实例 在SQL Server Enterprise Edition服务器上启用AWE包括三个步骤 首先 我们必须确保启动SQL Server实例的帐号具有在内存中锁定页的权限 SQL Server安装时自动把页锁定权限授予我们指定用来启动SQL Server服务的Windows帐号 但是 如果后来这个帐号已经改变 你应该检查一下已经把哪些权限授予了启动SQL Server的用户 检查帐号的权限可以使用Windows 的组策略工具 第二个步骤是运行sp_configure存储过程 把awe enabled选项设置为 然后 我们必须执行RECONFIGURE 用手工方式重新启动SQL Server 配置命令的语法为 EXEC sp_configure awe enabled RECONFIGURE 注意 在Windows 或者NT上 如果要访问高于 GB的物理内存 我们还必须采取其他一些措施 即修改boot ini文件 加入/pae选项 第二个新的SQL Server 选项用来启用C 级安全审核模式 C 是一个 *** 安全等级 它保证系统能够保护资源并具有足够的审核能力 C 模式允许我们监视对所有数据库实体的所有访问企图 启用SQL Server的C 审核功能的命令如下 EXEC sp_configure c audit mode RECONFIGURE (要实现完整的C 级安全保证 Windows操作系统也必须提供相应的支持)启用C 审核模式并重新启动之后 SQL Server自动在MSSQLData目录下面创建跟踪文件 我们可以使用SQL Server Profiler查看这些监视服务器活动的跟踪文件 SQL Server以 KB大小的块为单位把数据写入跟踪文件 因此 当SQL Server非正常停止时 我们最多可能丢失 KB的日志数据 可以想象 包含审核信息的日志文件将以很快的速度增大 例如 某次试验只访问了三个表 跟踪文件已经超过了 MB 当跟踪文件超过 MB时 C 审核将关闭旧文件并创建新文件 每次SQL Server启动的时候 它会创建一个新的跟踪文件 如果磁盘空间不足 SQL Server将停止运行 直至我们为审核日志释放出足够的磁盘空间并重新启动SQL Server实例 在SQL Server启动的时候 我们可以使用 f参数禁用审核 减少的服务器选项 在SQL Server 中 Microsoft减少了原有的几个选项 让SQL Server 自动配置这些选项 减少的选项中最引人注目的是max async IO选项 这个选项允许数据库管理员指定在单一的数据库文件上可以出现多少异步的磁盘读取和写入操作 SQL Server 中的max async IO选项是人们了解最少的选项之一 它的默认值是 但很少有管理员去调整这个值 在SQL Server 中 这个异步IO选项随着SQL Server接收的适配器反馈信息动态地上升或者下降 SQL Server利用反馈算法确定服务器负载以及SQL Server系统能够控制的数量 数据库选项 在SQL Server 中 如果你曾经查看过Enterprise Manager中数据库的Options选项卡 你可能会对一些通用选项的消失感到困惑(要访问Options选项卡 在Enterprise Manager中右击数据库然后选择Properties) Options选项卡中减少了trunc log on cpt 以及Select Into/Bulk Copy这两个选项 如图 所示 为了清楚和向后兼容起见 这些通用选项现在称为recovery model(恢复模型)选项 如果用SQL Server 的Enterprise Manager连接SQL Server 数据库 我们仍旧可以看到这些老选项 以前 我们使用下面的命令为Northwind数据库开启trunc log on cpt 选项 SP_DBOPTION Northwind trunc log on cpt true 设置好选项之后 我们可以通过Options选项卡或者下面的查询检查Northwind数据库上这些选项设置是否成功 SELECT DATABASEPROPERTY ( Northwind IsTruncLog ) 结果为 表示选项设置成了true 结果为 表示选项设置成了false 如果结果为NULL 它表示我们或者选择了一个错误的选项 或者数据库不存在 为了便于使用 Microsoft把trunc log on cpt 和Select Into/Bulk Copy选项换成了恢复模型设置 这种选项改变的目的在于确保数据库管理员能够充分理解在灾难恢复策略中恢复模型选项的意义 SQL Server 为我们提供了三种数据库恢复模型 simple(简单恢复) full(完全恢复) bulk_logged(大容量日志记录恢复) 简单恢复模型最容易操作 但它是最缺乏灵活性的灾难恢复策略 选择简单恢复模型等同于把trunc log on cpt 设置成true 在这种恢复模型下 我们只能进行完全备份和差异备份(differential backup) 这是因为事务日志总是被截断 事务日志备份不可用 一般地 对于一个包含关键性数据的系统 我们不应该选择简单恢复模型 因为它不能够帮助我们把系统还原到故障点 使用这种恢复模型时 我们最多只能把系统恢复到最后一次成功进行完全备份和差异备份的状态 进行恢复时 我们首先要恢复最后一次成功进行的完全备份 然后在此基础上恢复差异备份(差异备份只能把自从数据库最后一次完全备份之后对数据库的改动施加到数据库上) 完全恢复模型把trunc log on cpt 选项和Select Into/Bulk Copy选项都设置成false 完全恢复具有把数据库恢复到故障点或特定即时点的能力 对于保护那些包含关键性数据的环境来说 这种模型很理想 但它提高了设备和管理的代价 因为如果数据库访问比较频繁的话 系统将很快产生庞大的事务日志记录 由于在这种模型中Select Into/Bulk Copy设置成了false SQL Server将记录包括大容量数据装入在内的所有事件 最后一种恢复模型是大容量日志记录恢复 它把tru lishixin/Article/program/SQLServer/201311/22177