DUMP TRANSACTION [資料庫名] WITH NO_LOG
BACKUP LOG [資料庫名] WITH NO_LOG
GUI 操作: 企業管理器 → 右鍵資料庫 → 所有工作 → 收縮資料庫 → 收縮檔案 → 選擇日誌/資料檔案 → 「收縮至 XX MB」→ 輸入允許的最小值。
T-SQL:
-- 收縮整個資料庫
DBCC SHRINKDATABASE([資料庫名])
-- 收縮指定檔案(1 為檔案號,可用 SELECT * FROM sysfiles 查詢)
DBCC SHRINKFILE(1)
EXEC sp_detach_db @dbname = 'pubs'EXEC sp_attach_single_file_db @dbname = 'pubs', @physname = '路徑\pubs.mdf'⚠️ 此法會產生新的 500KB 左右日誌,**僅限緊急救援**,生產環境慎用。
-- GUI:資料庫屬性 → 選項 → 勾選「自動收縮」
-- T-SQL:
EXEC sp_dboption '資料庫名', 'autoshrink', 'TRUE'
-- GUI:資料庫屬性 → 交易日誌 → 限制檔案成長
-- T-SQL:
ALTER DATABASE [資料庫名] MODIFY FILE (NAME = 邏輯檔名, MAXSIZE = 20MB)
DUMP TRANSACTION [jb51] WITH NO_LOG
BACKUP LOG [jb51] WITH NO_LOG
DBCC SHRINKDATABASE([jb51])
將 jb51 替換為實際資料庫名即可。