让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
,不知道这个数值怎么来的。估计是分配的内存之外消耗的吧?
在性能监视器(管理工具
-
性能)上看到,磁盘队列大大减少了,实际应用,网站快了许多。
相关文档:
for ACCESS :
update a, b set a.name=b.name1 where a.id=b.id
for SQL Server:
"update a set a.name=b.name1 from a,b where a.id=b.id"
update a set a.status=b.status
from table1 a,table2 b
&nbs ......
原网站无法访问,故保留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 ......
MySQL:
SELECT column from table
ORDER BY RAND()
LIMIT 1
PostgreSQL:
SELECT column from table
ORDER BY RANDOM()
LIMIT 1
Microsoft SQL Server:
SELECT TOP 1 column from table
ORDER BY NEWID()
IBM DB2
SELECT column, RAND() as IDX
from table
ORDER BY IDX FETCH FIRST 1 ROWS ONLY
Thanks Ti ......
/*
本文专注于将Excel导入SQL SERVER2005数据库
此路径下的这个工具,是SQL SERVER2005 用来导入导出数据的工具。
C:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTSWizard.exe
一般在数据库名上--右键-->Tasks-->Import Data -->界面就出来了,和点击上面的工具是一个东西。
首次使用这个D ......