码迷,mamicode.com
首页 > 数据库 > 详细

MS SQL Server 查看數據庫大小及壓縮Log文件

时间:2015-01-28 09:31:20      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

公司每月要統計人事數據庫的大小

下面是統計SQL Server數據庫大小的SQL語句:

SELECT
    DB_NAME(database_id) AS [Database Name],
    [Name] AS [Logical Name],
    ((size * 8) / 1024) AS [Size(MB)],--size的原始單位是bit,所以要先乘以8轉成Byte,再乘以1024轉成MByte。
    [differential_base_time] AS [Differential Base Time]
FROM sys.master_files
WHERE DB_NAME(database_id) IN(SmoothHR,HRreport,SmoothExchage);--‘SmoothHR‘,‘HRreport‘,‘SmoothExchage‘分別分數據庫名稱。

結果:

技术分享

可以看到SmoothHR_log較大,可以進行壓縮。

壓縮Log文件需要在簡單備份模式下進行,可以先看一下數據庫的日誌備份模式:

SELECT NAME, RECOVERY_MODEL_DESC FROM SYS.DATABASES WHERE NAME IN(SMOOTHHR,HRREPORT,SMOOTHEXCHAGE);

技术分享

可以看到全部為“FULL”(完全備份)模式,所以要先轉成簡單模式,再進行Log檔壓縮,完成後再恢復為完全備份模式:

USE SMOOTHHR
GO

ALTER DATABASE SMOOTHHR SET RECOVERY SIMPLE--如果是FULL(完全備份)模式,則设置简单恢复模式
GO

DBCC SHRINKFILE (SMOOTHHR_log, 10)--將LOG檔壓縮成10M
GO

ALTER DATABASE SMOOTHHR SET RECOVERY FULL--完成後再恢复为原來的FULL(完全備份)模式
GO

看到以下結果,表示成功了!

技术分享

這時再統計DB的大小,Log檔被成功壓縮:

技术分享

 

MS SQL Server 查看數據庫大小及壓縮Log文件

标签:

原文地址:http://www.cnblogs.com/diuleiloumou/p/4254954.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!