SQL Server 2008下日志清理方法
1.將數據庫設置成 簡單 模式
選擇要收縮的數據庫,點右鍵 屬性->選項,選擇 簡單模式
2.選擇任務->收縮->文件
3.選擇日志
或者用如下語句
SQL Server 2008下日志清理方法代碼
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE
GO
USE DNName
GO
DBCC SHRINKFILE (N'LogFileName' , 0,TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY FULL
GO
SQL Server 2000要清理日志使用的是dump語句,但是在SQL Server2008里,這個語句不管用了,如果日志文件很大,比如超過1G,就需要截斷一下日志文件以加快sqlserver的運行速度,在SQL Server2008里,方法改為:
有數據庫 xxdb 在 SQL Server 2008 下,日志文件已經超過1G。
以往使用BACKUP語句-BACKUP LOG xxdb WITH NO_LOG 已經失效,在查閱 MSDN 之后發現 MS 提供的標準截斷日志語句已經變為了 “BACKUP LOG 語句不指定 WITH COPY_ONLY”
使用語句 BACKUP LOG xxdb to disk='x:\work\1.bak' 成功將日志文件備份,并截斷日志文件。這里x:代表你想要備份文件的盤符。
然后使用 DBCC SHRINKFILE (xxdb_log,10) 收縮日志文件到 10M
總結:
完整的收縮日志文件的 T-SQL 語句:
BACKUP LOG xxdb to disk='x:\work\1.bak'
DBCC SHRINKFILE (xxdb_log,10)
GO
--
BACKUP LOG to disk=<'backupfilename'>
DBCC SHRINKFILE (,10)
GO
里面的x:\work是隨意設置的。當然也可以收縮到比如5M或1M。
數據庫的數據是極其寶貴的,作為管理員的一項主要工作就是對數據庫按計劃進行備份,從而在性能和數據安全找個平衡。換句話說備份的目的就是防范可能的硬件故障,自然災害或數據被非法篡改。
備份可以分為完整備份,差異備份和事物日志備份。
完整備份備份整個數據庫,包含數據庫文件,這些文件的地址及事物日志中的從備份開始時記錄的日志順序號到備份結束時的日志順序號。完整備份是其他備份的基礎,沒有完整備份將無法進行差異備份和事物日志備份。
步驟:打開SQL Server Management Studio,展開服務器文件夾下的數據庫文件夾
右擊要備份的數據庫,選擇“屬性”選項
把“選項”頁面上的“恢復模式”改為“完整”,這步操作主要是為了保留日志,為接下來的事物日志備份做準備。
右擊需要做備份的數據庫,選擇“任務”、“備份”,在“備份數據庫”對話框中選擇“備份類型”為“完整”。
選擇備份設備
在“選項”頁面上選擇“覆蓋所有的現有備份集”,從而初始化嶄新的設備或覆蓋現有的設備
建議選取“完成后驗證備份”來核對實際數據庫與備份副本以保證一致性
單擊“確定”開始備份
備份完成后可以查看一下,打開SQL Server Management Studio下的“對象資源管理器”,展開“服務器對象”下的“備份設備”,右擊設備選擇“屬性”選項,在“媒體內容”頁面上看到我們作的備份
差異備份記錄自上一個完整備份后數據庫發生的所有變化,與事物日志備份的區別就是差異備份始終以上一個完整備份為起點,而事物日志備份是以上一次備份為起點的。當執行差異備份時SQL Server讀取上一次完整備份的最后日志順序號,并找出自上次完整備份后發生變化的頁面,并對發生變化所在頁面的整個盤區(Extent)進行備份。
步驟:打開SQL Server Management Studio,展開服務器文件夾下的數據庫文件夾
右擊需要做備份的數據庫,選擇“任務”、“備份”,在“備份數據庫”對話框中選擇“備份類型”為“差異”。
選擇備份設備
在“選項”頁面上選擇“追加到現有備份集”,不覆蓋現有的完整備份,不要選擇“覆蓋所有的現有備份集”從而避免覆蓋現有的完整備份。
建議選取“完成后驗證備份”來核對實際數據庫與備份副本以保證一致性
單擊“確定”開始備份
最后一種是事物日志備份,事物日志備份依賴于完整備份但并不備份數據庫本身,只備份事物日志中自上一個事物日志備份以來發生變化的部分。
關于事物日志再多提一點,在數據庫使用完全或批量日志恢復模型時,事物日志備份是唯一能從事物日志中清除舊事物日志的方式,當數據庫使用簡單恢復模型時完整備份與差異備份才能清除事物日志。
步驟:打開SQL Server Management Studio,展開服務器文件夾下的數據庫文件夾
右擊需要做備份的數據庫,選擇“任務”、“備份”,在“備份數據庫”對話框中選擇“備份類型”為“事物日志”。
選擇備份設備
在“選項”頁面上選擇“追加到現有備份集”,不覆蓋現有的完整備份,不要選擇“覆蓋所有的現有備份集”從而避免覆蓋現有的完整備份。
建議選取“完成后驗證備份”來核對實際數據庫與備份副本以保證一致性
單擊“確定”開始備份
常見的備份主要是以上三種,除此以外,在大型數據庫中還有一種選擇:文件組備份,每次只從數據庫中備份一小部分,在本文不對文件組備份作討論。
備份策略的設計
相比較幾種備份方式,用一句話形容就是存在即合理,每種備份方式都有其優缺點和適應范圍,要根據實際工作具體考慮
純完整備份優點是恢復過程是所有策略中最快的,相對的,它的備份過程也是所有策略中最慢的,另外,純完整備份無法清除事物日志(使用完全或批量恢復模型且保留時間點恢復功能),作為補充可以使用TRUNCATE_ONLY從句執行一個事物日志備份,僅清空而不備份事物日志。
完整&差異備份優點是恢復過程是所有策略中較快的,同時它的備份過程也不是所有策略中最慢的,此外,完整&差異備份同樣無法清除事物日志(使用完全或批量恢復模型且保留時間點恢復功能),可以使用TRUNCATE_ONLY從句執行一個事物日志備份,僅清空而不備份事物日志。
完整&事物日志備份優點是備份過程比完整&差異備份快但它的恢復是最麻煩的,完整&事物日志備份能夠清除事物日志,是任何一種數據庫備份策略所必不可缺的。