27,580
社区成员
发帖
与我相关
我的任务
分享
方法1、--在查询分析器,选中所要清理日志的数据库,
执行如下SQLbackup log 数据库名 with no_logDBCC SHRINKFILE ( 日志文件名或日志文件ID,要缩小的目标大小)
--在当前数据库下select fileid,groupid,name from sysfiles where groupid=0
/*----------------------------------------
得到以下结果fileid groupid name 2 0 test_log */
--以上结果,fileid为日志文件ID,name为test_log
--你可以backup log test with no_logdbcc shrinkfile (2,2)orbackup log test with no_logdbcc shrinkfile ('test_log',2)
--***********************************************************************************************
--如果以后,不想要它变大,在数据库上点右键->属性->选项->故障恢复 模型->简单模型就可以了!
--或用SQL语句alter database 数据库名 set recovery simple
--************************************************************************************************
如果把还原模型调到简单,这样就不支持时间点还原了,但是日志文件会很小,如果数据比较重要推荐还是把数据库的还原模型调为完全。
--************************************************************************************************
方法2、企业管理器—>右键数据库—>所有任务—>收缩数据库—>文件按钮—>选中日志文件—>设置收缩操作选项—>确定。
方法3、SQL SERVER企业管理器-》SQL SERVER组-》服务器-》数据库-》选中数据库实体-》右键-》所有任务-》分离数据库,
然后到数据库所在物理路径下删除.ldf文件,再数据库右键-》所有任务-》附加数据库,即可.
SQL Server:收缩 SQL Server Tempdb 大小
系统管理员报告说,SQL Server Tempdb 数据库文件占用了大量的磁盘空间。让解决下。
查看 MS-SQL Tempdb 所占空间大小。
exec sp_helpdb tempdb
发现 Tempdb 数据文件大小有 10G,Tempdb 日志文件大小有 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 就恢复到创建数据库时的初始大小了。