當前位置:首頁 » 編程語言 » sql2008清理日誌

sql2008清理日誌

發布時間: 2024-10-18 18:38:37

『壹』 sql2008下的鏡像資料庫怎樣做日誌收縮

這個問題我前幾天正好碰上,所以,相關的關鍵點告訴你

**********特別提示:《在操作之前請備份》************:
1、SQL SERVER 2008 的日誌會越來越大,如果是用於生產的,可能會大到可怕,反正我的資料庫,前幾天一看,不到1個月就十多個G的日誌文件。
2、要收縮、清除其實很簡單,關鍵點就一個:先把資料庫的恢復模式從默認的「完整」改為「簡單」。具體做法:對資料庫點 右鍵 -》屬性-》左邊 選擇頁 中 點 「選項」-》找到 「恢復模式」,改成「簡單」。
3、然後對資料庫點 右鍵 -》任務-》收縮 -》文件 -》出來的界面中,文件類型 選 「日誌」,點「確定」鈕-》OK了。
4、再次提示,在操作之前請備份,雖然我在操作中沒有碰上任務問題,但不保證你不出問題。
5、至於日誌文件縮完了,你是否要把它改回「完整」模式,你自個看著辦,我是讓它一直簡單,因為,以我的技術,要真的資料庫崩潰了,有日誌問題也是「然並卵」,反正我是一天自動兩次異盤備份,加每二小時增量備份,最後再加雙機熱備(用軟體實現的,那個軟體據說要賣幾萬一套,具體叫什麼就不說了,省得別人說我打廣告,呵呵)。
6、看了一下微軟的資料庫鏡像實現方案相關的東西,感覺太難了,不靠譜,有興趣你可以去試試。
7、最後,順便說,資料庫的恢復模式的選擇,對當前資料庫的運行應該是沒有什麼影響的,也許對於會用日誌文件進行數據查看和調整的人有用。

『貳』 怎樣清理或者刪除MSSQL資料庫日誌文件

資料庫的性能是DBA都需要重點關注的,日誌文件的增多嚴重影響資料庫的性能,本文將為您介紹SQLServer刪除日誌文件的方法,供您參考,希望對您有所幫助。

資料庫在使用過程中會使日誌文件不斷增加,使得資料庫的性能下降,並且佔用大量的磁碟空間。SQL Server資料庫都有log文件,log文件記錄用戶對資料庫修改的操作。可以通過直接刪除log文件和清空日誌在清除資料庫日誌。

1、刪除LOG

1.1 分離資料庫

分離資料庫之前一定要做好資料庫的全備份,選擇資料庫——右鍵——任務——分離。

附加資料庫之後將生成新的日誌文件log,新的日誌文件的大小事504K。

1.4 也可以通過命令才完成以上的操作

use master;
exec sp_detach_db @dbname='資料庫名';
exec sp_attach_single_file_db @dbname='資料庫名',@physname='D:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATATestDB.mdf'

Sp_detach_db:分離資料庫;

sp_attach_single_file_db:附加單個資料庫文件;在上述代碼中只附加了數據文件,而未附加日誌文件,言下之意就是刪除了日誌文件。

該命令在SQL Server 2005和2000支持,SQL Server 2008不支持該命令。

2. 清空日誌

DUMP TRANSACTION 資料庫名 WITH NO_LOG

3. 收縮資料庫文件

DBCC SHRINKFILE ('TestDB_log',1)

SQL Server中「數據收縮」詳解

4. 截斷事務日誌

BACKUP LOG TestDB WITH NO_LOG

該命令在SQL Server 2008也是不支持,在SQL Server 2005和2000可以使用。

『叄』 如何清空 SQL 伺服器事務處理日誌

這里的事務日誌清理是指截斷事務日誌並釋放空間。
操作方法:
1、通過備份事務日誌進行截斷
備份時的默認選項就是Truncate the transaction log(截斷事務日誌),備份完成後,事務日誌就會自動被截斷,但這時你查看日誌文件的大小還是和原來一樣。所以,需要通過第二步釋放日誌文件佔用的空間。
2、通過收縮日誌文件釋放日誌文件佔用的空間
將恢復模式由完整(Full)改為簡單(Simple)
收縮(Shrink)日誌文件
將恢復模式由簡單(Simple)改為完整(Full)
3、收縮資料庫(Shrink database)

『肆』 SQL SERVER2008 R2 求教,故障日誌不斷增大,撐爆

一、簡單回答:

1、改你的SQL SERVER2008 R2中的工作資料庫的模式為簡單。(打開SQL的管理器,對相關資料庫點右鍵,點 屬性 -》選項-》「恢復模式」右邊的下拉,改為「簡單」)。

2、對相關資料庫點右鍵,點「任務」-》「收縮」-》「文件」-》文件類型 那兒 改 日誌,然後點「確定」。

3、如果需要每天讓SQL SERVER2008 R2自個清理,請編寫SQL的定時任務SQL Server代理 里的(作業)。關鍵語句:

DBCCSHRINKFILE(N'你的資料庫的Log文件的名稱',宏禪0,TRUNCATEONLY)

---------------------------------------------------------

4、特別提示,如果你的資料庫需要高級別的安全,那就不要隨意改動蔽頌塵「恢復模式」,或在收縮清理完日誌後改回「恢復模式」為「完全」。在「完全」模式下,SQL SERVER2008 R2的日誌文件無法被清理收縮。日誌文件一但收縮,以前的日誌記錄就不在了,超級高手也無法對資料庫中數據近期的改動進行分析。

二、相關知識:

1、SQL SERVER2008 R2沒有故障日誌,它有的只是日誌,默認情況下,SQL SERVER2008 R2會記錄資料庫的所有變化到日誌中。所以,請不說它是故障日誌。

2、對於絕大多普通級別的數人來說,這個日誌基本上沒什麼用。僅少數超級高手在特定情況下可以用這些日誌還原早先的數據。比如資料庫某個表被人惡意改動了,要找回到沒有改動前的狀態。特別說明,這櫻緩只是理論上說可行,實際上,要視具體情況,因為不是你問的話題在這里就不進一步討論。

『伍』 sqlserver2008和sqlserver2012日誌文件過大,有什麼方法清理嗎

清理sql server 2008日誌步驟如下: 1.將資料庫設置成 簡單 模式 選擇要收縮的資料庫,點右鍵 屬性->選項,選擇 簡單模式 2.選擇任務->收縮->文件 3.選擇日誌 或者用如下語句 代碼 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要清理日誌使用的是mp語句,但是在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 <db_name> to disk=<'backupfilename'> DBCC SHRINKFILE (<log_filename>,10) GO 裡面的x:\work是隨意設置的。當然也可以收縮到比如5M或1M。 在用的: USE[master] GO _WAIT GO --簡單模式 GO USEYHDB GO DBCCSHRINKFILE(N'YHDB_log', 11,TRUNCATEONLY) GO USE[master] GO _WAIT GO --還原為完全模式 GO

『陸』 sql server 2008怎麼清空日誌

SQL Server 2008清空刪除日誌文件方法: 在SQL2008中清除日誌就必須在簡單模式下進行,等清除動作完畢再調回到完全模式。 打個SQL查詢分析器,在裡面輸入如下命令後執行即可: 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'DNName_Log' , 11, TRUNCATEONLY) GO '這里的DNName_Log 如果不知道在sys.database_files里是什麼名字的話,可以用以下注釋的語句進行查詢 'USE DNName 'GO 'SELECT file_id, nameFROM sys.database_files; 'GO USE [master] GO ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE DNName SET RECOVERY FULL --還原為完全模式 GO

熱點內容
sqlserver快照 發布:2024-10-18 21:13:30 瀏覽:983
梁打斷演算法 發布:2024-10-18 21:09:19 瀏覽:356
cfm掛機腳本 發布:2024-10-18 21:09:10 瀏覽:792
我的世界登錄進不去伺服器維護 發布:2024-10-18 21:09:09 瀏覽:168
微軟與java 發布:2024-10-18 21:07:52 瀏覽:289
一般解壓 發布:2024-10-18 21:06:21 瀏覽:391
雲伺服器優缺點 發布:2024-10-18 21:06:18 瀏覽:785
矢量圖里的存儲格式 發布:2024-10-18 20:57:17 瀏覽:968
thinkphp圖片壓縮 發布:2024-10-18 20:55:25 瀏覽:112
掃碼網站源碼 發布:2024-10-18 20:48:38 瀏覽:501