當前位置:首頁 » 操作系統 » 資料庫log

資料庫log

發布時間: 2022-06-28 15:18:49

sql Server資料庫LOG丟失後應當如何恢復

2.直接拷貝資料庫文件mdf和日誌文件ldf的方式。 下面我們來講解一下在只有mdf文件時,應當如何進行恢復:◆1.我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQL Server Enterprise Manager裡面建立。 ◆2.停掉資料庫伺服器。 ◆3.將剛才生成的資料庫的日誌文件test_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的資料庫數據文件test_data.mdf。 ◆4.啟動資料庫伺服器。此時會看到資料庫test的狀態為「置疑」。這時候不能對此資料庫進行任何操作。 ◆5.設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。 ◆6.設置test為緊急修復模式 update sysdatabases set status=-32768 where dbid=DB_ID('test')此時可以在SQL Server Enterprise Manager裡面看到該資料庫處於「只讀置疑離線緊急模式」可以看到資料庫裡面的表。 ◆7.下面執行真正的恢復操作,重建資料庫日誌文件 dbcc rebuild_log('test','C:Program FilesMicrosoft SQL ServerMSSQLDatatest_log.ldf')執行過程中,如果遇到下列提示信息:伺服器: 消息 5030,級別 16,狀態 1,行 1未能排它地鎖定資料庫以執行該操作。 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager打開了test庫的系統表,那麼退出SQL Server Enterprise Manager就可以了。正確執行完成的提示應該類似於:警告: 資料庫 'test' 的日誌已重建。已失去事務的一致性。應運行 DBCC CHECKDB 以驗證物理一致性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。此時打開在SQL Server Enterprise Manager裡面會看到資料庫的狀態為「只供DBO使用」。 至此,我們就可以訪問資料庫裡面的用戶表了。

❷ 資料庫Log太多如何清理但是不影響mysql原來的表數據。

如果想要關閉二進制mysql日誌,可以在my.ini里把log-bin這行注釋掉
要清二進制日誌的話,在mysql開啟了二進制日誌的狀態下,以root身份登錄mysql以後執行下面兩個命令之一:
PURGE
MASTER
LOGS
before
'2020-1-1';
清除指定日期之前的二進制日誌
PURGE
MASTER
LOGS
TO
'mysql-bin.010';
清除指定文件編號之前的二進制日誌
注意,如果沒運行命令而是直接刪除mysql-bin.xxx文件的話,mysql-bin.index里仍然記錄了日誌文件列表,這樣以後再清日誌時,就會因找不到列表中的日誌文件而無法清理mysql日誌
可以用bin目錄中的mysqlbinlog.exe查看mysql二進制日誌。
C:\>mysqlbinlog
mysql-bin.000001
如果my.ini中設置了字元集的話,可能會出現這以下這樣的報錯
mysqlbinlog:
unknown
variable
'default-character-set=gbk'
帶上--no-defaults參數後即可解決
C:\>mysqlbinlog
--no-defaults
mysql-bin.000001
如果是要清理*.err日誌的話,直接停止mysql資料庫,將這個文件剪切走或者刪除,重啟mysql生成一個新的即可。
.err文件中實際是以文本方式保存的錯誤提示,可以直接用記事本打開查看。

❸ SQL資料庫日誌文件 可以刪除嗎

可以的

❹ 如何設置Log文件,記錄資料庫的操作信息

1、首先確認你日誌是否啟用了mysql>show
variables
like
'log_bin'。
2、如果啟用了,即ON,那日誌文件就在mysql的安裝目錄的data目錄下。
3、怎樣知道當前的日誌mysql>
show
master
status。
4、看二進制日誌文件用mysqlbinlog,shell>mysqlbinlog
mail-bin.000001或者shell>mysqlbinlog
mail-bin.000001
|
tail,Windows
下用類似的。
MySQL的日誌操作:
1、首先,登陸mysql後,執行sql語句:show
variables
like
'log_bin'。
2、#錯誤日誌log-errol開啟方式:在my.ini的[mysqld]選項下:添加代碼:log-error=E:\log-error.txt。
記錄內容:主要是記錄啟動、運行或停止mysqld時出現的致命性問題,都是系統級的錯誤記錄。
3、#查詢日誌:log,開啟方式:在my.ini的[mysqld]選項下:添加代碼:log=E:/mysql_log.txt。
4、#二進制日誌:log-bin,開啟方式:在my.ini的[mysqld]選項下:添加代碼:log-bin=E:/mysql_log_bin,記錄內容:主要是記錄所有的更改數據的語句,可使用mysqlbinlog命令恢復數據。

❺ 資料庫被怎麼通過log日誌恢復資料庫

從日誌回復資料庫 :自己一步一步按照說明試著看
--創建測試資料庫
CREATE DATABASE Db
GO
--對資料庫進行備份
BACKUP DATABASE Db TO DISK='c:\db.bak' WITH FORMAT
GO
--創建測試表
CREATE TABLE Db.dbo.TB_test(ID int)
--延時1秒鍾,再進行後面的操作(這是由於SQL Server的時間精度最大為百分之三秒,不延時的話,可能會導致還原到時間點的操作失敗)
WAITFOR DELAY '00:00:01'
GO
--假設我們現在誤操作刪除了 Db.dbo.TB_test 這個表
DROP TABLE Db.dbo.TB_test
--保存刪除表的時間
SELECT dt=GETDATE() INTO #
GO
--在刪除操作後,發現不應該刪除表 Db.dbo.TB_test
--下面演示了如何恢復這個誤刪除的表 Db.dbo.TB_test
--首先,備份事務日誌(使用事務日誌才能還原到指定的時間點)
BACKUP LOG Db TO DISK='c:\db_log.bak' WITH FORMAT
GO
--接下來,我們要先還原完全備份(還原日誌必須在還原完全備份的基礎上進行)
RESTORE DATABASE Db FROM DISK='c:\db.bak' WITH REPLACE,NORECOVERY
GO
--將事務日誌還原到刪除操作前(這里的時間對應上面的刪除時間,並比刪除時間略早
DECLARE @dt datetime
SELECT @dt=DATEADD(ms,-20,dt) FROM # --獲取比表被刪除的時間略早的時間
RESTORE LOG Db FROM DISK='c:\db_log.bak' WITH RECOVERY,STOPAT=@dt
GO
--查詢一下,看錶是否恢復
SELECT * FROM Db.dbo.TB_test

❻ 如何清理資料庫中沒用的log文件

  1. 進入sql資料庫,隨便找一個文件,滑鼠右鍵,選擇屬性

  2. 點擊「選項」,在恢復模式中選擇「簡單」,點擊確定

  3. 選擇要清理的文件,點滑鼠右鍵→任務→收縮→文件

  4. 在文件組中選擇「日誌」,會看到下面可用空間,如果百分比較多,則更適合壓縮

    注意:在壓縮之前最好看一下

  5. C:Program FilesMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLDATA找一些比較大的log文件進行壓縮。

  6. 5.完成以上操作之後,應重新啟動SharePoint,重新啟動SQL Sever

❼ 資料庫log如何定期log備份

1、每日自動備份 打開企業管理器,進入「管理」-「資料庫維護計劃」,在右側窗口點擊右鍵,選擇「新建維護計劃」,啟動「資料庫維護計劃向導」;點擊「下一步」選擇需要維護的資料庫,維護特性資料庫時,選擇最後一個單選框並勾選需要維護的資料庫名稱;「下一步」選擇更新數據優化信息、「下一步」檢查資料庫完整性、「下一步」指定資料庫備份計劃、「下一步」指定備份存放位置、「下一步」指定事務日誌備份計劃、「下一步」指定報表,「下一步」指定歷史紀錄維護,最後設定維護作業名稱;通常來說,如果只需要備份資料庫文件,則只需要指定備份計劃以及存放位置即可,其他項目不做改動。 在指定備份計劃時候,由於需要每日備份,因此要更改調度。點擊「更改」編輯調度。發生頻率選擇每天;每日頻率選擇作業開始時間,最好選擇資料庫訪問量小時進行,多為半夜時間,可根據流量圖確定具體時間;持續時間通常不用做改動,開始日期為編輯日期,無結束日期。 編輯好上述維護計劃後,還要注意下 sql server代理服務是否啟動了,因為每日調度維護計劃是要啟動這個服務才能執行的。如果該服務沒有啟動,需要手動啟動一下,這是可以在其子項「作業」中看到剛剛添加過的資料庫維護計劃。 2、定期自動清理資料庫日誌文件 資料庫日誌文件是隨著時間增長而增長的,如果長時間不清理,文件會變得特別大,因此需要定期清空,但是日至文件是恢復資料庫的重要依據,不用日誌文件也是不明智的。手工清除單個資料庫的還好說,但資料庫多了,或者臨時沒有來得及清理,可能硬碟空間就會占滿了,影響訪問。因此設置自動清理資料庫日誌文件還是比較實用的。 手動清理方法:右鍵單擊需要清理的資料庫,選擇「屬性」,在「選項」卡上,把故障還原模型設定為簡單,確定後關閉;再右鍵單擊該資料庫,「所有任務」-「收縮資料庫」,確認後即可清除日誌文件,最後記得重新選擇「屬性」,將故障還原模型設置為完全。 自動清理方法:同樣是利用sql server代理服務,執行自動作業。 打開企業管理器,進入「管理」-「sql server代理服務」-「作業」,在右側窗口點擊右鍵,選擇「新建作業」。「常規」選項卡中,填寫作業名稱,具體描述,注意所有者最好還是用sa或者默認的管理帳號。 轉到「步驟」選項卡,新建作業步驟,填寫步驟名稱,類型為腳本,資料庫為需要清理日誌的資料庫,在下邊命令中填寫以下命令: DUMP TRANSACTION 資料庫名稱 WITH NO_LOG DBCC SHRINKFILE(資料庫日誌文件名,1) 上邊的資料庫名稱填寫需要維護的資料庫名稱,資料庫日誌文件名填寫其對應的日誌文件名,注意,不是資源管理器里看到的帶後綴名的那個名字,而是企業管理器里,資料庫屬性里日誌選項卡中日誌的名字(通常也只是差一個後綴名……),確定後添加一個作業步驟。 如果需要維護多個資料庫,用上述方法重復添加作業步驟,注意每個步驟成功或失敗後的動作即可,最後選擇一下開始的步驟。 在「調度」選項卡中,類似備份的維護計劃,填寫調度周期,即定期清理的周期,不再細述。如果需要,可以在最後的「通知」選項卡上設置作業完成後的通知項,需要設置操作員,以及設置相應的服務,這里也不具體說明了,通常不用……

❽ 資料庫中Log文件夾中的文件可以刪除嗎

不建議刪除。
雖然這些文件對系統的運行沒有影響,但某些軟體在執行卸載時要調用這些文件,如果刪除,軟體可能無法正常卸載。

❾ SQL資料庫log文件怎麼用

log文件,也就是日誌文件,
把你的系統放到資料庫中,你需要附加資料庫
操作方式是
用企業管理器,選中資料庫
然後所有任務,
選擇附加資料庫
輸入資料庫文件的地址,
主文件.mdf
然後附加即可

熱點內容
惠普雲伺服器哪家最好 發布:2024-11-16 00:01:36 瀏覽:353
ubuntu編譯arm 發布:2024-11-15 23:58:33 瀏覽:620
excel隱藏工作表加密 發布:2024-11-15 23:55:41 瀏覽:451
十大挖掘演算法 發布:2024-11-15 23:55:41 瀏覽:133
隱藏文件夾如何打開 發布:2024-11-15 23:55:02 瀏覽:698
為什麼安卓沒法下載神武4 發布:2024-11-15 23:46:18 瀏覽:335
巫師3和英雄聯盟哪個吃配置 發布:2024-11-15 23:46:10 瀏覽:805
qt文件加密 發布:2024-11-15 23:40:35 瀏覽:738
咸陽做腳本的 發布:2024-11-15 23:38:57 瀏覽:773
途觀與探岳哪個配置高 發布:2024-11-15 23:30:39 瀏覽:518