當前位置:首頁 » 編程語言 » sql日誌工具恢復

sql日誌工具恢復

發布時間: 2023-01-22 06:03:03

sql server 2014日誌備份怎樣恢復

NORECOVERY
指定不發生回滾。
從而使前滾按順序在下一條語句中繼續進行。
在這種情況下,還原順序可還原其他備份,並執行前滾。
RECOVERY(默認值)表示,應在完成當前備份前滾之後執行回滾。
恢復資料庫要求要還原的整個數據集(「前滾集」)必須與資料庫一致。
如果前滾集尚未前滾到與資料庫保持一致的地步,並且指定了
RECOVERY,則資料庫引擎將發出錯誤。
也就是說,你還原一個文件後,後續還有文件要還原,就要使用NORECOVERY,如果後續沒有文件,或是你不想還原後續的文件,就使用recovery。
如果你要還原事務日誌,首先你要有一個完整備份,先還原完整備份,並使用NORECOVERY選項,然後,按順序還原日誌備份。只要後續還有文件要還原,就使用NORECOVERY選項,如果後續沒有文件或是不想再還原其他文件了,就使用RECOVERY選項。使用RECOVERY選項後,還原過程就完成了,資料庫就可以使用了。

Ⅱ sql2005備份資料庫怎麼恢復

資料庫數據恢復步驟

1、通過日誌恢復SQLSERVER2005數據(也可通過LogExplorer工具查找進行恢復數據)

(A)......通過日誌和時間點來恢復數據的前提條件:資料庫的故障恢復改為非簡單模式,去掉自動關閉和自動收縮兩個選項,如果是簡單模式:類似下面的語句操作數據就不會記錄到日誌中:select*intotfrom[表名].【採用LogExplorer工具可以在線操作,通過恢復日誌(指定時間點恢復)來恢復數據,必須停止資料庫或者再另一個資料庫恢復(前提是必須有一個完全備份和日誌備份)】

這時為保證數據的完整要將資料庫的恢復模式改成「完整.

1.1、這時對資料庫事務日誌做備份(注意,如果沒做個資料庫完整備份,是不能做事務日誌備份的)

這時新建一個資料庫zp(將以前的資料庫改名),恢復資料庫

這時我們看到,有兩個還原的資料庫備份,因為我對zp資料庫備份了兩次,兩次的備份的數據文件都一樣。這里我們選擇最近時間的備份默認在資料庫的設置如下:是追加到備份集里,所以會有兩個備份。

同時,在」選項「里設置」不回滾「事務,

注意:通過事務日誌還原資料庫,必須選擇"不回滾"事務

確定後:出現下面情況:

這時發現,資料庫一直是」正在還原「,這時還原資料庫事務日誌,

1.2、「常規」里選擇時間,(剛刪除的時間)

1.3、「選項」里將恢復狀態設置為」回滾未提交「事務

確定後,查詢資料庫,發現數據回來了.

2、無日誌的數據恢復

2.1.新建一個同名的資料庫
2.2再停掉sqlserver(注意不要分離資料庫)
2.3用原資料庫的數據文件覆蓋掉這個新建的資料庫
2.4再重啟sqlserver
2.5此時打開企業管理器時會出現置疑,先不管,執行下面的語句(注意修改其中的資料庫名)
2.6完成後一般就可以訪問資料庫中的數據了,這時,資料庫本身一般還要問題,解決辦法是,利用
資料庫的腳本創建一個新的資料庫,並將數據導進去就行了.

USEMASTER
SP_CONFIGURE'ALLOWUPDATES',1RECONFIGUREWITHOVERRIDE
UPDATESYSDATABASESSETSTATUS=32768WHERENAME='資料庫名'
sp_dboption'資料庫名','singleuser','true'
DBCCCHECKDB('資料庫名')
updatesysdatabasessetstatus=28wherename='資料庫名'
sp_configure'allowupdates',0reconfigurewithoverride
sp_dboption'資料庫名','singleuser','false'

Ⅲ sql資料庫刪除了怎麼恢復數據

sql
server中誤刪除數據的恢復本來不是件難事,從事務日誌恢復即可。但是,這個恢復需要有兩個前提條件:
1.
至少有一個誤刪除之前的資料庫完全備份。
2.
資料庫的恢復模式(recovery
mode)是「完整(full)」。
針對這兩個前提條件,會有三種情況:
情況一、如果這兩個前提條件都存在,通過sql語句只需三步就能恢復(參考文章),無需藉助第三方工具。
a)
備份當前資料庫的事務日誌:backup
log
[資料庫名]
to
disk=
n'備份文件名'
with
norecovery
b)
恢復一個誤刪除之前的完全備份:restore
database
[資料庫名]
from
disk
=
n'完全備份文件名'
with
norecovery,
replace
c)
將資料庫恢復至誤刪除之前的時間點:restore
log
[資料庫]
from
disk
=
n'第一步的日誌備份文件名'
with
stopat
=
n'誤刪除之前的時間點'
,
recovery
情況二、如果第1個前提條件不存在,第2個前提條件存在,需要藉助第三方工具。
情況三、如果第2個前提條件不存在,無法恢復。所以,一定要將資料庫恢復模式設置為「完整(full)」。
我現在面臨的是第二種情況,需要找第三方工具。
開始找的是log
explorer
for
sql
server,不支持sql
server
2008。
後來找的是sql
log
rescue,也不支持sql
server
2008。
接著找到的是systools
sql
recovery,支持sql
server
2008,但需要購買,demo版並沒有數據恢復功能。
最終在officerecovery.com上找到recovery
for
sql
server,雖然也是商業軟體,需要購買,但demo版可以恢復數據,只要資料庫文件不超過24gb。幸好朋友的資料庫文件不大,用它完成了誤刪除數據的恢復。
下面分享一下用recovery
for
sql
server進行恢復的操作步驟:
1.
運行recovery
for
sql
server
2.
點擊菜單中的
file
>
recover,選擇要恢復的資料庫的數據文件(.mdf)
3.
next
>
next,進入
recovery
configuration
界面,選擇custom(選擇了custom才可以選擇從日誌中恢復誤刪除的數據)。
4.
next
進入
recovery
options
窗口,選中
search
for
deleted
records,並選擇要恢復的資料庫的日誌文件路徑(log
file
path)。
5.
next
並選擇目標文件夾(destination
folder),用於存放恢復過程中生成的sql語句與bat文件。
6.
點擊start,開始恢復操作(在上一步選擇的目標文件夾中生成相應的sql文件與bat文件),然後,出現
sql
server
database
creation
utility
窗口。
7.
next,選擇被恢復數據存放的目標資料庫。
8.
next,
選擇
import
availiable
data
from
both
database
and
log
files
9.
next,
next,
然後就完成數據的恢復!

Ⅳ 日誌文件丟失或出錯的情況下如何恢復SQL資料庫

1. 新建資料庫(同名)
2. 停掉資料庫
3. 刪除新建資料庫的日誌文件,用要恢復的覆蓋mdf文件
4. 啟動資料庫伺服器
5. 設置資料庫允許直接操作系統表
6. 設置資料庫為緊急修復模式
update sysdatabases set status=-32768 where dbid=DB_ID('dbDataHome')
7. 重建資料庫日誌文件
dbcc rebuild_log('dbDataHome','D:\Data\dbData_Data.LDF')
8. 驗證資料庫一致性(可省略)
dbcc checkdb('dbDataHome')
9.設置資料庫為正常狀態
exec sp_dboption 'dbDataHome','dbo use only','false'
10. 最後一步,我們要將步驟E中設置的「允許對系統目錄直接修改」一項恢復。

Ⅳ mysql資料庫怎樣用日誌恢復數據sql語句

要想從二進制日誌恢復數據,你需要知道當前二進制日誌文件的路徑和文件名。一般可以從選項文件(即my.cnf or my.ini,取決於你的系統)中找到路徑。如果未包含在選項文件中,當伺服器啟動時,可以在命令行中以選項的形式給出。啟用二進制日誌的選項為-- log-bin。要想確定當前的二進制日誌文件的文件名,輸入下面的MySQL語句:
SHOW BINLOG EVENTS /G
你還可以從命令行輸入下面的內容:
mysql --user=root -pmy_pwd -e 'SHOW BINLOG EVENTS /G'
將密碼my_pwd替換為伺服器的root密碼。
1. 指定恢復時間
對於MySQL 4.1.4,可以在mysqlbinlog語句中通過--start-date和--stop-date選項指定DATETIME格式的起止時間。舉例說 明,假設在今天上午10:00(今天是2006年4月20日),執行SQL語句來刪除一個大表。要想恢復表和數據,你可以恢復前晚上的備份,並輸入:
mysqlbinlog --stop-date="2005-04-20 9:59:59" /var/log/mysql/bin.123456 /
mysql -u root -pmypwd
該命令將恢復截止到在--stop-date選項中以DATETIME格式給出的日期和時間的所有數據。如果你沒有檢測到幾個小時後輸入的錯誤的SQL語句,可能你想要恢復後面發生的活動。根據這些,你可以用起使日期和時間再次運行mysqlbinlog:
mysqlbinlog --start-date="2005-04-20 10:01:00" /var/log/mysql/bin.123456 /
mysql -u root -pmypwd /
在該行中,從上午10:01登錄的SQL語句將運行。組合執行前夜的轉儲文件和mysqlbinlog的兩行可以將所有數據恢復到上午10:00前一秒鍾。你應檢查日誌以確保時間確切。

熱點內容
高考解壓操 發布:2025-07-20 08:27:55 瀏覽:743
幣價壓縮 發布:2025-07-20 08:27:14 瀏覽:413
jqueryftp上傳 發布:2025-07-20 08:27:11 瀏覽:495
mysqllinux開發 發布:2025-07-20 08:00:46 瀏覽:77
c語言鏈表講解 發布:2025-07-20 07:55:54 瀏覽:901
IBM伺服器配置IMM口IP 發布:2025-07-20 07:43:52 瀏覽:724
html文件解決緩存 發布:2025-07-20 07:27:30 瀏覽:692
夢幻誅仙抓寶寶免費腳本 發布:2025-07-20 07:26:52 瀏覽:254
lol刷精粹腳本 發布:2025-07-20 07:24:35 瀏覽:176
伺服器虛擬化怎麼存儲 發布:2025-07-20 07:03:24 瀏覽:876