ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 收缩 SQL Server Tempdb

收缩 SQL Server Tempdb

原创 Linux操作系统 作者:davissun 时间:2009-09-18 16:53:31 0 删除 编辑

#2楼 得分:0回复于:2009-08-21 10:17:30

SQL Server:收缩 SQL Server Tempdb 大小
系统管理员报告说,SQL Server Tempdb 数据库文件占用了大量的磁盘空间。让解决下。

查看 MS-SQL Tempdb 所占空间大小。
exec sp_helpdb tempdb
发现 Tempdb 数据文件大小有 10GTempdb 日志文件大小有 2G

收缩 MS-SQL Tempdb 大小。
收缩 MS-SQL Tempdb 大小,我一般采用 dbcc shrinkfile() 命令。
它作用在数据库文件上,可以最大限度的收缩 Tempdb 数据库。

use tempdb
go

dbcc shrinkfile(tempdev, 1024)
想把 Tempdb 数据文件(逻辑文件名为 tempdev)收缩到 1024MB。结果只能缩小到 6556 MB

use tempdb
go

dbcc shrinkfile(templog, 512)
很顺利就把 Tempdb 日志文件大小(逻辑文件名为 tempdev)缩小到 512M 左右。

如果条件允许的话,你也可以重启 SQL Server,这样 Tempdb 就恢复到创建数据库时的初始大小了。

 

 

  •  

 


重启sql 服务可以恢复tempdb原始大小
移动tempdbd:\

use master;
go
alter database tempdb
modify file (name = tempdev,filename='d:\tempdbmodified.mdf');
go
alter database tempdb
modify file (name = templog,filename='d:\templogmodified.ldf');
go

 

 

  •  

#12楼 得分:0回复于:2009-08-21 14:43:05


不好意思,汇总一下楼上的几位的思想,如果你这个是生产环境,为了长远考虑,建议如下:


step 1:
日志模式设为简单,并将自动输增长改为每次增长 200M左右。

step 2:重启sql 服务可以恢复tempdb原始大小

step 3:
移动tempdbd:\

use master;
go
alter database tempdb
modify file (name = tempdev,filename='d:\tempdbmodified.mdf');
go
alter database tempdb
modify file (name = templog,filename='d:\templogmodified.ldf');
go

step 4:
别外看来你的系统临时数据生成的比较大,可以增加多个数据文件,可以放在不同的Raid盘上,并且的一定将空间预先手动扩到需要的大小。

step 5:数据库安装很忌讳将系统数据库安装在跟操作系统一个物理盘下,看来你的master等数据库也在C盘下。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13158758/viewspace-615017/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-04-27

  • 博文量
    17
  • 访问量
    7379