数据库:sql server2000
数据库数据文件大于:64GB
内存:4GB
CPU:intel(R) Xeon(TM) 3.0HZ x 4片SQL Sever相关设置如下:
Memory设置
点选 Dynamically configure SQL Server memory
Minimum query memory(KB) 3072processor
Minimum query plan threshold for considering queries
for parallel execution(cost estimate):5具体情况:
有时查询任何表的数据都变得很慢,出现这种情况后,我重启服务后又会变得很快。
一天我要重启好几次服务。
有没有人能帮我诊断一下,能不能我的高运行效率稳定一点。
谢谢
数据库数据文件大于:64GB
内存:4GB
CPU:intel(R) Xeon(TM) 3.0HZ x 4片SQL Sever相关设置如下:
Memory设置
点选 Dynamically configure SQL Server memory
Minimum query memory(KB) 3072processor
Minimum query plan threshold for considering queries
for parallel execution(cost estimate):5具体情况:
有时查询任何表的数据都变得很慢,出现这种情况后,我重启服务后又会变得很快。
一天我要重启好几次服务。
有没有人能帮我诊断一下,能不能我的高运行效率稳定一点。
谢谢
(http://blog.csdn.net/Haiwer/archive/2008/08/25/2826881.aspx)五种提高 SQL 性能的方法
(http://topic.csdn.net/u/20080509/10/c9bee345-3f57-4632-a84d-1673b1e96bf8.html)SQL Server 优化性能的几个方面
http://topic.csdn.net/u/20100424/18/b74ba5bc-b2b6-44af-979a-74c835d6647c.html?41904
32位下SQL Server最多吃到2G的内存,所以你会发现内存没用完啊。
打开3g开关
boot.ini[boot loader]
timeout=5
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 /3g
使用2-3G,要启用3gb
使用2-3G,要启用3gb打开3g开关
boot.ini[boot loader]
timeout=5
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 /3g
--
从你的说法可以看出一些问题:
内存偏小,尽管如你所说,内存没有用完,基于你分配给sql server的内存偏小.造成频繁的磁盘读写,你可以打开管理工具->性能 工具然后查看一下physical disk里面的每秒读写,如果读超过1m,并且有队列情况,就说明你的数据库磁盘读写很厉害.要解决问题其实很多方法:
1.最快的方式就是加物理内存,然后加大分配给sql server的内存.可以临时性改善性能
2.搜索并排序 按照reads数量排序,找出最耗费资源的sql(不知道查询怎么写就是用dash board,这个是Microsoft的小工具),看看执行计划是否已经优化,如果没有,那么就要针对该sql做修改或者建立索引.
3.比较大的表你可以考虑使用分区,能够极大改善性能.做好这几点,再考虑其他的优化方法.有关优化的话题太多,但上面的几点能够帮你较快解决问题.