sql清空日誌
一、刪除日誌文件。
二、手動收縮。操作如下:
1、在資料庫頁面中選擇「選項」;
❷ 刪除日誌的SQL語句是什麼
清空
日誌
DUMP
TRANSACTION
庫名
WITH
NO_LOG
截斷日誌
backup
log
資料庫名
with
no_log
執行以上
命令
,為什麼
日誌文件
大小並沒有變化,清除日誌和截斷日誌到底是什麼意思?
而直接執行以下命令就可以縮小日誌文件了:
DBCC
SHRINKFILE
(
庫名_Log,要縮小的目標大小)
不知道為什麼很多地方介紹都要把下面兩句放在一起使用:
backup
log
資料庫名
with
no_log
DBCC
SHRINKFILE
(
庫名_Log,要縮小的目標大小)
❸ sql2000自動設置清除日誌的具體方法如何操作
資料庫日誌文件是隨著時間增長而增長的,如果長時間不清理,文件會變得特別大,因此需要定期清空,但是日至文件是恢復資料庫的重要依據,不用日誌文件也是不明智的。手工清除單個資料庫的還好說,但資料庫多了,或者臨時沒有來得及清理,可能硬碟空間就會占滿了,影響訪問。因此設置自動清理資料庫日誌文件還是比較實用的。
手動清理方法:右鍵單擊需要清理的資料庫,選擇「屬性」,在「選項」卡上,把故障還原模型設定為簡單,確定後關閉;再右鍵單擊該資料庫,「所有任務」-「收縮資料庫」,確認後即可清除日誌文件,最後記得重新選擇「屬性」,將故障還原模型設置為完全。
自動清理方法:同樣是利用sql
server代理服務,執行自動作業。
打開企業管理器,進入「管理」-「sql
server代理服務」-「作業」,在右側窗口點擊右鍵,選擇「新建作業」。「常規」選項卡中,填寫作業名稱,具體描述,注意所有者最好還是用sa或者默認的管理帳號。
轉到「步驟」選項卡,新建作業步驟,填寫步驟名稱,類型為腳本,資料庫為需要清理日誌的資料庫,在下邊命令中填寫以下命令:
Sql代碼
1.
DUMP
TRANSACTION
資料庫名稱
WITH
NO_LOG
DBCC
SHRINKFILE(資料庫日誌文件名,1)
或者使用
2.
DUMP
TRANSACTION
DBName
WITH
NO_LOG
BACKUP
LOG
DBName
WITH
NO_LOG
DBCC
SHRINKDATABASE(DBName
)
DBCC
SHRINKFILE(1)
❹ 如何清除sql2008日誌文件
在SQL2008中清除日誌就必須在簡單模式下進行,等清除動作完畢再調回到完全模式。
方案一:完全命令模式
USE[master]
GO
ALTERDATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTERDATABASE DNName SET RECOVERY SIMPLE --簡單模式
GO
USE DNName
GO
DBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY)
GO
USE[master]
GO
ALTERDATABASE DNName SET RECOVERY FULLWITH NO_WAIT
GO
ALTERDATABASE DNName SET RECOVERY FULL --還原為完全模式
GO
方案二:部分命令模式 + 任務-收縮-文件(單個資料庫)
ALTERDATABASE DNName SET RECOVERY SIMPLE --簡單模式
GO
右鍵-任務-收縮-文件-確定 下來資料庫的日誌只保留了1M
ALTERDATABASE DNName SET RECOVERY FULL --還原為完全模式
GO
優點:此清除日誌所運行消耗的時間短,90GB的日誌在分鍾左右即可清除完畢,做完之後做個完全備份在分鍾內即可完成。缺點: 不過此動作最好不要經常使用,因為它的運行會帶來系統碎片。普通狀態下LOG和DIFF的備份即可截斷日誌。此語句使用的恰當環境:當系統的日誌文件異常增大或者備份LOG時間太長可能影響生產的情況下使用。
❺ 如何清空 SQL 伺服器事務處理日誌
這里的事務日誌清理是指截斷事務日誌並釋放空間。
操作方法:
1、通過備份事務日誌進行截斷
備份時的默認選項就是Truncate the transaction log(截斷事務日誌),備份完成後,事務日誌就會自動被截斷,但這時你查看日誌文件的大小還是和原來一樣。所以,需要通過第二步釋放日誌文件佔用的空間。
2、通過收縮日誌文件釋放日誌文件佔用的空間
將恢復模式由完整(Full)改為簡單(Simple)
收縮(Shrink)日誌文件
將恢復模式由簡單(Simple)改為完整(Full)
3、收縮資料庫(Shrink database)
❻ 如何清除SQL資料庫日誌清除後對資料庫有什麼影響
教你如何清除SQL日誌
1.打開查詢分析器,輸入命令
DUMP TRANSACTION 資料庫名 WITH NO_LOG
2.再打開企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件--選擇日誌文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了。
清除Log有兩種方法:
1.自動清除法
開放資料庫選項 Trunc Log on Chkpt,使資料庫系統每隔一段時間自動清除Log。此方法的優點是無須人工干預,由SQL Server自動執行,並且一般不會出現Log溢滿的情況;缺點是只清除Log而不做備份。
2.手動清除法
執行命令「mp transaction」來清除Log。以下兩條命令都可以清除日誌:
mp transaction with truncate_only
mp transaction with no_log
通常刪除事務日誌中不活躍的部分可使用「mp transaction with trancate_only」命令,這條命令寫進事務日誌時,還要做必要的並發性檢查。SYBASE提供「mp transaction with no_log」來處理某些非常緊迫的情況,使用這條命令有很大的危險性,SQL Server會彈出一條警告信息。為了盡量確保資料庫的一致性,你應將它作為「最後一招」。
以上兩種方法只是清除日誌,而不做日誌備份,若想備份日誌,應執行「mp transaction database_name to mpdevice」命令。
清除後對資料庫沒有影響
❼ 怎樣清理或者刪除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 server怎麼刪除資料庫日誌
一、簡單方法
–SQL Server收縮方法
1、右鍵資料庫→屬性→選項→故障還原模型→設為簡單→確定;
2、右鍵資料庫→所有任務→收縮資料庫→確定;
3、右鍵資料庫→屬性→選項→故障還原模型→設為大容量日誌記錄→確定。
二、復雜方法
–SQL Server日誌清空方法
在查詢分析器中順序執行以下三步,其中 databasename 為你的資料庫文件名
1.清空日誌:DUMP TRANSACTION databasename WITH NO_LOG
2.截斷事務日誌:BACKUP LOG databasename WITH NO_LOG
3.收縮資料庫:DBCC SHRINKDATABASE(databasename)
(BACKUP LOG databasename WITH NO_LOG|TRUNCATE_ONLY可以截斷事務日誌。
第一步只是將非活動的事務日誌截斷,並沒有收縮資料庫,只有進行第二項操作後,資料庫才進行事務日誌的清理工作,將截斷的非活動事務刪除,並將事務日誌文件收縮到適當尺寸。)
3、收縮資料庫文件(如果不壓縮,資料庫的文件不會減小)
企業管理器–右鍵你要壓縮的資料庫–所有任務–收縮資料庫–收縮文件–選擇日誌文件–在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了
–選擇數據文件–在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了。
收縮資料庫完成後,建議將您的資料庫屬性重新設置為標准模式,操作方法同簡單方法里第一點,因為日誌在一些異常情況下往往是恢復資料庫的重要依據
也可以用SQL語句來完成
–收縮資料庫
DBCC SHRINKDATABASE(資料庫名)
–收縮指定數據文件,1是文件號,可以通過這個語句查詢到:
select * from sysfiles DBCC SHRINKFILE(1)
4、為了最大化的縮小日誌文件(如果是sql 7.0,這步只能在查詢分析器中進行)
在使用 SQL Server 時,資料庫里的日誌文件會越來越大,需要把它刪除。 我先把這個資料庫分離,在資料庫上點右鍵 -> 所有任務 -> 分離資料庫,分離之後,就可以把 Log 文件刪除,同時也可以把數據進行備份。之後,就可以在所有任務里的附加資料庫再把那個資料庫添進來,SQL Server 會提示 LOG 文件不存在,問你是不是要新建一個,選是就行了,這樣,LOG 文件就清空了。 這個方法只需幾分鍾的時間,但在這幾分鍾里,就不能訪問這個資料庫了,我覺得只適用於小型的應用,對於大型的系統就要找其它方法了。)
a.分離資料庫
企業管理器–伺服器–資料庫–右鍵–分離資料庫
b.在我的電腦中刪除LOG文件
c.附加資料庫
企業管理器–伺服器–資料庫–右鍵–附加資料庫
❾ 如何清除SQL資料庫日誌,清除後對資料庫有什麼影響
教你如何清除SQL日誌
1.打開查詢分析器,輸入命令
DUMP TRANSACTION 資料庫名 WITH NO_LOG
2.再打開企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件--選擇日誌文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了。
清除Log有兩種方法:
1.自動清除法
開放資料庫選項 Trunc Log on Chkpt,使資料庫系統每隔一段時間自動清除Log。此方法的優點是無須人工干預,由SQL Server自動執行,並且一般不會出現Log溢滿的情況;缺點是只清除Log而不做備份。
2.手動清除法
執行命令「mp transaction」來清除Log。以下兩條命令都可以清除日誌:
mp transaction with truncate_only
mp transaction with no_log
通常刪除事務日誌中不活躍的部分可使用「mp transaction with trancate_only」命令,這條命令寫進事務日誌時,還要做必要的並發性檢查。SYBASE提供「mp transaction with no_log」來處理某些非常緊迫的情況,使用這條命令有很大的危險性,SQL Server會彈出一條警告信息。為了盡量確保資料庫的一致性,你應將它作為「最後一招」。
以上兩種方法只是清除日誌,而不做日誌備份,若想備份日誌,應執行「mp transaction database_name to mpdevice」命令。
清除後對資料庫沒有影響