sqlserver2008日誌收縮
A. 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、對於絕大多普通級別的數人來說,這個日誌基本上沒什麼用。僅少數超級高手在特定情況下可以用這些日誌還原早先的數據。比如資料庫某個表被人惡意改動了,要找回到沒有改動前的狀態。特別說明,這櫻緩只是理論上說可行,實際上,要視具體情況,因為不是你問的話題在這里就不進一步討論。
B. sql server怎麼收縮日誌
1、首先選中資料庫右鍵--屬性 點擊
C. 資料庫日誌文件過大如何收縮
網頁鏈接我是用這個方法收縮的,可以將日誌收縮到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
==最後不要忘記實測下資料庫是否能夠正常使用==
網頁鏈接
D. sql server怎麼收縮日誌
一、確認恢復模式。以下是使用 SQL Server Management Studio 檢查資料庫的恢復模式。
E. Sql server2008的ldf文件過大怎麼收縮
在SQL Server中經常遇到事務日誌變大的情況,除了將資料庫設置為「自動收縮」外,還可以使用下面的SQL命令進行快速清除資料庫中的事務日誌,命令如下:
- 第一步:清空日誌
DUMP TRANSACTION
databasename
WITH
NO_LOG
-- 第二步:截斷事務日誌
BACKUP LOG
databasename
WITH
NO_LOG
-- 第三步:收縮資料庫
DBCC SHRINKDATABASE(databasename)
需要說明幾點:
1. 上面的SQL命令需要按照順序執行;
2. 執行上面的命令通常比直接使用右鍵菜單中的「收縮」命令要快很多
參考資料:
SQL SERVER 資料庫日誌已滿,如何收縮資料庫日誌
http://blog.csdn.net/faintbear/archive/2005/02/06/283316.aspx
如何收縮資料庫日誌
F. 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
G. sql server 2008 r2如何收縮資料庫和文件
1、右擊資料庫選擇,打開Files窗口
2、Files窗口,File type 選擇 Log,單擊OK完成日誌收縮。
按以上方法操作沒有效果,原因是資料庫的恢復模式不是簡單模式,只需要將恢復模式改為簡單模式即可用以上操作來收縮日誌,方便又好用。
將資料庫恢復模式改為簡單模式方法:
1、羨行右擊資料庫選擇屬性,彈出窗口如下圖,選擇Options選項,將 Recovery Model 改為 Simple 即可。
按如下方法操作也可收縮日誌:
1、當資料庫恢復模式為簡單時。使用dbcc shrinkfile (logfile_name,target_size)命令來完成。如
use mydb
dbcc shrinkfile (mydb_log,10) --將mydb_log收縮至10m
2、當資料庫恢復模式為完全兄帶嘩時。可以先將資料庫模式改為簡單模式,再使用上述方法來進行。
use master
alter database mydb set recovery simple
dbcc shrinkfile (mydb_log,10) --將mydb_log收行仔縮至10m
也可以直接備份事務日誌文件後再收縮:
use master
backup log mydb to disk='d:/dd.bak'
use mydb
dbcc shrinkfile (mydb_log,10) --將mydb_log收縮至10m;
3、通過分離資料庫,然後再刪除事務日誌文件,再附加mdf數據文件,也可以達到某種意義上的事務日誌收縮。
以下是有關日誌文摘
對於每一個資料庫來講,都需要至少一個事務日誌文件。事務日誌文件是整個資料庫的血液,如果沒有事務日誌的話,那麼將無法進行任何操作。
事務日誌有什麼東西?
事務日誌記錄著在相關資料庫上的操作,同時還存儲資料庫恢復(recovery)的相關信息。
事務日誌與資料庫恢復(recovery)是密切相關的,其實資料庫在啟動時,便會進行相關的恢復(recovery)操作,如下所示。當然,在資料庫還原時,也可以指定手工恢復(recovery).任何在資料庫上的改變,如果在事務日誌內被標記為已提交,並用一個LSN(LOG SEQUENCE NUMBER)來標識,同時相關改變就會體現在數據文件上,而被標記為未提交的改變將不會體現在數據文件上。
2010-01-12 18:31:48.72 spid7s Recovery is complete. This is an informationa message only. No user action is required.
事務日誌文件還存儲著資料庫需要回滾的相關信息。在SQL Server資料庫上,默認是隱式提交的,也就是說在查詢分析器裡面進行的每一個操作,在操作完成後,都是默認已經commit,但如果通過指定begin tran 和rollback tran的命令來標識事務時,rollback tran就需要使用事務日誌內的相關信息才可以回滾。當然,如果SQL Server遇到相關錯誤時,如死鎖,那麼也會產生一個內部回滾,這些都需要用到事務日誌文件。
為什麼要收縮事務日誌?
收縮日誌的原因有很多種,有些則是考慮空間不足,有些則是應用程序限制導致的,一般情況下,是不建議對事務日誌進行其他改變的,如需要控制事務日誌的大小,則可以通過安排
H. sql server 2008 日誌收縮
1天增加7G,不算不正常。日誌有完全日誌和簡單日誌的分別,在資料庫屬性中設置為簡單日誌,可以降低增長。
自動收縮日誌可以,代碼如下:
backup log tempdb with NO_LOG
dbcc shrinkdatabase (tempdb,10)
I. 如何壓縮SQL Server 2008資料庫的日誌文件
您好,我來為您解答:
SQL 2005 企業管理器實現方式
任務-》收縮-》文件
2008下兩種方法壓縮日誌
1).
BACKUP LOG xxx TO DISK='xxx.trn'
收縮日誌文件
2)
ALTER DATABASE SET RECOVERY SIMPLE
收縮日誌文件
ALTER DATABASE SET RECOVERY FULL
如果我的回答沒能幫助您,請繼續追問。
J. 如何壓縮SQL Server 2008資料庫的日誌文件
首先將你要將壓縮的資料庫設置為簡單日誌模式(這帶正個就不用說了吧)蠢凳悔,然後右擊你的資料庫名稱,選擇任務粗如-收縮-文件,即可打開資料庫壓縮窗口,後面的你就會操作了,你可以壓縮到你想到的比例。