转载本站文章请注明,转载自: 月影鹏鹏 [http://Jacky.Aiwaly.com]
本文链接: http://jk.aiwaly.com/wp/sql-server-log-shrink.html
ScanMon 鹏鹏工作室在近日维护一个sql-server数据库的又遇到了sql-server 的数据库日志不断增大最后把数据库存放的硬盘装满的问题,这次收缩一个22G大小的日志用时19分钟,鹏鹏工作室强烈sql-server的数据库管理员要注意数据库文件和日志文件的大小,避免产生超大的问题。
ScanMon在这里提醒大家的数据库的日志文件不可以直接删除,直接删除的后果是数据库无法启动!
A方法收缩整个数据库,在企业管理器里面操作的方法:
1、打开企业管理器
2、打开要处理的数据库
3、点击最上面菜单>工具>SQL查询 分析器,打开SQL查询分析器
4、在输入窗口里面输入:
Code:
DUMP TRANSACTION [数据库名] WITH NO_LOG
BACKUP LOG [数据库名] WITH NO_LOG
DBCC SHRINKDATABASE([数据库名])
具体实例例
比如收缩一个名为ScanMon的数据库
DUMP TRANSACTION [ ScanMon ] WITH NO_LOG
BACKUP LOG [ ScanMon ] WITH NO_LOG
DBCC SHRINKDATABASE(ScanMon])
B方法
还有一种方法根据这篇文章的方法如下 http://jk.scanmon.com/wp/sql-server-log-shrink.html
ScanMon 常使用的收缩日志问题方法:
–sql-server 2000 清空日志的方法–
–清空scanmon日志
DUMP TRANSACTION scanmon WITH NO_LOG
–截断 scanmon事务日志
BACKUP LOG scanmon WITH NO_LOG
select * from sysfiles
–收缩指定数据文件,2 是文件号,可以通过这个语句查询到:select * from sysfiles
DBCC SHRINKFILE( 2,200)
—————————-
ScanMon补充说明:
DBCC SHRINKFILE 命令压缩当前数据库中的文件。其语法如下:
DBCC SHRINKFILE ( {file_name | file_id }
{ [, target_size] |[, {EMPTYFILE | NOTRUNCATE | TRUNCATEONLY}] } )