sql日誌檔案有什麼用,SQL中日誌檔案有什麼用?

2023-01-13 21:55:11 字數 2038 閱讀 1329

1樓:

日誌是sql server自身用來回滾事務用的,有第三方的日誌讀取工具可以從日誌檔案中讀取之前的操作資訊。

比如:誤刪了一條記錄怎樣通過日誌檔案使之恢復?

這個如果不用第三方工具而只使用sql server本身的功能有兩種方法

第一種比較簡單,在運算元據庫的時候,首先用begin tran語句顯式的標記一個事務,然後刪除資料,如果確定需要恢復,則執行rollback tran語句,刪除操作就會被回滾。使用begin tran語句標記事務,如果不需要回滾,則使用commit tran進行提交,提交後就不能再回滾了。

第二種方法是通過還原資料庫的方式,大致步驟如下:

1.首先資料庫的恢復模式必須是「完全」或者「大容量日誌」模式

2.在刪除資料之前對資料庫進行了完全備份

3.刪除資料後,要對資料庫日誌進行備份

4.還原刪除資料前最近一次的完全備份

5.還原刪除資料後的日誌備份,使用stopat選項指定還原點為刪除資料前那一時刻。

這種方法一般用在大批量誤操作後的恢復,比較麻煩,推薦樓主熟悉備份還原以後再嘗試。

sql中日誌檔案有什麼用?

2樓:看西風落葉滿長安

幫你記錄每次動作,萬一在崩潰或重做時,可以用來回滾的。

3樓:時空遙控器

一是用來事務回滾

二是可以用它恢復資料庫中部分資料(高階應用)

4樓:木易楊

①可以幫助查詢資料庫的一些異常錯誤.....

②可以記錄資料處理的動作....

③可以協助恢復資料

資料庫中的日誌檔案有什麼作用啊?謝謝

5樓:後鹽無齒

記錄資料庫事件, 協助使用者分析和解決問題

sqlserver 收縮日誌檔案什麼用

6樓:渠秀豔

法一:在企業管理器裡找到資料庫,右鍵,屬性,可以看到資料庫檔案路徑,然後停止服務管理器,就是右下角的綠色三角,然後去拷貝一份資料檔案。

然後在企業管理器裡附加資料庫,換一個名字裡就可以了。這樣就是2份一模一樣的資料庫。到時候程式裡選擇性的連線就ok了

法二。企業管理器,新建一個資料庫,選擇該資料庫,右鍵,備份資料庫。好了後選擇還原資料庫。要在選項卡的「在現有資料庫上強制還原」核取方塊那裡打勾

效果一樣,但是要注意路徑要是本身存在的,否則報錯,(此方法無需停止服務管理器,但是操作不細緻容易出錯)

mssql日誌檔案作用會影響速度嗎

sql server日誌作用以及為什麼先寫日誌後寫資料?

sql server為什麼日誌檔案越來越大

7樓:

sql server中日誌主要用於下面三個部分:

事務回滾(rollback)

事務前滾(roll forward)

幫助資料冗餘(利用事務日誌進行備份,搭建冗餘系統,在sql server中指的是映象、事務日誌傳送、複製、alwayson等技術,或者其他第三方利用sql server日誌同步資料的技術)

sql server還提供了兩種恢復模式:簡單模式和完整模式

簡單模式指的是日誌被不在被當前未結束事務需要後,就可以**重複利用。

完整模式指的是日誌被不在被當前未結束事務需要後,就可以留著等待將這部分日誌歸檔(日誌備份)

而樓主使用的是簡單恢復模式,不存在忘記備份日誌導致日誌越來越大的問題。因此可能造成日誌越來越大的原因主要是:

1.當前存在活動日誌,這個可以使用dbcc opentran命令檢視是否有當前活動日誌導致日誌無法截斷。

2.當前庫用於複製,因為日誌需要被複制的log reader程序讀取,在讀取之前日誌是無法被清理掉的,原因可以通過sys.databases的log_resue_wait列檢視到原因。

3.日誌之前曾經因為大的操作暴漲,忘記收縮,嘗試直接收縮一下日誌。

在ORACLE中怎麼檢視SQL執行日誌

2 在二級選單中,選擇sql歷史記錄選項,或者按快捷鍵f8開啟視窗。3 預設開啟是會顯示在最下方的小視窗,在標題欄雙擊滑鼠左鍵,即可最大化視窗,再次雙擊左鍵還原視窗。4 最大化視窗之後,便於更好的查詢記錄結果,可以看到,以往執行的sql記錄都顯示出來了可以往下翻動,查詢自己需要的日誌。oracle日...

用sql語句,怎麼在access中增加自動增長的「id」欄位

題主可以參bai考下列duaccess sql語句,為t1表新增zhi一個一名為id的自 dao增id欄位 alter table t1 add column id counter 注意,如果該版表己經存在權同名欄位或已存在有自增id型別欄位,執行該語句將會報錯。如何在access資料庫中刪除自增的...

sql用inner join內關聯查詢有多條記錄一樣只取一條

select min b.flow id a.item id from test table a inner join test table b on a.flow id b.flow id and a.item id b.item id where a.def sup flag 1 group b...