社区
疑难问题
帖子详情
MS SQL数据库太大30多G,服务器很慢,该如何处理?用了ms sql 2000+SP4
yousoft2013
2006-10-31 10:08:50
数据量很大,客户端的有上百个,不过应用使用了三层结构,客户端不直接连服务器。
有没有什么好的办法?提高服务器的性能,让服务器更快点
...全文
532
10
打赏
收藏
MS SQL数据库太大30多G,服务器很慢,该如何处理?用了ms sql 2000+SP4
数据量很大,客户端的有上百个,不过应用使用了三层结构,客户端不直接连服务器。 有没有什么好的办法?提高服务器的性能,让服务器更快点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vovo2000
2006-11-01
打赏
举报
回复
数据库慢跟大没有必然联系。
建议用事件探查器看看有没有效率低下的查询和不合理的索引等。
allright_flash
2006-11-01
打赏
举报
回复
应该建索引了。但是数据量太大的话,硬件解决才是根本。
yousoft2013
2006-11-01
打赏
举报
回复
日志我已经截掉,日志文件很小,不到2G,服务器升过级的,用的就是磁盘阵列。
重建索引还没试
dawugui
2006-10-31
打赏
举报
回复
对经常使用的查询字段建立索引.
dawugui
2006-10-31
打赏
举报
回复
清除日志:
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT
USE szwzcheck -- 要操作的数据库名
SELECT @LogicalFileName = 'szwzcheck_Log', -- 日志文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 20 -- 你想设定的日志文件的大小(M)
-- Setup / initialize
DECLARE @OriginalSize int
SELECT @OriginalSize = size
FROM sysfiles
WHERE name = @LogicalFileName
SELECT 'Original Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
CREATE TABLE DummyTrans
(DummyColumn char (8000) not null)
DECLARE @Counter INT,
@StartTime DATETIME,
@TruncLog VARCHAR(255)
SELECT @StartTime = GETDATE(),
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'
DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
-- Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time
AND @OriginalSize = (SELECT size FROM sysfiles WHERE name =
@LogicalFileName)
AND (@OriginalSize * 8 /1024) > @NewSize
BEGIN -- Outer loop.
SELECT @Counter = 0
WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
BEGIN -- update
INSERT DummyTrans VALUES ('Fill Log')
DELETE DummyTrans
SELECT @Counter = @Counter + 1
END
EXEC (@TruncLog)
END
SELECT 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
DROP TABLE DummyTrans
SET NOCOUNT OFF
把szwzcheck换成你数据库的名字即可,在查询分析器里面运行。
有全角的空格(为了显示好看),你自己把他换一下.
收缩日志:
企业管理器--所有任务--收缩数据库--文件--选日志文件收缩
子陌红尘
2006-10-31
打赏
举报
回复
确定性能瓶颈在磁盘的I/O上?
升级硬件是一个比较简单的途解办法,为了提高磁盘的I/O,可以使用磁盘阵列替代原有的磁盘存储设备,但是要选择正确的RAID级别。
yitangliang
2006-10-31
打赏
举报
回复
用Proflier跟踪SQL Server,看看哪些语句占资源厉害,优化一下就行了,还有,看看table的索引碎片多不多,多的话找个时间做下dbcc dbreindex,还有如果服务器内存达4GB或超过4GB记得打开SQL Server AWE模式,相应的操作系统启动参数加上/PAE
pazuochuan
2006-10-31
打赏
举报
回复
MARK
OracleRoob
2006-10-31
打赏
举报
回复
查看执行计划,如果不是处理方式的问题,就应该升级硬件了。
luoqun_ncs
2006-10-31
打赏
举报
回复
连慢在哪里都不知道就开药方了么?
ms-
sql
数据库
优化
SQL
语句优化的原则: ◆1、使用索引来更快地遍历表 缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。...
SQL
查询速度慢原因及优化方法(转载)
下面是网络中流传最广的一篇
sql
查询速度慢的原因及解决方法的文章,其对于
处理
my
sql
的慢查询有借鉴作用。由于此文转载多次,很难找到最开始的原文链接,就附送本人最先看到此文的链接:...
SQL
Server
数据库
优化的10多种方法
巧妙优化
sql
server
数据库
的几种方法,在实际操作中导致查询速度慢的原因有很多,其中最为常见有以下的几种:没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)。 I/O吞吐量小,形成了瓶颈...
SQL
数据库
如何加快查询速度?
SQL
数据库
如何加快查询速度? 1、升级硬件 2、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。 3、扩大
服务器
的内存 4、增加
服务器
CPU个数 ...
疑难问题
22,209
社区成员
121,731
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章