收缩数据库的日志文件

操作命令:

  现在我一个库ASFCORE的日志文件已经达到30G了,数据文件为1G,如果要收缩日志文件,则执行如下命令即可!

1. 查看数据库(ASFCORE)的recovery_model_desc类型
SELECT NAME, recovery_model_desc FROM sys.databases

2. 如果是FULL类型,修改为SIMPLE类型  
--ALTER DATABASE CollectionDB SET Recovery simple

3. 检查日志文件名称
SELECT NAME, size FROM sys.database_files

4. 收缩日志文件大小(单位是M)
--DBCC SHRINKFILE (N'CollectionDB_log' , 10)

5. 恢复成FULL类型
--ALTER DATABASE CollectionDB SET Recovery FULL

建议:

1、在系统使用率较低时运行 CHECKDB。

2、请确保未同时执行其它磁盘 I/O 操作,例如磁盘备份。

3、将 tempdb 放到单独的磁盘系统或快速磁盘子系统中。

4、允许 tempdb 在驱动器上有足够的扩展空间。 使用带有 ESTIMATE ONLY 的 DBCC估计 tempdb 将需要多少空间。

5、避免运行占用大量 CPU 的查询或批处理作业。

6、在 DBCC 命令运行时,减少活动事务。

7、使用 NO_INFOMSGS 选项显著减少处理和 tempdb 的使用。

8、考虑使用带有 PHYSICAL_ONLY 选项的 DBCC CHECKDB 来检查页和记录首部的物理结构。当硬件导致的错误被置疑时,这个操作将执行快速检查。

猜你喜欢

转载自oracle-api.iteye.com/blog/2186412