在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
方法三:(請提前備份文件!!)
Detach資料庫。
刪除log文件。
附加資料庫,選移除log文件,此時SQL Server 會自動重新建立一個512K 的Log 文件。
方法四:
USEBigData;
GO
BACKUPLOGDATABASENAMETODISK='d: est.bak'
--.
DBCCSHRINKFILE(Bigdata_Log,1);
GO
Ⅱ sql2008中如何收縮資料庫日誌文件
打開企業管理器SQL ServerManagement Studio,先備份資料庫,然後有兩個方法壓縮資料庫日誌文件:
方法一、
選擇資料庫,新建查詢,順序輸入語句並執行
1、ALTER DATABASE database_name SET RECOVERY SIMPLE
DBCC SHRINKDATABASE(database_name, 0)
2、ALTER DATABASE database_name SET RECOVERY FULL
方法二、
1、選擇資料庫
2、右鍵資料庫選屬性=》選項,將恢復模式改為簡單,確定
3、右鍵資料庫選任務=》收縮=》文件,文件類型選日誌,確定
4、回到第2步,恢復模式改為完整
Ⅲ sql 資料庫中WWALMDB_LOG太大,如何縮減
收縮數據或日誌文件
1.在對象資源管理器中,連接到 SQL Server 資料庫引擎實例,然後展開該實例。
2.展開「資料庫」,再右鍵單擊要收縮的資料庫。
3.依次指向「任務」和「收縮」,再單擊「文件」。
4.選擇文件類型和文件名。
5.根據需要,選中「釋放未使用的空間」復選框。
選中此選項後,將為操作系統釋放文件中所有未使用的空間,並將文件收縮到上次分配的區。這將減小文件的大小,但不移動任何數據。
6.根據需要,可以選中「在釋放未使用的空間前重新組織文件」復選框。如果選中此選項,則必須指定「將文件收縮到」值。默認情況下,該選項為清除狀態。
選中此選項後,將為操作系統釋放文件中所有未使用的空間,並嘗試將行重新定位到未分配頁。
7.根據需要,輸入在收縮資料庫後資料庫文件中要保留的最大可用空間百分比。值可以介於 0 和 99 之間。只有啟用「在釋放未使用的空間前重新組織文件」以後,此選項才可用。
8.根據需要,選中「通過將數據遷移到同一文件組中的其他文件來清空文件」復選框。
選中此選項後,將指定文件中的所有數據移至同一文件組中的其他文件中。然後就可以刪除空文件。此選項與執行包含 EMPTYFILE 選項 DBCC SHRINKFILE 相同。
9.單擊「確定」。
Ⅳ 資料庫日誌文件過大如何收縮
網頁鏈接我是用這個方法收縮的,可以將日誌收縮到1MB
守得雲開見月明,花了一個上午結合前輩的博客,終於弄好了sqlserver2008的資料庫日誌收縮到1MB,分享給大家
# 方法步驟
1、執行SQL語句改成「簡單模式」
2、收縮資料庫
3、執行SQL語句改回「完全模式」
## 第一步:執行SQL語句改成「簡單模式」
USE [master]
GO
ALTER DATABASE SlowXWebDB (改成你需要進行收縮的資料庫名) SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE SlowXWebDB (改成你需要進行收縮的資料庫名) SET RECOVERY SIMPLE --改成簡單模式
GO
## 第二步:進行資料庫操作
相關界面截圖和操作
假定:
資料庫名:SlowXWebDB
日誌文件名:SlowXWebDB_Log
## 第三步:執行SQL語句改成「完全模式」
USE [master]
GO
ALTER DATABASE SlowXWebDB (改成你需要進行收縮的資料庫名)SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE datebaseName(改成你需要進行收縮的資料庫名)SET RECOVERY FULL --還原為完全模式
GO
==最後不要忘記實測下資料庫是否能夠正常使用==
網頁鏈接
Ⅳ SQL Server 壓縮日誌及資料庫文件大小
請按步驟進行 未進行前面的步驟時 請不要做後面的步驟 以免損壞你的資料庫
一般不建議做第 兩步 第 步不安全 有可能損壞資料庫或丟失數據 第 步如果日誌達到上限 則以後的資料庫處理會失敗 在清理日誌後才能恢復
清空日誌
DUMP TRANSACTION 庫名 WITH NO_LOG
截斷事務日誌
BACKUP LOG 資料庫名 WITH NO_LOG
收縮資料庫文件(如果不壓縮 資料庫的文件不會減小
企業管理器 右鍵你要壓縮的資料庫 所有任務 收縮資料庫 收縮文件
選擇日誌文件 在收縮方式里選擇收縮至XXM 這里會給出一個允許收縮到的最小M數 直接輸入這個數 確定就可以了
選擇數據文件 在收縮方式里選擇收縮至XXM 這里會給出一個允許收縮到的最小M數 直接輸入這個數 確定就可以了
也可以用SQL語句來完成
收縮資料庫
DBCC SHRINKDATABASE(客戶資料)
收縮指定數據文件 是文件號 可以通過這個語句查詢到:
select * from sysfiles
DBCC SHRINKFILE( )
為了最大化的縮小日誌文件(如果是sql 這步只能在查詢分析器中進行)
a 分離資料庫:
企業管理器 伺服器 資料庫 右鍵 分離資料庫
b 在我的電腦中刪除LOG文件
c 附加資料庫:
企業管理器 伺服器 資料庫 右鍵 附加資料庫
此法將生成新的LOG 大小隻有 多K
或用代碼
下面的示例分離 pubs 然後將 pubs 中的一個文件附加到當前伺服器
a 分離
EXEC sp_detach_db @dbname = pubs
b 刪除日誌文件
c 再附加
EXEC sp_attach_single_file_db @dbname = pubs
@physname = c:/Program Files/Microsoft
SQL Server/MSSQL/Data/pubs mdf
為了以後能自動收縮 做如下設置
企業管理器 伺服器 右鍵資料庫 屬性 選項 選擇 自動收縮
SQL語句設置方式:
EXEC sp_dboption 資料庫名
autoshrink TRUE
如果想以後不讓它日誌增長得太大
企業管理器 伺服器 右鍵資料庫 屬性 事務日誌
將文件增長限制為xM(x是你允許的最大數據文件大小)
SQL語句的設置方式:
lishixin/Article/program/SQLServer/201311/22266
Ⅵ SQL server資料庫日誌滿了怎麼處理
一、刪除日誌文件。
二、手動收縮。操作如下:
1、在資料庫頁面中選擇「選項」;
Ⅶ sql server怎麼收縮日誌
一、確認恢復模式。以下是使用 SQL Server Management Studio 檢查資料庫的恢復模式。