代码驿站移动版
频道导航
HTML/Xhtml
CSS
JavaScript
HTML5
PHP教程
ASP.NET
正则表达式
AJAX
ThinkPHP
Yii
MySQL
MariaDB
Oracle
MongoDB
Redis
DedeCMS
PHPCMS
帝国CMS
WordPress
Discuz
其它CMS
Zend Studio
Sublime
Notepad
Dreamweaver
Windows
Linux
Nginx
Apache
IIS
CentOS
Ubuntu
Debian
网站优化
工具资源
PHP源码
ASP.NET源码
其它源码
图标素材
按钮素材
字体素材
DedeCMS模板
帝国CMS模板
PHPCMS模板
WordPress模板
Discuz!模板
单页模板
开发软件下载
服务器软件下载
广告投放
联系我们
版权申明
软件编程
网页前端
移动开发
数据库
服务器
脚本语言
PHP代码
JAVA代码
Python代码
Android代码
当前位置:
主页
>
数据库
>
MsSql
>
解决SQL Server虚拟内存不足情况
时间:2021-03-26 09:23:19 | 栏目:
MsSql
| 点击:次
解决SQL Server虚拟内存不足情况
症状
在具有 2 GB 或更多 RAM 的计算机上,除了 256 MB (SQL Server 7.0) 或 384 MB (SQL Server 2000) 虚拟地址空间之外,SQL Server 在启动过程中保留剩下的所有虚拟地址空间以供缓冲池使用。另外,为了存储数据和过程缓存,SQL Server 使用缓冲池内存为来自 SQL Server 进程的大多数小于 8 KB 的其他内存请求提供服务。剩下的未保留内存准备用于不能从缓冲池得到服务的其他分配。这些分配包括、但不限于以下各项: •SQL Server 创建的所有线程的堆栈和关联的线程环境块。在 SQL Server 创建了所有 255 个工作线程之后,这大约为 140 MB。
•由在 SQL Server 地址空间(根据具体系统而有所不同)中运行的其他 DLL 或进程进行的分配,如: •任何链接的服务器中的 OLE DB 提供程序。
•通过使用 sp_OA 系统存储过程或扩展存储过程加载的 COM 对象。
•加载到地址空间中的任何映像(.exe 或 .dll),这些映像通常使用 20 到 25 MB,但是如果您使用链接的服务器、sp_OA 或扩展存储过程,则这些映像可能使用更多的空间。
•进程堆和 SQL Server 可能创建的任何其他堆。在启动过程中,此空间通常为 10 MB,但是如果您使用链接的服务器、sp_OA 或扩展存储过程,则此空间可能更多。
•来自 SQL Server 进程的大于 8 KB 的分配,例如较大查询计划、网络数据包大小配置选项接近于 8 KB 时发送和接收缓冲区等情况所需要的分配。要查看此数字,请查找在 DBCC MEMORYSTATUS 中报告的 OS Reserved 值,该值是作为 8 KB 页的数目报告的。通常,该值为 5 MB。
•跟踪缓冲池中每个缓冲区状态信息的数组。该值通常约为 20 MB,除非 SQL Server 运行时启用了地址窗口化扩展插件 (AWE),在这种情况下,该值将会显著提高。
在拥有大量数据库的系统上,日志格式化所需的 64 KB 分配可能会占用所有剩余的虚拟内存。这之后的分配将失败,导致本文的“症状”一节中列出的一个或多个错误。
通过使用 -g 启动参数,您可以指示 SQL Server 保留附加的虚拟内存可用,以便这些与日志相关的分配和其他正常分配加在一起也不会用完虚拟地址空间。
下表根据数据库的数目和服务器版本列出 -g 值的一些建议初始值: DatabasesSQL Server 7.0SQL Server 2000
250-g134N/A
500-g185N/A
750-g237N/A
1000-g288-g288
1250-g340-g340
1500-g392-g392
此表是使用列出的典型值进行计算的,并且此计算是基于没有使用链接的服务器活动、sp_OA 或扩展存储过程这一假设的。它还假设您没有使用 AWE 和 SQL 事件探查器。出现以上任意一种情况都需要您增加 -g 的值。
如果服务器上数据库的数目超过此数目,Microsoft 建议您在运行该服务器之前进行慎重的考虑,因为系统上具有如此数目的数据库所需的系统开销将占用缓冲池中的大量虚拟内存,从而可能导致系统整体性能下降。
: 打造SQL Server2000的安全策略
您可能感兴趣的文章:
mssql关于一个表格结构的另外一种显示(表达意思不变)
SQL进行排序、分组、统计的10个新技巧分享
Sql学习第三天――SQL 关于with ties介绍
Microsoft SQL Server 2012 数据库安装图解教程
SQL Server 2008 R2登录失败的解决方法
相关文章
01-12
SQLserver中cube:多维数据集实例详解
11-05
sqlserver常用命令行操作(启动、停止、暂停)
10-05
SqlServer Mysql数据库修改自增列的值及相应问题的解决方案
12-03
T-SQL 查询语句的执行顺序解析
10-03
SQL数据库存储过程示例解析
JQuery
VUE
AngularJS
MSSql
MySQL
MongoDB
Redis
Linux
Tomcat
Nginx
网站首页
广告投放
联系我们
版权申明
联系站长