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

c資料庫日誌

發布時間: 2023-05-07 16:29:07

資料庫被怎麼通過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

Ⅱ 怎樣壓縮資料庫的日誌文件

具體方法有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

Ⅲ 資料庫日誌已滿,如何處理

先提供一種復雜的方法壓縮日誌及資料庫文件如下:
1.清空日誌
mp transaction 庫名 with no_log
2.截斷事務日誌:
backup log 資料庫名 with no_log
3.收縮資料庫文件(如果不壓縮,資料庫的文件不會減小
企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件
--選擇日誌文件--在收縮方式里選擇收縮至xxm,這里會給出一個允許收縮到的最小m數,直接輸入這個數,確定就可以了
--選擇數據文件--在收縮方式里選擇收縮至xxm,這里會給出一個允許收縮到的最小m數,直接輸入這個數,確定就可以了
也可以用sql語句來完成
--收縮資料庫
dbcc shrinkdatabase(客戶資料)
--收縮指定數據文件,1是文件號,可以通過這個語句查詢到:select * from sysfiles
dbcc shrinkfile(1)
4.為了最大化的縮小日誌文件(如果是sql 7.0,這步只能在查詢分析器中進行)
a.分離資料庫:
企業管理器--伺服器--資料庫--右鍵--分離資料庫
b.在我的電腦中刪除log文件
c.附加資料庫:
企業管理器--伺服器--資料庫--右鍵--附加資料庫
此法將生成新的log,大小隻有500多k
或用代碼:
下面的示例分離 pubs,然後將 pubs 中的一個文件附加到當前伺服器。
a.分離
e x e c sp_detach_db @dbname = 'pubs'
b.刪除日誌文件
c.再附加
e x e c sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\program files\microsoft sql server\mssql\data\pubs.mdf'
5.為了以後能自動收縮,做如下設置:
企業管理器--伺服器--右鍵資料庫--屬性--選項--選擇"自動收縮"
--sql語句設置方式:
e x e c sp_dboption '資料庫名', 'autoshrink', 'true'
6.如果想以後不讓它日誌增長得太大
企業管理器--伺服器--右鍵資料庫--屬性--事務日誌
--將文件增長限制為xm(x是你允許的最大數據文件大小)
--sql語句的設置方式:
alter database 資料庫名 modify file(name=邏輯文件名,maxsize=20)

Ⅳ 資料庫系統的日誌中檢查點的作用是:

D,檢查點的作用在於資料庫在故障恢復過程中查找日誌文件時尋找開始恢復的最近點,也就是說檢查點之前日誌所操作的數據已經被持久化到磁皮世盤了。侍握差檢查點周期性的設置就是為了這個目的老皮。

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

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

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

Ⅵ 如何查看資料庫alert日誌文件

1、登錄Oracle伺服器,切換到oracle用戶下

#su - oracle

4、找到alert日誌

Ⅶ 資料庫的日誌文件用於保存什麼 A 程序運行過程 B數據操作 C程序執行結果 D對資料庫的更新操作

日誌文件,你顧名思義想想就知道。
是記錄在資料庫中用事務日誌文件記錄數據的修改操姿辯橘作,其中的每條日誌記錄或者記錄所執行的邏輯操作,或者記錄已修改數據的跡團前像和後像。前像是操作執行前的數據復本;後像是操作灶早執行後的數據復本。

Ⅷ 如何查看GBase 8c資料庫審計日誌

審計功能支持用戶查看日誌審計統計信息、統計折線輪搭圖敬桐臘以及日誌列表。支持用戶安全、SQL、集群控制以及其他類型的日誌審計。
審計功能界面顯示日誌審計的統計信息,包括所有資料庫集群的日誌總數、審計時長和今日日誌總數。亮滑其中審計時長跨度為最初日誌時刻至當前最近日誌時刻。平台自動實時更新。

Ⅸ 資料庫日誌暴增

SQL server控制日誌增長採取措施:
1.清空日誌
DUMP TRANSACTION 庫名 WITH NO_LOG
2.收縮資料庫文件(如果不壓縮,資料庫的文件不會減小)

先提供一種復雜的方法壓縮日誌及資料庫文件如下:
1.清空日誌
DUMP TRANSACTION 庫名 WITH NO_LOG
2.截斷事務日誌:
BACKUP LOG 資料庫名 WITH NO_LOG
3.收縮資料庫文件(如果不壓縮,資料庫的文件不會減小
企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件
--選擇日誌文件--在收縮方式里選擇收縮至天天上網M,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了
--選擇數據文件--在收縮方式里選擇收縮至天天上網M,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了
也可以用SQL語句來完成
--收縮資料庫
DBCC SHRINKDATABASE(客戶資料)
--收縮指定數據文件,1是文件號,可以通過這個語句查詢到:select * from sysfiles
DBCC SHRINKFILE(1)
4.為了最大化的縮小日誌文件(如果是sql 7.0,這步只能在查詢分析器中進行)
a.分離資料庫:
企業管理器--伺服器--資料庫--右鍵--分離資料庫
b.在我的電腦中刪除LOG文件
c.附加資料庫:
企業管理器--伺服器--資料庫--右鍵--附加資料庫
此法將生成新的LOG,大小隻有500多K
或用代碼:
下面的示例分離 pubs,然後攜明將 pubs 中的一個文件附加到當前伺服器。
a.分離
E X E C sp_detach_db @dbname = 』pubs『
b.刪除日誌文件
c.再附加
E X E C sp_attach_single_file_db @dbname = 『pubs』,
@physname = 』c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf『
5.為了以後能自動收縮,做如下設置:
企業管理器--伺服器--右鍵資料庫--屬性--選項--選擇"自動收縮"
--SQL語句設置方式:
E X E C sp_dboption 』資料庫名『, 』autoshrink『, 』TRUE『
6.如果想以後不讓它日誌增長得太大
企業管理器--伺服器--右鍵資料庫--屬性--事務日誌
--將文件增長限制為xM(x是你允許的最大數據文件大小)
--SQL語句的設置方式:
alter database 資料庫名 modify file(name=邏輯文件名,maxsize=20)
特別羨輪注意:
請按步驟進行,未進行前面的步驟,請不要做後面的步驟
否則可能損壞你的資料庫.
一般不建議做第4,6兩步
第4步不安全,有可能損壞資料庫或丟失數據
第6步如果日誌達到上限,則以後的資料庫處理會失兄隱信敗,在清理日誌後才能恢復.

另外提供一種更簡單的方法
1。右建資料庫屬性窗口--故障還原模型--設為簡單
2。右建資料庫所有任務--收縮資料庫
3。右建資料庫屬性窗口--故障還原模型--設為大容量日誌記錄

熱點內容
網吧u盤拒絕訪問 發布:2025-05-16 14:13:50 瀏覽:260
無線網檢查網路配置是怎麼回事 發布:2025-05-16 14:04:03 瀏覽:220
網路爬蟲python代碼 發布:2025-05-16 14:03:26 瀏覽:516
汽車小組件怎麼弄到安卓桌面 發布:2025-05-16 13:51:12 瀏覽:220
linuxg編譯器下載 發布:2025-05-16 13:50:58 瀏覽:776
centosc編譯器 發布:2025-05-16 13:50:17 瀏覽:948
安卓手機如何變換桌面 發布:2025-05-16 13:39:33 瀏覽:515
sql存儲過程命令 發布:2025-05-16 13:17:54 瀏覽:146
用紙做解壓小玩具西瓜 發布:2025-05-16 13:04:09 瀏覽:936
區域網xp無法訪問win7 發布:2025-05-16 13:03:58 瀏覽:943