好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > SQLServer恢復表級數據詳解

SQLServer恢復表級數據詳解

熱門標簽:怎樣把地圖標注導入公司地址 廣州人工電銷機器人費用 地圖標注一個圓圈怎么用 400外呼系統合法 洛陽外呼系統平臺 寧波人工外呼系統有效果嗎 真人語音電銷機器人 如何在地圖標注自己店鋪 電銷機器人被曝光

最近幾天,公司的技術維護人員頻繁讓我恢復數據庫,因為他們總是少了where條件,導致update、delete出現了無法恢復的后果,加上那些庫都是幾十G。恢復起來少說也要十幾分鐘。為此,找了一些資料和工作總結,給出一下幾個方法,用于快速恢復表,而不是庫,但是切記,防范總比亡羊補牢好。

在生產環境或者開發環境,往往都有某些非常重要的表。這些表存放了核心數據。當這些表出現數據損壞時,需要盡快還原。但是,正式環境的數據庫往往都是非 常大的,統計數據表明,1T的數據庫還原時間接近24小時,所以因為一個表而還原一個庫,不單空間,甚至時間上都是一個很大的挑戰。本文介紹如何恢復單 表,而不需要恢復整個庫。

現在假設一個表:TEST_TABLE。我們需要盡快恢復這個表,并且把恢復過程中對其他表和用戶的影響降到最低。

SQLServer(特別是2008以后),具有很多備份及恢復功能:完整、部分、文件、差異和事務備份。而恢復模式的選擇嚴重影響備份策略和備份類型。

下面是幾個可供參考的方案,但是記住,各有好壞,應該按照實際需要選擇:

方案1:恢復到一個不同的數據庫:

對于小數據庫來說不失為一種好的辦法,用備份還原一個新的庫,并把新庫中的表數據同步回去。你可以做完整恢復,或者時間點恢復。但是對于大數據庫,是非常耗時和耗費磁盤空間的。這個方法僅僅用于還原數據,在還原數據(就是同步數據)的時候,你要考慮觸發器、外鍵等因素。

方案2:使用STOPAT來還原日志:

你可能想恢復最近的數據庫備份,并回滾到某個時間點,即發生意外前的某個時刻。此時可以使用STOPAT子句,但是前提是必須為完整或大容量日志恢復模式。下面是例子:

RESTORE DATABASE 需要恢復的數據庫 
 FROM 數據庫備份 
 WITH FILE=3, NORECOVERY ; 
 
RESTORE LOG需要恢復的數據庫 
 FROM數據庫備份 
 WITH FILE=4, NORECOVERY, STOPAT = 'Oct 22, 2012 02:00 AM' ; 
 
RESTORE DATABASE 需要恢復的數據庫 WITH RECOVERY ; 

注意:這種方法的主要缺點是會覆蓋掉從stopat指定時間點之后所修改的所有數據。所以要衡量好得失。

方案3:數據庫快照:

創建數據庫快照。當發生意外時,可以從快照中直接獲取原來的數據。但是必須是在發生意外之前創建的快照。這在核心表不經常更新,特別是有規律更新時很有用。但是當表經常、不定期被更新,或者很多用戶在訪問時,這種方法就不可取了。當需要使用這種方法時,記得在每次更新前先創建快照。

方案4:使用視圖:

你可以創建一個新的數據庫,并把TEST_TABLE移動到這個庫里面。當你需要恢復的時候,你只需要恢復這個非常小的數據庫即可。訪問源數據庫的數據時,最簡單的方法就是創建一個視圖,選擇TEST_TABLE表中所有列的所有數據。但是注意這個方法需要在創建視圖前,重命名或者刪除源數據庫的表:

USE 需要恢復的數據庫 ; 
GO 
CREATE VIEW TEST_TABLE 
AS 
  SELECT * 
  FROM  備份數據庫.架構名.TEST_TABLE ; 
GO 

使用這種方法,可以對視圖使用SELECT /INSERT/UPDATE/DELETE語句,就像直接操作實體表似得。當TEST_TABLE更改時,要使用SP_REFRESHVIEW存儲過程來更新元數據。

方案5:創建同義詞(Synonym):

和方案4類似,把表移到另外一個數據庫,然后對源數據庫的這個表創建一個同義詞:

USE 需要恢復的數據庫 ; 
GO 
CREATE SYNONYM TEST_TABLE 
FOR 新數據庫.架構名.TEST_TABLE ; 
GO 


方案6:使用BCP保存數據:

你可以創建一個作業,使用BCP定期導出數據。但是這種方法的缺點和方案1類似,需要找到哪天的文件并導進去,同時要考慮觸發器和外鍵問題。

各種方法的對比:這個方法的有點就是你不需要擔心元數據更新所帶來的結構變更不及時。但是這個方法的問題就是不能在DDL語句中引用同義詞,或者不能在鏈接服務器中找到。

方法 優點 缺點
還原數據庫 快且容易 適用于小庫,且要注意觸發器和外鍵等
還原日志 能指定時間點 所有時間點后的新數據會被覆蓋
數據庫快照 當表不是經常更新時很有用 當表并行更新時,快照容易出現問題
視圖 把表的數據于庫分開,沒有數據丟失 元數據需要周期性更新,并要定期維護新數據庫
同義詞 把表的數據于庫分開,沒有數據丟失 在鏈接服務器上不能用,并要定期維護新數據庫
BCP 擁有表的專用備份 需要額外的空間、還會出現觸發器、外鍵等問題

總結:

良好的編程習慣和良好的備份機制才是解決問題的根本,以上的措施都僅僅是一個亡羊補牢的辦法。可能有人說SQLServer 新版本不是有部分還原嗎?我們來看看聯機叢書的說明:

可以看到,其他這種方法很難還原一個表,但是當庫小的時候,倒可以試試。

標簽:石家莊 北海 珠海 咸寧 東營 南昌 煙臺 晉中

巨人網絡通訊聲明:本文標題《SQLServer恢復表級數據詳解》,本文關鍵詞  SQLServer,恢復,表級,數據,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQLServer恢復表級數據詳解》相關的同類信息!
  • 本頁收集關于SQLServer恢復表級數據詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 体验区辣妞范1000部视频| 精品国产午夜激无码毛片| 男人桶女人底下好爽视频| 欧美精品成人久久网站| 美女白嫩大腿张开| 天堂VA蜜桃一区二区三区| 欧美国产在线精品17p| 乖女小芸的奶水| 好爽?好紧?添奶头亚洲人| 国产精品美女一区二区| 欧美色图偷窥自拍| 天天躁狠狠躁| 短裙公车被强好爽H刘晓莉| 男女达到性高朝朝视频| 高辣~高h乱肉| 羞羞网| 大尺度直播app| 在线AV成人无码国产| 亚洲swag精品自拍一区| 久久精品青草社区| 女同videos双性人| 推荐一些包含国产的在线观看视频网站| JJZZJJZZ亚洲成熟少妇| 国产揄拍视频在线观看| 亚洲精品电影| 91视频免费观看高清观看完整 | 高清不卡毛片| 乡下女艳史一级| 八戒,八戒影视大全免费版| 国产91?在线播放九色竹菊影视| 成人狠狠色综合| 好色艳妇小说| 纳西妲触手捆绑喷水调教呻吟| 国产女人水真多18毛片18精品| 女人被添荫蒂舒服了A片看| 开嫩苞破呦处| 聊斋艳遇| 阴道分泌物增多| 国产aⅴ无码乱码精品专区作文| 国产欧美??????| 国产精品hd免费观看|