十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
楼主说的其实是有两个东西,一个是数据库的AWE模式,可以支持32位系统超过4G的实际寻址。你可以在数据库实例上右键,然后属性,点击内存(或者Momory),看 USE AWE to allocate more memory(或者是对应的中文,我的是英文版)是否勾选上。
成都创新互联公司是一家专业提供西平企业网站建设,专注与成都做网站、成都网站建设、H5响应式网站、小程序制作等业务。10年已为西平众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
PAE即物理地址扩展,Windows 2003 内存管理器使用 PAE 向程序提供更多的物理内存。程序本身并不知道实际的内存大小。所有的内存管理和 PAE 内存分配都由内存管理器处理,与运行的程序无关。
AWE即地址窗口化扩展,是内存管理器功能的一套应用程序编程接口 (API),它使程序能够寻址更多内存 — 超过标准 32 位寻址的 4 GB 内存空间。
对于PAE和AWE要注意的是:PAE即物理地址扩展是Windows 2003 内存管理器的一项功能,也就是说其是基于系统的,而AWE即地址窗口化扩展是一套应用程序编程接口 (API)。
在 Windows Server 2003 中,当服务器使用热插拔内存设备时,会自动启用 PAE。而对于我们普通人来说不可能会使用价格高昂的服务器机器,必须在 Boot.ini 文件中使用 /PAE 开关来利启用 PAE。使用大于 4GB 的内存。
以下是一个 Boot.ini 文件的示例,其中已添加了 PAE 开关:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /PAE
一台新服务器,内存配置有4GB,开机也正确显示4G,但安装了WIN2003SP1以后,系统显示只有3.37G,原以为内存有硬件故障,后经检查,按如下做。
1.打开系统中的大内存支持(windows)
若要启用 Windows 2000 Advanced Server 或 Windows 2000 Datacenter Server 支持
大于4GB的物理内存,必须将参数 /pae 添加到 boot.ini 文件中。
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Advanced Server"
/fastdetect
改为
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Advanced Server"
/fastdetect /PAE
这个改好后,要重启系统的
2.启用锁定内存页选项(windows)
启用锁定内存页选项
在"开始"菜单上单击"运行"子菜单,然后在"打开"框中键入"gpedit.msc"。
在"组策略"控制台上,展开"计算机配置",然后展开"Windows 设置"。
展开"安全设置",然后展开"本地策略"。
选择"用户权限分配"复选框。
详细资料窗格中随即显示出策略。
在详细资料窗格中,双击"锁定内存页"。
在"本地安全策略设置"对话框中,单击"添加"按钮。
在"选择用户或组"对话框中,添加有权运行 sqlservr.exe 的帐户。
3.启用SQL的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。
code 如下,设定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
必须重新启动 SQL Server 2000 实例才能使更改生效。
net stop mssqlserver
net start mssqlserver
这样,SQL 服务启动后,就会把6G的内存给锁定,完全供SQL使用
仅 Windows 2000 Datacenter Server、 Windows 2000 Advanced Server、Windows Server 2003、Enterprise Edition 和 Windows Server 2003 Datacenter Edition 支持 PAE。 在 32 位 Windows 中,默认情况下将禁 用 PAE,并且必须在 BOOT.INI 文件中设置 /pae 引导参数才可启用 PAE
为什么要这样做呢,因为32位的系统只能寻址到4G的内存空间,通过修改BOOT文件 可以把其余内存做为可扩展物理内存 但是如果自己内存刚好为4G的话 就不建议修改了 效果不是很理想
硬件支持最大的内存容量可以这么算:支持最大内存容量=2的N次方位。
32位硬件支持的最大内存容量换算下来就是2的32次方,换算下来就是4G,64位硬件支持的最大内存容量是2的64次方,换算下来就是16EB=16*1024PB=16*1024*1024TB=16*1024*1024*1024GB。
可以的,64位操作系统可以安装32位的sqlserver;但是32位操作系统不能安装64位的sqlserver。
这个问题我也遇到过,
是相同目录下的程序正在运行,里面引用了这个mdf文件,或者是嵌套了这个数据库,所以会那样,
关闭同目录下的应用程序,
然后将\Management.mdf和日志文件拷贝到sql2000的安装目录下
比如C:\Program
Files\Microsoft
SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA目录下,然后附加这个数据库,然后看能不能成功,
可以啊,就是相当于在高速公路跑拖拉机一样,电脑的速度没有得到完全的使用。
大部分的32位软件都能被64为操作系统兼容,只有一小部分的软件存在兼容性问题。如果使用64位VISTA的话,可以通过调整兼容性来运行程序。在可执行程序上点右键,选择属性,选择“兼容性”标签,使用兼容模式运行这个程序,下拉菜单中选择 Windows XP (Service Pack 2) ,就行了。一般的兼容性问题都能解决。
应该是你的存储过程、函数之间嵌套调用了,调用的层数过多(超过32层)导致的。
嵌套调用需要堆栈的支持,考虑到性能,SQL对最多可嵌套的层数进行了限制导致的。