6,129
社区成员
发帖
与我相关
我的任务
分享
select name,is_auto_shrink_on
from sys.databases
where name = '数据库名称'
否则的话,是不会自动就变小的呀,而且收缩时,也会导致系统变慢。SELECT recovery_model_desc FROM sys.databases
如果为simple,不增长也正常。
b.数据库ldf初始化大小就是2M,重启后一般会帮你初始化。
c.事务量少,并且有常规的日志备份,这个维持2M的话有点难度,但是并不是不可能的。
2、服务器卡有以下几个可能:
a.日志过大,数据库维护开销大,在一些后台进程处理数据库的时候很吃力。
b.查看等待状态,
SELECT * FROM sys.dm_os_waiting_tasks ORDER BY wait_duration_ms DESC
SELECT * FROM sys.dm_os_wait_stats ORDER BY wait_time_ms DESC
这两个语句,看看最高的几个等待状态是什么,然后去搜索一下这几个状态代表什么,再进行优化
c.性能计数器:我这里有几篇文章你可以参考一下http://blog.csdn.net/dba_huangzj/article/details/8614817
d.统计信息,由于你是还原过来的,所以上面的统计信息可能不适用,手动更新一下统计信息。
e.丢失索引,绝大部分性能问题都是查询不优化或者丢失索引,这里有个脚本你参考一下:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SELECT TOP 30
ROUND(s.avg_total_user_cost * s.avg_user_impact * ( s.user_seeks
+ s.user_scans ),
0) AS [Total Cost] ,
s.avg_total_user_cost * ( s.avg_user_impact / 100.0 ) * ( s.user_seeks
+ s.user_scans ) AS Improvement_Measure ,
DB_NAME() AS DatabaseName ,
d.[statement] AS [Table Name] ,
equality_columns ,
inequality_columns ,
included_columns
FROM sys.dm_db_missing_index_groups g
INNER JOIN sys.dm_db_missing_index_group_stats s ON s.group_handle = g.index_group_handle
INNER JOIN sys.dm_db_missing_index_details d ON d.index_handle = g.index_handle
WHERE s.avg_total_user_cost * ( s.avg_user_impact / 100.0 ) * ( s.user_seeks
+ s.user_scans ) > 10
ORDER BY [Total Cost] DESC ,
s.avg_total_user_cost * s.avg_user_impact * ( s.user_seeks
+ s.user_scans ) DESC
后续的结论需要你给出这些操作后的结果才能分析