搜尋此網誌

2014年12月27日 星期六

如何清除交易記錄

參考原文:http://vito-sql.blogspot.tw/2013/07/blog-post_9.html

SQL 資料庫系統的 Log記錄檔,會隨著系統的使用,不停的成長。

在 SQL 2005 前(含),使用 Backup log 來清除(Truncate)交易記錄。

--(1)truncate log in log file
BACKUP LOG [DBName] WITH TRUNCATE_ONLY
 
--(2)compress log file
DBCC SHRINKFILE([DBName_log],2


BACKUP LOG 指令原本是用來備份 log 用的,因為加上了 WITH TRUNCATE_ONLY 選項,
所以不會真正備份記錄檔,只會移除非使用的交易記錄。

DBCC SHRINKFILE 是把實體的Log檔案縮小,可是只要資料繼續異動,Log檔就又會繼續長大。
比較正確的作法,是執行 LOG 備份時,加上 WITH NO_LOG 選項以便同時清除Log內容。
這樣子,在清除Log後,雖然Log檔案大小不變,但內容是空的,可提供資料異動時的Log使用。
1
2
3
BACKUP LOG TestDB_Log WITH NO_LOG;

在 SQL 2008 環境下,上述用法已被停用,須改用「復原模式」為「簡單」來清空交易記錄。

--1) 將資料庫 Northwind 切換為「簡單復原模式」,便會自動截斷交易記錄。
ALTER DATABASE TestDB SET RECOVERY SIMPLE  
 
--2) 壓縮交易記錄檔
DBCC SHRINKFILE(TestDB_Log, 2)
 
--3) 若要使用備份交易記錄檔(*.ldf),再將資料庫 Northwind 切換回「完整復原模式」
ALTER DATABASE TestDB SET RECOVERY FULL  


2014年12月15日 星期一

2014年12月4日 星期四

Windows Server Time Sync

Create a .bat
Include:

w32tm /config /update /manualpeerlist:time.windows.com
w32tm /resync



可用來校正時間的伺服器很多, 可以試下面的看看.
time.windows.com
nist1-ny.glassey.com
utcnist.colorado.edu
time.nist.gov
time-a.nist.gov
time-b.nist.gov

搜尋此網誌