让SQL SERVER突破2G内存限制
32
位的操作系统只能用
4G
的内存(不确定这句话是否正确),因为
2
的
32
次方是
4G
。默认的情况下,操作系统给自己留了
2G
,剩下的
2G
给应用程序。所以,每个应用程序所能使用的内存,最大不超过
2G
。据说可以改
WINDOWS
的
BOOT.INI
,强制操作系统只使用
1G
,即使这样,应用程序也至多是
3G
。
SQL SERVER
就是这么个倒霉的应用程序。
就拿我们服务器来讲,
OS
:
windows 2003;
内存:
8G; SQL:2008
。结果内存只用了不到
2G
,其中
SQL
是
1.7
G
,并且这个值基本没有什么变化。
太浪费了。
十月革命一声炮响,微软送来了
AWE
。这个东西可以让
32
位操作系统下的应用程序使用更多的内存。
SQL
支持
AWE
。
步骤:
1、
进入
SQL SERVER Management
Studio
2、
右击数据库实例,选内存
3、
勾上“使用
AWE
分配内存”,填上合适的最小和最大内存(具体是什么标准不清楚,我是给操作系统预留了
2G;
有的内存紧张的服务器只留
1G,
甚至只有
500M
,也没发现什么问题)
4、
重启数据库实例。
之后用任务管理器查看,内存消耗越来越多,直至比设定值大一点点。很奇怪,这时看
SQL
消耗的内存,只有几十
M
,不知道这个数值怎么来的。估计是分配的内存之外消耗的吧?
在性能监视器(管理工具
-
性能)上看到,磁盘队列大大减少了,实际应用,网站快了许多。
相关文档:
Sql Server2005的一个新特性便是我等了很久的Row_Number(),以前用Oracle时用rownumber写分页存储过程很方便:)
下面是我做的一个小小的测试,测试我原来在sql server2000下所用的分页存储过程与使用Row_Number()编写的存储过程在Sql Server2005上的执行效率...
数据表:
REATE TABLE [dbo].[test](
[UserId] [int] Pri ......
原网站无法访问,故保留google快照
How things work :
SQL
Select
Statement
Introduction
:
Ever asked your self how things work inside the
SQL
Select
statement? In this article we won’t be talking about how to writeSQL
Select
statem ......
Cross Apply使表可以和表值函数结果进行join, 这样表值函数的参数就可以使用一个结果集,而不是一个标量值,下面是book online的原文,有例子,有解释。
The APPLY operator allows you to invoke a table-valued function for each row returned by an outer table expression of a query. The table-valued function act ......
原文地址:http://www.cnblogs.com/changhai0605/articles/1276319.html
Oracle的请参考:http://zonghl8006.blog.163.com/blog/static/4528311520083995931317/
1.简介:
SQL Server 2005中新增的窗口函数帮助你迅速查看不同级别的聚合,通过它可以非常方便地累计总数、移动平均值、以及执行其它计算。
窗口函数功能非 ......
-- FUN:存储过程分页
-- @Table nvarchar(255), -- 表名
-- @Fields nvarchar(1000) = ' * ', -- 需要返回的列
-- @OrderField nvarchar(255), -- 排序的字段名,一般为唯一标识
-- @OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
-- @PageSize int = 10, -- 每页有多少条记录
-- @PageIndex int = 1, -- 第 ......