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

留言

這個網誌中的熱門文章

delivery note和delivery order的區別和翻譯

Eclipse 3.6.1 Helios 中文化方法

牙技專業英文--技工篇