sqlserver表修復,mysql數(shù)據(jù)庫表修復
sqlserver 刪除數(shù)據(jù)庫 怎么恢復
使用命令,是通過sqlserver的事務(wù)日志以及一個誤刪除前的數(shù)據(jù)庫的完整備份進行還原,所以在sqlserver2012的維護計劃向?qū)е?,要建立完整備份,差異備份和事?wù)日志,具體如下
以及在數(shù)據(jù)庫屬性,選項設(shè)置中,設(shè)置為完整備份,做好如上兩個設(shè)置,數(shù)據(jù)庫誤刪后找回數(shù)據(jù)就會非常輕松,現(xiàn)在說一下如何還原sqlserver數(shù)據(jù)到故障點。
sqlserver數(shù)據(jù)庫數(shù)據(jù)被刪除了怎么還原
SQL Server中誤刪除數(shù)據(jù)的恢復本來不是件難事,從事務(wù)日志恢復即可。但是,這個恢復需要有兩個前提條件:
1. 至少有一個誤刪除之前的數(shù)據(jù)庫完全備份。
2. 數(shù)據(jù)庫的恢復模式(Recovery mode)是“完整(Full)”。
針對這兩個前提條件,會有三種情況:
情況一、如果這兩個前提條件都存在,通過SQL語句只需三步就能恢復(參考文章),無需借助第三方工具。
a) 備份當前數(shù)據(jù)庫的事務(wù)日志:BACKUP LOG [數(shù)據(jù)庫名] TO disk= N'備份文件名' WITH NORECOVERY
b) 恢復一個誤刪除之前的完全備份:RESTORE DATABASE [數(shù)據(jù)庫名] FROM DISK = N'完全備份文件名' WITH NORECOVERY, REPLACE
c) 將數(shù)據(jù)庫恢復至誤刪除之前的時間點:RESTORE LOG [數(shù)據(jù)庫] FROM DISK = N'第一步的日志備份文件名' WITH STOPAT = N'誤刪除之前的時間點' , RECOVERY
情況二、如果第1個前提條件不存在,第2個前提條件存在,需要借助第三方工具。
情況三、如果第2個前提條件不存在,無法恢復。所以,一定要將數(shù)據(jù)庫恢復模式設(shè)置為“完整(Full)”。
我現(xiàn)在面臨的是第二種情況,需要找第三方工具。
開始找的是Log Explorer for SQL Server,不支持SQL Server 2008。
后來找的是SQL Log Rescue,也不支持SQL Server 2008。
接著找到的是SysTools SQL Recovery,支持SQL Server 2008,但需要購買,Demo版并沒有數(shù)據(jù)恢復功能。
最終在officerecovery.com上找到Recovery for SQL Server,雖然也是商業(yè)軟件,需要購買,但Demo版可以恢復數(shù)據(jù),只要數(shù)據(jù)庫文件不超過24Gb。幸好朋友的數(shù)據(jù)庫文件不大,用它完成了誤刪除數(shù)據(jù)的恢復。
下面分享一下用Recovery for SQL Server進行恢復的操作步驟:
1. 運行Recovery for SQL Server
2. 點擊菜單中的 File Recover,選擇要恢復的數(shù)據(jù)庫的數(shù)據(jù)文件(.mdf)
3. Next Next,進入 Recovery Configuration 界面,選擇Custom(選擇了Custom才可以選擇從日志中恢復誤刪除的數(shù)據(jù))。
4. Next 進入 Recovery options 窗口,選中 Search for deleted records,并選擇要恢復的數(shù)據(jù)庫的日志文件路徑(log file path)。
5. Next 并選擇目標文件夾(Destination folder),用于存放恢復過程中生成的SQL語句與bat文件。
6. 點擊Start,開始恢復操作(在上一步選擇的目標文件夾中生成相應(yīng)的SQL文件與Bat文件),然后,出現(xiàn) SQL Server Database Creation Utility 窗口。
7. Next,選擇被恢復數(shù)據(jù)存放的目標數(shù)據(jù)庫。
8. Next, 選擇 Import availiable data from both database and log files
9. Next, Next, 然后就完成數(shù)據(jù)的恢復!
怎樣恢復損壞的SQL Server數(shù)據(jù)文件
1、確保備份下的master數(shù)據(jù)庫與要恢復的SQL SERVER的版本一致性。
2、關(guān)閉打開SQL Server Management Studio,打開服務(wù)器管理器,點擊“配置”-“服務(wù)”,找到SQL SERVER服務(wù),右鍵點擊出快捷菜單。點擊“停止”停止MSSQLSERVER服務(wù)。
3、以管理員賬戶打開cmd,輸入以下的命令:net start mssqlserver?/m。
4、打開SQL Server Management Studio,出現(xiàn)連接到服務(wù)器的窗口,點擊取消。
5、點擊“新建查詢”,出現(xiàn)連接到服務(wù)器的窗口,點擊確定。因為是單用戶模式,因此只能有一個鏈接進入。
6、在查詢窗口輸入以下的命令。
7、重新啟動SQL SERVER(MSSQLSERVER)服務(wù),右鍵點擊出快捷菜單。點擊“啟動”啟動服務(wù)就可以了。
sqlserver怎么恢復刪除
使用Log Explorer查看和恢復數(shù)據(jù)
Log Explorer 4.1.可用于SQL Server2005的日志查看工具
下載地址:
使用方法:
打開Log Explorer - Attach Log File - 選擇SQL Server服務(wù)器和登陸方式 - Connect -
在Database Name中選擇數(shù)據(jù)庫 - Attach- 左面對話框中Browse- View Log- 就可以看到log記錄了
想恢復的話: 右鍵Log記錄 Undo Transation- 選擇保存文件名和路徑- 然后打開該文件到查詢分析器里執(zhí)行
T-sql代碼就可以了
例如 如果Log是delete table where ...的話,生成的文件代碼就是insert table ....
然后將此insert table的代碼放到查詢分析器里執(zhí)行.就可以恢復數(shù)據(jù).
----------------------------------------------------------------------
--如何恢復被delete/update的數(shù)據(jù)
----------------------------------------------------------------------
1 連接到被刪除數(shù)據(jù)庫的Db
打開log explorer 選擇 "file"-"attach log file"-選擇服務(wù)器和登陸方式-"connect"-選擇"數(shù)據(jù)庫"-"attach"
2 查看日志
在左面操作項目的對話框中選擇"browse"項目-"view log"-就可以看到當前的Log記錄了
3 恢復數(shù)據(jù)
右鍵某一條log記錄,選擇"undo transation"-"選擇保存文件名和路徑"-然后打開該文件到查詢分析器里執(zhí)行
T-sql代碼就可以了
例如: 如果log是delete table where ...的話,生成的文件代碼就是insert table ....
----------------------------------------------------------------------
--Log Explorer恢復被drop table和truncate table后的數(shù)據(jù)
----------------------------------------------------------------------
1 連接到被刪除數(shù)據(jù)庫的Db
操作同上
2 恢復方法
1) 選擇"salvaage dropped/truncate"菜單,在右邊的對話框中選擇表名,和droped/trucated的日期,
File Name中選擇生成insert語句腳步的存放位置,condition選擇是droped還是truncated,
最后點擊"create" 就會生成insert語句,把生成的語句到查詢分析器里面執(zhí)行一下就可以了
2) 選擇"ViewDDL Commands"菜單-選"truncate table" 操作項-點擊"Salvage"-生成語句-查詢分析器里執(zhí)行
----------------------------------------------------------------------
--log explorer使用的幾個問題
----------------------------------------------------------------------
1) 對數(shù)據(jù)庫做完全/差異/日志備份
備份時如果選用了刪除事務(wù)日志中不活動的條目
再用Log explorer打試圖看日志時,提示No log recorders found that match the filter,would you like to view unfiltered data 選擇yes 就看不到剛才的記錄了
如果不選用了刪除事務(wù)日志中不活動的條目
再用Log explorer打試圖看日志時,就能看到原來的日志并做恢復
2) 修改了其中一個表中的部分數(shù)據(jù),此時用Log explorer看日志,可以作日志恢復
3) 然后恢復備份,(注意:恢復是斷開log explorer與數(shù)據(jù)庫的連接,或連接到其他數(shù)據(jù)上,
否則會出現(xiàn)數(shù)據(jù)庫正在使用無法恢復)
恢復完后,再打開log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data,選擇yes 就看不到剛才在2中修改的日志記錄,所以無法做恢復.
4) 不要用SQL的備份功能備份,搞不好你的日志就破壞了.
正確的備份方法是:
停止SQL服務(wù),復制數(shù)據(jù)文件及日志文件進行文件備份.
然后啟動SQL服務(wù),用log explorer恢復數(shù)據(jù)
如何恢復SQLServer表級數(shù)據(jù)詳解
方案1:恢復到一個不同的數(shù)據(jù)庫:
對于小數(shù)據(jù)庫來說不失為一種好的辦法,用備份還原一個新的庫,并把新庫中的表數(shù)據(jù)同步回去。你可以做完整恢復,或者時間點恢復。但是對于大數(shù)據(jù)庫,是非常耗時和耗費磁盤空間的。這個方法僅僅用于還原數(shù)據(jù),在還原數(shù)據(jù)(就是同步數(shù)據(jù))的時候,你要考慮觸發(fā)器、外鍵等因素。
方案2:使用STOPAT來還原日志:
你可能想恢復最近的數(shù)據(jù)庫備份,并回滾到某個時間點,即發(fā)生意外前的某個時刻。此時可以使用STOPAT子句,但是前提是必須為完整或大容量日志恢復模式。
上一篇:sqlserver存不m,sql數(shù)據(jù)庫保存不了
欄 目:數(shù)據(jù)庫其它
下一篇:沒有了
本文標題:sqlserver表修復,mysql數(shù)據(jù)庫表修復
本文地址:http://mengdiqiu.com.cn/a1/shujukuqita/17168.html
您可能感興趣的文章
- 04-02sqlserver存不m,sql數(shù)據(jù)庫保存不了
- 04-02sqlserver監(jiān)視器,sqlserver性能監(jiān)控工具
- 04-02sqlserver復選框,select 復選框
- 04-02sqlserver信任域,sql該登錄名來自不受信任的域
- 04-02sqlserver生日,sql查詢生日
- 04-02sqlserver容量,sql server數(shù)據(jù)容量上限
- 04-02sqlserver容量,sqlserver多大
- 04-02sqlserver存不m,sqlserver無法保存更改
- 04-02sqlserver上鎖,sql server 鎖表和解鎖


閱讀排行
本欄相關(guān)
- 04-02sqlserver表修復,mysql數(shù)據(jù)庫表修復
- 04-02sqlserver存不m,sql數(shù)據(jù)庫保存不了
- 04-02sqlserver復選框,select 復選框
- 04-02sqlserver監(jiān)視器,sqlserver性能監(jiān)控工具
- 04-02sqlserver信任域,sql該登錄名來自不受信
- 04-02sqlserver生日,sql查詢生日
- 04-02sqlserver容量,sqlserver多大
- 04-02sqlserver容量,sql server數(shù)據(jù)容量上限
- 04-02sqlserver存不m,sqlserver無法保存更改
- 04-02sqlserver上鎖,sql server 鎖表和解鎖
隨機閱讀
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 04-02jquery與jsp,用jquery
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-10C#中split用法實例總結(jié)
- 01-10delphi制作wav文件的方法
- 08-05DEDE織夢data目錄下的sessions文件夾有什