sqlserver日誌清空
❶ 如何清除sqlserver 日誌
清理日誌前請先備份資料庫!不要怕麻煩!切記!
--*********【清理日誌方法】
--USE [master]
--GO
--ALTER DATABASE DzDB_test_1212 SET RECOVERY SIMPLE WITH NO_WAIT
--GO
--ALTER DATABASE DzDB_test_1212 SET RECOVERY SIMPLE --簡單模式
--GO
--USE DzDB_test_1212
--GO
--DBCC SHRINKFILE (N'DezhouDB_log' , 11, TRUNCATEONLY)
--GO
---- '這里的DNName_Log 如果不知道在sys.database_files里是什麼名字的話,可以用以下注釋的語句進行查詢
--/*
--USE DzDB_test_1212
--GO
--SELECT file_id, name FROM sys.database_files;
--GO
--*/
--USE [master]
--GO
--ALTER DATABASE DzDB_test_1212 SET RECOVERY FULL WITH NO_WAIT
--GO
--ALTER DATABASE DzDB_test_1212 SET RECOVERY FULL --還原為完全模式
--GO
--***********
❷ 如何清除SQLserver 日誌
如何清除資料庫日誌
1
打開查詢分析器,輸入命令DUMP TRANSACTION 資料庫名 WITH NO_LOG
2
再打開企業管理器–右鍵你要壓縮的資料庫–所有任務–收縮資料庫–收縮文件–選擇日誌文件–在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了。
END
清除Log有兩種方法
自動清除法:
開放資料庫選項 Trunc Log on Chkpt,使資料庫系統每隔一段時間自叢返蔽動清除Log。此方法的優點是無須人工干預,由SQLServer自動執行,並且一般不會出現Log溢滿的情況;缺點是只清除Log而不做備份。
手動清除法
執行命令「mp transaction」來清除Log。以下兩條命令都可以清除日誌:
mp transaction with truncate_onlymp transaction with no_log
通常刪除事務日誌中不活躍的部分可使用「mp transaction with trancate_only」命令,這條命令寫進事務日誌時,還要做必要的並發性檢滲州查。SYBASE提供「mp transaction with no_log」來處理某些非常緊迫的情況,使用這條命令有很大的危險性,SQLServer會彈出一條警告信息。為了盡量確保資料庫的世正一致性,你應將它 作為「最後一招」
❸ SQLServer 如何自動清理日誌文件
資料庫日誌文件是隨著時間增長而增長的,如果長時間不清理,文件會變得特別大,因此需要定期清空,但是日至文件是恢復資料庫的重要依據,不用日誌文件也是不明智的。手工清除單個資料庫的還好說,但資料庫多了,或者臨時沒有來得及清理,可能硬碟空間就會占滿了,影響訪問。因此設置自動清理資料庫日誌文件還是比較實用的。
手動清理方法:右鍵單擊需要清理的資料庫,選擇「屬性」,在「選項」卡上,把故障還原模型設定為簡單,確定後關閉;再右鍵單擊該資料庫,「所有任務」-「收縮資料庫」,確認後即可清除日誌文件,最後記得重新選擇「屬性」,將故障還原模型設置為完全。
自動清理方法:利用sql server代理服務,執行自動作業。
打開企業管理器,進入「管理」-「sql server代理服務」-「作業」,在右側窗口點擊右鍵,選擇「新建作業」。「常規」選項卡中,填寫作業名稱,具體
上邊的資料庫名稱填寫需要維護的資料庫名稱,資料庫日誌文件名填寫其對應的日誌文件名,注意,不是資源管理器里看到的帶後綴名的那個名字,而是企業管理器里,資料庫屬性里日誌選項卡中日誌的名字(通常也只是差一個後綴名……),確定後添加一個作業步驟。 如果需要維護多個資料庫,用上述方法重復添加作業步驟,注意每個步驟成功或失敗後的動作即可,最後選擇一下開始的步驟。
在「調度」選項卡中,類似備份的維護計劃,填寫調度周期,即定期清理的周期,不再細述。如果需要,可以在最後的「通知」選項卡上設置作業完成後的通知項,需要設置操作員,以及設置相應的服務,這里也不具體說明了,通常不用……
❹ SQL Server 快速清除日誌文件的方法
SQL Server 2000快速清除日誌文件的方法
SQL Server 2000 資料庫日誌太大!
如何清理SQL Server 2000的日誌呢?
如何壓縮SQL Server 2000的日誌呢?
如何讓SQL Server 2000的日誌變小呢?
據我所知,辦法有很多很多,總結起來算有3類吧:
1、點幾下滑鼠,用SQL Server 2000管理工具中的企業管理器即可實現,待會兒詳解;
2、用SQL語句,在SQL Server 2000管理工具中的查詢分析器可以實現,此法高級人士喜歡用;
3、用第三方工具實現,原理嘛,我覺得應該是用SQL語句來實現的,這方法好,簡單易用,網上不乏精品工具,待會兒介紹一款。
一、現在我們詳細描述一下如何用企業管理器清理SQL 2000的日誌:
1、打開企業管理器,右擊要處理的資料庫--》屬性--》選項--》故障還原,選「簡單」--》確定。如圖:
2、右擊要處理的資料庫--》所有任務--》收縮資料庫--》什麼也不動,默認第一個是0%,其它兩個未選中,點確定--》如果您以前資料庫日誌文件大於1M那麼現在再看看,是不是只有1M了呢。
3、操作完後--》按第一步,把「故障還原」,選「完全」,傳說中SQL Server 2000 有自動還原功能,說是如果非法關機等因素造成數據丟失可以自動回滾,另外可以用程序來實現操作回滾,所以最好是讓故障還原是「完全」。
4、這樣便實現了「SQL Server 2000 資料庫日誌太大!如何管理,清除,變小,壓縮它」中的清除,變小,壓縮了,至於怎麼管理,自己看著辦吧,我一般只會用到這些,再有深入研究的話我會寫上來的`。
二、現在我們介紹用第三方SQL Server 日誌清理工具來清理日誌,簡單易用高效,推薦用這個方法。
我喜歡用 SqlServer日誌清除專家 v3.5 來實現這個功能。界面如下:
資料庫那裡一般會將整個伺服器的資料庫名都列舉出來,需要選擇為自己賬戶能管理到的那個,我這里DB_iszip賬戶能管理的是 iszip ,選擇好之後,點「清除日誌」按鈕,然後SQL Server 2000的日誌就被清理好了,此時你去伺服器看你資料庫日誌佔用空間就只有1M了。
;❺ 如何清除SQLserver 日誌
方法一:
1)打開查詢分析器,輸入命令 BACKUP LOG databasename WITH NO_LOG ;
2)打開企業管理器-->右鍵要壓縮的資料庫-->所有任務-->收縮資料庫-->收縮文件-->選擇日誌文件-->在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了。方法二:
一般情況下,SQL資料庫的收縮並不能很大程度上減小資料庫大小,其主要作用是收縮日誌大小,應當定期進行此操作以免資料庫日誌過大
1)設置資料庫模式為簡單模式:打開SQL企業管理器,在控制台根目錄中依次點開Microsoft SQL Server-->SQL Server組-->選擇你的伺服器-->打開資料庫目錄-->選擇你的資料庫名稱-->右擊選擇屬性-->選項-->在故障還原的模式中選擇「簡單」,然後按確定「保存 」
2)在當前資料庫上點右鍵,看所有任務中的收縮資料庫,一般裡面的默認設置不用修改,直接點確定
3)收縮資料庫完成後,建議將您的資料庫屬性重新設置為標准模式,操作方法同第1點,因為日誌在一些異常情況下往往是恢復資料庫的重要依據 。
❻ SQL SERVER資料庫日誌清空圖文教程
資料庫日誌不停瘋長 如何進行清空呢?這里以一台資料庫SQL SERVER 為例 日誌文件達到了 多個G一直無法清理 想了很多的辦法
比如下面這款 SqlServer日誌清除專家 可用於SQL Server SQL Server SQL Server 的各種版本的資料庫日誌的清除
這個工具一清就可以清干悶巧陵凈的 使您再也不用擔心資料庫日誌文件超過幾百兆或上GB級而煩惱
第二個方法就是採用了一個比較死的辦法 採用 分離 然後再刪除日誌文件再附加來生成一個新的日誌文件
切記在操作前先把SQL好好的備份一下
第一步 當然還是打開企業管理器了
寬頌在分螞戚離前最好是先把IIS之類的正在連接資料庫的程序關一下 要不然老半天也分離不了
也可以選擇一下 刪除鏈接 這樣可能分離會快一點
我們再定位到資料庫所在的硬碟位置
我們為了保除起見可以把 qq mdf備份一份 然後再將 qq _log ldf 這個文件重命一下名( G的文件實在是沒地方可以備份)
然後我們再來附加資料庫
附加到剛剛那個 mdf的文件 注意看下面會提示 ldf 文件找不到
不管他了 選擇 ldf這一分把他給刪掉
然後再確定 哈還原成功了 系統自動生成了一個新的 ldf 文件 KB
建議大家先用上面的那個工具去清一下 如果清不到再用這個死辦法來刪除日誌
最後再次提醒各位一定要注意備份噢!!
lishixin/Article/program/SQLServer/201311/22344
❼ 如何清除SQLserver 日誌
1、刪除LOG
2. 清空日誌
3. 收縮資料庫文件
4. 截斷事務日誌
資料庫的性能是DBA都需要重點關注的,日誌文件的增多嚴重影響資料庫的性能,本文將為您介紹SQL Server刪除日誌文件的方法,供您參考,希望對您有所幫助。
資料庫在使用過程中會使日誌文件不斷增加,使得資料庫的性能下降,並且佔用大量的磁碟空間。SQL Server資料庫都有log文件,log文件記錄用戶對資料庫修改的操作。可以通過直接刪除log文件和清空日誌在清除資料庫日誌。
❽ 如何清除SQL server日誌
方法1:
第一步:
backup
log
database_name
with
no_log
或者
backup
log
database_name
with
truncate_only
--no_log和truncate_only是在這里是同義的,隨便執行哪一句都可以
第二步:
1.收縮特定資料庫的所有數據和日誌文件,執行
dbcc
shrinkdatabase
(database_name,[,target_percent])--database_name是要收縮的資料庫名稱;target_percent是資料庫收縮後的資料庫文件中所要的剩餘可用空間百分比
2.收縮一次一個特定資料庫中的數據或日誌文件,執行
dbcc
shrinkfile(file_id,[,target_size])
--file_id是要收縮的文件的標識
(ID)
號,若要獲得文件
ID,請使用
FILE_ID
函數或在當前資料庫中搜索
sysfiles;target_size是用兆位元組表示的所要的文件大小(用整數表示)。如果沒有指定,dbcc
shrinkfile
將文件大小減少到默認文件大小
兩個dbcc都可以帶上參數notruncate或truncateonly,具體意思看幫助。
方法2
(這個方法在sqlserver2000的環境下做一般能成功,在sqlserver7及以下版本就不一定了):
第一步:
先備份整個資料庫以備不測
第二步:
備份結束後,在Query
Analyzer中執行如下的語句:
exec
sp_detach_db
yourDBName,true
--卸除這個DB在MSSQL中的注冊信息
第三步:
到日誌的物理文件所在的目錄中去刪除該日誌文件或者將該日誌文件移出該目錄
第四步:
在Query
Analyzer中執行如下的語句:
exec
sp_attach_single_file_db
yourDBName,'d:\mssql7\data\yourDBName_data.mdf'
--以單文件的方式注冊該DB,如果成功則MSSQL將自動為這個DB生成一個500K的日誌文件。
以上方法在清除log日誌中均有效。
但,能否讓sql
server
不產生log日誌呢?以上方法好像均無效。
我這兒正好有個case:
我客戶的sql
server每天都會產生4,500M的log日誌,每天都清除一下,非常不便。有沒有辦法實現不產生log日誌呢?
我分析了一下客戶產生log日誌的原因,並且做了相應測試。
客戶是每天將資料庫清空,從總系統中將數據導入到sql
server里。我感決sqlserver在插入時產生log不大,在delete整個庫時產生log極大。
比如:
SELECT
*
into
test_2
from
b_bgxx
共45000條記錄,產生十幾M
log,如果
delete
from
test_2
產生80多M
log
,這明顯存在問題。
雖然可以換成:
truncate
table
test_2
但我還是希望能找到不產生log的方法。就如oracle不產生歸檔一樣。
❾ 如何清除SQLserver 日誌
打開企業管理器,右鍵單擊你要刪除日誌的資料庫->屬性,選擇事務日誌,選擇你要刪除的日誌文件,點刪除。 記得備份
EXEC sp_detach_db @dbname = '資料庫名'
/*
先執行上面語句,再訪問到那個資料庫目錄下刪除日誌文件後,執行下面語句!
*/
EXEC sp_attach_single_file_db @dbname = '資料庫名',
@physname = 'd:\Microsoft SQL Server\MSSQL\Data\資料庫名'_Data.mdf'
❿ 如何清理SQL Server ErrorLog錯誤日誌
清理MSSQL ERRORLOG文件
問題描述:
開啟SQLServer自動備份後,備份文件越來越多,有沒有及時清理,導致伺服器空間不足,備份出錯,以至於出現幾個G的ErrorLog文件,影響系統的登錄管理。
解決辦法:
定期清理SQLServer ErrorLog文件。
日誌文件:
默認情況下,SQL Server 保存 7 個 ErrorLog 文件,名為:ErrorLog ErrorLog.1 ErrorLog.2 ErrorLog.3 ErrorLog.4 ErrorLog.5 ErrorLog.6
清理方法:
只要我們執行一次sp_cycle_errorlog 存儲過程,就會刪除ErrorLog.6,其他日誌編號自動加1,並創建新的ErrorLog,也就是說,只要執行7次 sp_cycle_errorlog,就能夠把之前生成的錯誤日誌全部刪除。
自動清理:
如何定期處理日誌呢?答案就是使用SQLServer代理,添加作業,每天執行一次 sp_cycle_errorlog!