SQL Server 備份 清除 LOG
DECLARE @HandleDBName NVARCHAR(MAX),
@BackupFilePath NVARCHAR(MAX)
SET @HandleDBName = N'DREP_ENT'
SET @BackupFilePath = 'D:\AVMS_DB_Source\LogBack\' + @HandleDBName + '_' + REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR,GETDATE(), 20), '-', ''), ' ' ,''), ':', '') + '.LOG'
USE master
GO
-- 備份目前的 log
BACKUP LOG DREP_ENT TO DISK=''' + @BackupFilePath + '''
--將資料庫復原模式切換到簡單模式
ALTER DATABASE DREP_ENT SET RECOVERY SIMPLE WITH NO_WAIT
-- 找到 DatabaseNameLog 的值
USE DREP_ENT
GO
DECLARE @DBLogName VARCHAR(MAX)
SELECT @DBLogName = name FROM [sys].[database_files] WHERE type_desc = 'log'
--縮減 log file 到 1MB
DBCC SHRINKFILE(@DBLogName, 1)
--將資料庫復原模式切換到完整模式
USE [master]
GO
ALTER DATABASE DREP_ENT SET RECOVERY FULL WITH NO_WAIT
Ref:http://charlesbc.blogspot.tw/2011/01/sql-server-log.html
留言
張貼留言