MS SQL Server 查看數據庫大小及壓縮Log文件
公司每月要統計人事數據庫的大小
下面是統計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檔被成功壓縮:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。