資料庫用久了,記錄檔一定都會長的很大,
如果都有固定時做備份,其實就可把資料庫和記錄檔做一次清理和壓縮的動作。
DECLARE @Error INT
SET @Error=(SELECT TOP 1 size/128.0 - CAST(FILEPROPERTY([NAME], 'SpaceUsed') AS int)/128.0
AS AvailableSpaceInMB FROM sys.database_files ORDER BY [NAME] DESC)
--PRINT @Error
IF(@Error>1)
BEGIN
ALTER DATABASE WKProject_WKForVoucNo --資料庫名稱
SET RECOVERY SIMPLE; --設置為簡單模式
DBCC SHRINKFILE (LWProject_WK, 1); --資料庫邏輯名稱,初始大小(MB)
DBCC SHRINKFILE (LWProject_WK_log, 1); --記錄檔邏輯名稱,初始大小(MB)
ALTER DATABASE WKProject_WKForVoucNo
SET RECOVERY FULL; --回復為完整模式
END
--ELSE
--BEGIN
-- PRINT @Error
--END
--SELECT [name] FROM sys.database_files -- 可以取得資料庫和記錄檔的邏輯名稱
如果都有固定時做備份,其實就可把資料庫和記錄檔做一次清理和壓縮的動作。
DECLARE @Error INT
SET @Error=(SELECT TOP 1 size/128.0 - CAST(FILEPROPERTY([NAME], 'SpaceUsed') AS int)/128.0
AS AvailableSpaceInMB FROM sys.database_files ORDER BY [NAME] DESC)
--PRINT @Error
IF(@Error>1)
BEGIN
ALTER DATABASE WKProject_WKForVoucNo --資料庫名稱
SET RECOVERY SIMPLE; --設置為簡單模式
DBCC SHRINKFILE (LWProject_WK, 1); --資料庫邏輯名稱,初始大小(MB)
DBCC SHRINKFILE (LWProject_WK_log, 1); --記錄檔邏輯名稱,初始大小(MB)
ALTER DATABASE WKProject_WKForVoucNo
SET RECOVERY FULL; --回復為完整模式
END
--ELSE
--BEGIN
-- PRINT @Error
--END
--SELECT [name] FROM sys.database_files -- 可以取得資料庫和記錄檔的邏輯名稱
留言
張貼留言