當前位置:首頁 » 編程語言 » sql2008清除日誌

sql2008清除日誌

發布時間: 2022-09-21 06:48:21

『壹』 sql Server 2008 R2下如何清理資料庫日誌文件

廢話不多說,直接上代碼,清理後日誌文件為1M[sql] USE [master] GO ALTER DATABASE [資料庫名] SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE [資料庫名] SET RECOVERY SIMPLE GO USE [資料庫名] GO DBCC SHRINKFILE (N'[資料庫日誌文件名稱]' , 0,TRUNCATEONLY) GO USE [master] GO ALTER DATABASE [資料庫名] SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE [資料庫名] SET RECOVERY FULL GO --查詢指定資料庫的日誌文件名稱 USE [資料庫名] GO SELECT name FROM SYS.database_files WHERE type_desc='LOG' 08R2通過,其他版本未測試

『貳』 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

『叄』 怎樣清理或者刪除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 2008清理日誌

下載個LOGEXPLOER試試LogExplorer主要用於對MSSQLServer的事物分析和數據恢復。你可以瀏覽日誌、導出數據、恢復被修改或者刪除的數據(包括執行過update,delete,drop和truncate語句的表格)。一旦由於系統故障或者人為因素導致數據丟失,它能夠

『伍』 sqlserver 2008 R2 的日誌文件怎麼刪除

SQL Server 2008清空刪除日誌文件方法:
在SQL2008中清除日誌就必須在簡單模式下進行,等清除動作完畢再調回到完全模式。
打個SQL查詢分析器,在裡面輸入如下命令後執行即可:

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'DNName_Log' , 11, TRUNCATEONLY)
GO
'這里的DNName_Log 如果不知道在sys.database_files里是什麼名字的話,可以用以下注釋的語句進行查詢
'USE DNName
'GO
'SELECT file_id, nameFROM sys.database_files;
'GO
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY FULL --還原為完全模式
GO

『陸』 sql server 2008怎麼清空日誌

SQL Server 2008清空刪除日誌文件方法: 在SQL2008中清除日誌就必須在簡單模式下進行,等清除動作完畢再調回到完全模式。 打個SQL查詢分析器,在裡面輸入如下命令後執行即可: 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'DNName_Log' , 11, TRUNCATEONLY) GO '這里的DNName_Log 如果不知道在sys.database_files里是什麼名字的話,可以用以下注釋的語句進行查詢 'USE DNName 'GO 'SELECT file_id, nameFROM sys.database_files; 'GO USE [master] GO ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE DNName SET RECOVERY FULL --還原為完全模式 GO

『柒』 如何清除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時間太長可能影響生產的情況下使用。

熱點內容
製作產業項目視頻腳本 發布:2025-01-11 04:10:14 瀏覽:184
編程是天賦嗎 發布:2025-01-11 04:10:04 瀏覽:256
軟體編程培訓學院 發布:2025-01-11 04:00:18 瀏覽:845
路虎攬運配置怎麼查詢 發布:2025-01-11 03:42:51 瀏覽:393
仿站源碼 發布:2025-01-11 03:42:05 瀏覽:40
騰訊的雲伺服器 發布:2025-01-11 03:40:47 瀏覽:569
百分之十的演算法 發布:2025-01-11 03:34:30 瀏覽:642
java16進制tostring 發布:2025-01-11 03:24:21 瀏覽:721
mql4c語言 發布:2025-01-11 03:24:20 瀏覽:255
科爾訪問蘇聯 發布:2025-01-11 03:15:47 瀏覽:331