當前位置:首頁 » 操作系統 » mssql資料庫日誌

mssql資料庫日誌

發布時間: 2022-12-06 17:04:40

A. sql資料庫日誌文件 可以刪除嗎

可以的

B. 如何清理sql server 已滿的資料庫日誌

具體方法有3種。
方法一:
第一步:
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,具體意思查看聯機幫助.
方法二:
第一步:
先備份整個資料庫以備不測

第二步:
備份結束後,在query
analyzer中執行如下的語句:
exec
sp_detach_db
yourdbname,true
--卸除這個db在mssql中的注冊信息
第三步:
到日誌的物理文件所在的目錄中去刪除該日誌文件或者將該日誌文件移出該目錄
第四步:
在query
analyzer中執行如下的語句:
exec
sp_attach_single_file_db
yourdbname,'
d:\mssql\data\yourdbname_data.mdf
'
--以單文件的方式注冊該db,如果成功則mssql將自動為這個db生成一個500k的日誌文件。
方法三:
1.
進入企業管理器,選中資料庫,比如demo
2.
所有任務->分離資料庫
3.
到資料庫文件的存放目錄,將muonline_log.ldf文件刪除,以防萬一,你可以拷出去
4.
企業管理器->附加資料庫,選muonline,這個時候你會看見日誌文件這項是一個叉,不要緊,繼續,此時資料庫就會提示你該資料庫無日誌是否創建一個新的,確定就是了。
5.
記得資料庫重新附加後用戶要重新設置一下。
如果以後,不想要它變大:
sql2000下使用:
在資料庫上點右鍵->屬性->選項->故障恢復-模型-選擇-簡單模型。
或用sql語句:
alter
database
資料庫名
set
recovery
simple

C. 清空MSSQL日誌與set recovery simple

由於伺服器上的資料庫使用很長時間了日誌文件已經是好幾個了

資料庫伺服器的一直採用的備份我想應該可以放棄以前的日誌文件了所以清理以前的日誌文件

我現在想的問題是在利用備份文件恢復的'時候

要不要使用到日誌文件呢

一會再查資料找下,如果不會的話,就使用簡單的數據模式了,節約日誌文件占的空間

1.打開查詢分析器,輸入命令

DUMPTRANSACTION資料庫名稱WITHNO_LOG

2.再打開企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件--選擇日誌文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了。

如果以後,不想要它變大

SQL2000下使用:

在資料庫上點右鍵->屬性->選項->故障恢復-模型-選擇-簡單模型。

或用SQL語句:

alterdatabase資料庫名setrecoverysimple

D. 怎樣清理或者刪除MSSQL資料庫日誌文件求高手指教

方法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不產生歸檔一樣

E. 怎樣清理或者刪除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可以使用。

F. MSSQL資料庫日誌空間滿了怎麼辦

兩種方式
1、備份資料庫日誌,並截斷,然後收縮日誌文件
2、把資料庫日誌類型改為簡單

G. 如何查看sql資料庫操作日誌

請參照以下步驟查看sql資料庫操作日誌。

1、首先在電腦上打開sql server軟體,進入軟體載入界面。

H. 如何清除mssql資料庫日誌

1.打開查詢分析器,輸入命令 DUMP TRANSACTION 資料庫名 WITH NO_LOG 2.再打開企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件--選擇日誌文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了。 清除Log有兩種方法: 1.自動清除法 開放資料庫選項 Trunc Log on Chkpt,使資料庫系統每隔一段時間自動清除Log。此方法的優點是無須人工干預,由SQLServer自動執行,並且一般不會出現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」來處理某些非常緊迫的情況,使用這條命令有很大的危險性,SQLServer會彈出一條警告信息。為了盡量確保資料庫的一致性,你應將它作為「最後一招」。 以上兩種方法只?清除日誌,而不做日誌備份,若想備份日誌,應執行「mp transaction database_name to mpdevice」命令。 PS:附一個更好的方法 先分離資料庫後,直接刪除日誌以後,再在查詢分析器里用 exec sp_attach_single_file_db '資料庫名', '.mdf文件路徑' 命令附加資料庫。

熱點內容
用友軟體sql 發布:2024-04-20 20:10:01 瀏覽:932
python倒著循環 發布:2024-04-20 20:09:52 瀏覽:758
雲伺服器遠程電腦版 發布:2024-04-20 20:09:12 瀏覽:258
ps資料庫 發布:2024-04-20 19:52:43 瀏覽:521
dpi的演算法 發布:2024-04-20 19:41:16 瀏覽:933
成興ca鎖密碼初始密碼是什麼 發布:2024-04-20 19:24:43 瀏覽:667
如何更准確的看手機配置 發布:2024-04-20 19:15:12 瀏覽:332
匯優的演算法 發布:2024-04-20 19:10:51 瀏覽:414
和平精英暗夜危機模式密碼是什麼 發布:2024-04-20 19:10:03 瀏覽:686
韓國泡泡安卓怎麼充值 發布:2024-04-20 18:56:27 瀏覽:295