第一步:運行下面SQL
select 'select '''+[name]+''' dbmc,[name],[filename],convert(float,size) * (8192.0/1024.0)/1024 sizes from ['+[name]+'].dbo.sysfiles union all' From master.dbo.sysdatabases where dbid>4
第二步:拷貝第一步運行結果到下面語句括號裏面
select dbmc 數據庫名稱,[name] 邏輯名稱,[filename] 文件路徑,case when sizes>1024 then cast(Round(sizes/1024.00,3) as nvarchar(20))+' G' else cast(Round(sizes/1.00,3) as varchar(20))+' M' end 文件大小 from(拷貝第一步運行所有結果去除最後一個 union all ) dballs
運行結果:
第三步:清理日誌(把下面test換爲你的數據庫名稱)
declare @dbName nvarchar(20);
set @dbName='test';
DUMP TRANSACTION @dbName WITH NO_LOG;
-- 第二步:截斷事務日誌
BACKUP LOG @dbName WITH NO_LOG
-- 第三步:收縮數據庫
dbcc SHRINKDATABASE (@dbName)