sql-server – 在生产环境中收缩Tempdb的最佳实践
发布时间:2020-12-12 05:51:56 所属栏目:MsSql教程 来源:网络整理
导读:在SQL Server 2008中缩小临时数据库时使用的最佳做法是什么? 使用以下内容有风险吗? use tempdbGODBCC FREEPROCCACHE -- clean cacheDBCC DROPCLEANBUFFERS -- clean buffersDBCC FREESYSTEMCACHE ('ALL') -- clean system cacheDBCC FREESESSIONCACHE -- c
在SQL Server 2008中缩小临时数据库时使用的最佳做法是什么?
使用以下内容有风险吗? use tempdb GO DBCC FREEPROCCACHE -- clean cache DBCC DROPCLEANBUFFERS -- clean buffers DBCC FREESYSTEMCACHE ('ALL') -- clean system cache DBCC FREESESSIONCACHE -- clean session cache DBCC SHRINKDATABASE(tempdb,10); -- shrink tempdb dbcc shrinkfile ('tempdev') -- shrink db file dbcc shrinkfile ('templog') -- shrink log file GO -- report the new file sizes SELECT name,size FROM sys.master_files WHERE database_id = DB_ID(N'tempdb'); GO 解决方法最佳做法是主动监视Tempdb的正常使用情况并相应地设置大小.如果这是Tempdb已经增长到这样大小并且它是PROD env的一种情况,我将在每周维护期间重新启动SQL Server服务.在Tempdb之后会回到其配置的大小. 只要没有使用Tempdb,缩小文件就可以了,否则由于阻塞和死锁,现有的事务可能会从性能的角度受到影响. 清理过程缓存,缓冲区缓存等将对数据库性能本身产生负面影响,直到不重新创建它们.我不会在PROD上这样做. 希望有所帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |