當前位置:首頁 » 編程語言 » sql2005收縮資料庫

sql2005收縮資料庫

發布時間: 2025-10-04 17:45:15

1. 如何清理sql 2005的日誌文件

SQLSERVER的資料庫日誌佔用很大的空間,下面提供三種方法用於清除無用的資料庫日誌文件
方法一:
1、打開查詢分析器,輸入命令
BACKUP LOG database_name WITH NO_LOG
2、再打開企業管理器--右鍵要壓縮的資料庫--所有任務--收縮資料庫--收縮文件--選擇日誌文件--在收縮方式里選擇收縮至xxm,這里會給出一個允許收縮到的最小m數,直接輸入這個數,確定就可以了。

方法二:
設置檢查點,自動截斷日誌

一般情況下,SQL資料庫的收縮並不能很大程度上減小資料庫大小,其主要作用是收縮日誌大小,應當定期進行此操作以免資料庫日誌過大
1、設置資料庫模式為簡單模式:打開SQL企業管理器,在控制台根目錄中依次點開Microsoft SQL Server-->SQL Server組-->雙擊打開你的伺服器-->雙擊打開資料庫目錄-->選擇你的資料庫名稱(如用戶資料庫cwbase1)-->然後點擊右鍵選擇屬性-->選擇選項-->在故障還原的模式中選擇「簡單」,然後按確定保存
2、在當前資料庫上點右鍵,看所有任務中的收縮資料庫,一般裡面的默認設置不用調整,直接點確定
3、收縮資料庫完成後,建議將您的資料庫屬性重新設置為標准模式,操作方法同第一點,因為日誌在一些異常情況下往往是恢復資料庫的重要依據

方法三:通過SQL收縮日誌

把代碼復制到查詢分析器里,然後修改其中的3個參數(資料庫名,日誌文件名,和目標日誌文件的大小),運行即可

2. SQL2005資料庫日誌文件LOG太大怎麼辦

Sqlserver2005下,日誌文件太大,使其減小的方法。
在打開SQL Server Management Studio並正常聯接SQL伺服器後,運行下面的三行:
( 注意將dbName代換為你的資料庫名。)
backup log dbName with NO_LOG
backup log dbName with TRUNCATE_ONLY
DBCC SHRINKDATABASE(dbName)

注意,在SQL 2008之後的版本以上方法無效,需將資料庫設為簡單模式後再進行收縮。

此外,在SQL Server Management Studio中,以視窗方法操作也可以,操作步驟:
第一步:截斷資料庫日誌,運行代碼:
BACKUP LOG 要收縮的資料庫名 WITH NO_LOG
第二步:收縮資料庫日誌文件:
1. 選擇要收縮的資料庫,點右鍵選擇任務-收縮-文件

2. 在彈出的頁面中,選擇文件類型為日誌

3.點確定。

3. 如何清空sql server 2005日誌文件

SQL Server資料庫長期使用後,日誌文件可能會變得非常大,佔用大量的系統資源,甚至可能導致「日誌滿」錯誤,使資料庫不可用。在這種情況下,我們需要定期清理資料庫。

清理SQL Server資料庫日誌的方法有幾種。最常用的方法是清空日誌。具體步驟如下:

1. 打開查詢分析器,輸入命令「DUMP TRANSACTION 資料庫名 WITH NO_LOG」,這將清空當前事務日誌。

2. 使用企業管理器,右鍵點擊你要壓縮的資料庫,選擇「所有任務」下的「收縮資料庫」選項,再選擇「收縮文件」,然後選擇日誌文件。在收縮方式中選擇「收縮至」,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定即可。

另一種方法雖然能夠生成新的日誌文件,但有一定的風險,因為SQL Server的日誌文件不是即時寫入資料庫主文件的。如果不當操作可能會導致數據丟失。

具體步驟如下:

1. 首先分離資料庫。在企業管理器中,選擇伺服器,然後選擇資料庫,右鍵點擊,選擇「分離資料庫」。

2. 刪除日誌文件。在企業管理器中,選擇伺服器,然後選擇資料庫,右鍵點擊,選擇「附加資料庫」。這將生成新的日誌文件,其大小通常只有500多K。

對於SQL 2000以下版本,可以使用以下方法防止日誌文件過大:

1. 在資料庫上右鍵點擊,選擇「屬性」,在「選項」中選擇「故障恢復-模型」,然後選擇「簡單模型」。

2. 使用SQL語句:「ALTER DATABASE 資料庫名 SET RECOVERY SIMPLE」。

此外,資料庫屬性中還包含與事務日誌增長相關的兩個選項:

1. Truncate log on checkpoint(此選項適用於SQL 7.0,SQL 2000中即故障恢復模型選擇為簡單模型)。當執行CHECKPOINT命令時,如果事務日誌文件超過其大小的70%,則將其內容清除。開發資料庫時常常將此選項設置為True,當資料庫文件或日誌文件的未用空間超過其大小的25%時,系統將自動縮減文件使其未用空間等於25%。當文件大小沒有超過其建立時的初始大小時,不會縮減文件。縮減後的文件也必須大於或等於其初始大小。對事務日誌文件的縮減只有在對其作備份時或將Truncate log on checkpoint選項設為True時才能進行。

需要注意的是,一般立成建立的資料庫默認屬性已設好,但如果遇到意外情況使資料庫屬性被更改,請用戶在清空日誌後,檢查資料庫的以上屬性,以防事務日誌再次充滿。

4. sql收縮資料庫日誌的幾種辦法

在SQL Server 2000/2005中可以快速壓縮日誌log文件,通過SQL,

方法一:

--BigData為資料庫名
DUMPTRANSACTIONBigDataWITHNO_LOG
BACKUPLOGBigDataWITHNO_LOG
DBCCSHRINKDATABASE(BigData)

執行以上語句可以快速壓縮日誌文件到1M。

但是以上語句中前兩行在SQL Server 2008下無法執行 ,

第一行提示「Incorrect syntax near the keyword 'TRANSACTION'.」

第二行提示「One or more of the options (no_log) are not supported for this statement. Review the documentation for supported options. 」

第三行可以執行。但日誌log文件沒有任何變化。

原來SQL Server 2008已經不再支持DUMPTRANSACTION和BACKUP LOG WITH NO_LOG,

sql Server 2005說明中明確:包含 DUMP 語句是為了向後兼容。而 後續版本的 Microsoft SQL Server 將刪除該功能。請避免在新的開發工作中使用該功能,並著手修改當前還在使用該功能的應用程序。 使用 BACKUP。

SQL Server 2008說明:BACKUP LOG WITH NO_LOG 和 WITH TRUNCATE_ONLY 選項已廢止。使用完整恢復模式或大容量日誌恢復模式時,如果必須刪除資料庫中的日誌備份鏈,請切換至簡單恢復模式。有關詳細信息,請參閱有關從完整恢復模式或大容量日誌恢復模式切換的注意事項。

方法二:

useDB_NAME
sp_dboptionDB_NAME,"trunc.logonchkpt.",true
checkpoint
sp_dboptionDB_NAME,"autoshrink",true

方法三:(請提前備份文件!!)

  1. Detach資料庫。

  2. 刪除log文件。

  3. 附加資料庫,選移除log文件,此時SQL Server 會自動重新建立一個512K 的Log 文件。

方法四:

USEBigData;
GO
BACKUPLOGDATABASENAMETODISK='d: est.bak'
--.
DBCCSHRINKFILE(Bigdata_Log,1);
GO

5. 如何清空sql server 2005日誌文件

sql server資料庫使用時間長了,日誌文件會很大,佔用過多系統資源,資料庫可能會報 log full 的錯誤,甚至磁碟空間占滿讓資料庫處於不可用狀態,這個時候我們需要清理資料庫:
清理sql server資料庫日誌可用兩種方法:
方法一:清空日誌。
1、打開查詢分析器,輸入命令DUMP TRANSACTION 資料庫名 WITH NO_LOG
2、再打開企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件--選擇日誌文件--在收縮方式里選擇收縮至: ,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了。
方法二:有一定的風險性,因為SQL SERVER的日誌文件不是即時寫入資料庫主文件的,如處理不當,會造成數據的損失。
1、刪除LOG
分離資料庫 企業管理器->伺服器->資料庫->右鍵->分離資料庫
2、刪除LOG文件
附加資料庫 企業管理器->伺服器->資料庫->右鍵->附加資料庫
此法生成新的LOG,大小隻有500多K。
注意:建議使用第一種方法。
如果以後,不想要它變大。
SQL2000下使用:
在資料庫上點右鍵->屬性->選項->故障恢復-模型-選擇-簡單模型。
或用SQL語句:alter database 資料庫名 set recovery simple
另外,資料庫屬性有兩個選項,與事務日誌的增長有關:
Truncate log on checkpoint
(此選項用於SQL7.0,SQL 2000中即故障恢復模型選擇為簡單模型)
當執行CHECKPOINT 命令時如果事務日誌文件超過其大小的70% 則將其內容清除在開發資料庫時時常將此選項設置為True
定期對資料庫進行檢查當資料庫文件或日誌文件的未用空間超過其大小的25%時,系統將會自動縮減文件使其未用空間等於25% 當文件大小沒有超過其建立時的初始大小時不會縮減文件縮減後的文件也必須大於或等於其初始大小對事務日誌文件的縮減只有在對其作備份時或將Truncate log on checkpoint 選項設為True 時才能進行。
注意:一般立成建立的資料庫默認屬性已設好,但碰到意外情況使資料庫屬性被更改,請用戶清空日誌後,檢查資料庫的以上屬性,以防事務日誌再次充滿。

熱點內容
c語言頭文件自定義 發布:2025-10-04 19:34:47 瀏覽:449
密碼箱打不開了怎麼弄 發布:2025-10-04 19:27:40 瀏覽:67
php獲取當前時間時間戳 發布:2025-10-04 19:21:22 瀏覽:335
我的世界行屍走肉崛起伺服器的ip 發布:2025-10-04 19:21:21 瀏覽:562
安卓手機如何關閉麥克 發布:2025-10-04 19:12:00 瀏覽:779
linuxloginas 發布:2025-10-04 19:02:07 瀏覽:315
python文件格式編碼 發布:2025-10-04 19:00:53 瀏覽:965
區域網中ftp伺服器 發布:2025-10-04 19:00:07 瀏覽:133
油泵壓縮機 發布:2025-10-04 18:58:23 瀏覽:42
webview緩存清除緩存 發布:2025-10-04 18:51:34 瀏覽:810