<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    SQL Server DBA三十問之我答(第7題)

    前幾天看到一篇“SQL ServerDBA三十問”,很不錯,比較中肯。這些題目還是需要一定操作經驗的才能答得上來,其中的很多題目都可以通過books online查到,有些題目我也非常感興趣,因為也處理過類似的問題,所以印象深刻,現在把我的答案寫出來,希望可以幫到有緣人,如果有更好的方案,當然我也很樂意學學。

      題目:7在線系統,一個表有五千萬記錄,現在要你將其中的兩千萬條記錄導入到另一臺服務器的某個表中,導完后,需要將這兩千萬數據刪 除,你預備如何處理,優缺點是什么;

      我的答案:(先說明一下我的環境是sqlserver 2000,并且假設他有主鍵id)

      第1步:先做一個表,t_update_log,記錄更新過的記錄的主鍵id,記錄修改和刪除的記錄,這步驟的具體作用看下面的步驟;

      第2步:導出2000萬的數據到另一個庫另一表,我起名為 t_2000w ,我是用dts來處理的,效率很好,如果沒有大字段,2000萬大概3個小時可以導完,如果有大字段,比如很大的varchar,text,ntext 等,那需要的時間久會比較長,具體時間還要看數據的大小。

      第3步:刪除當前庫導出的2000萬,我把當前庫起名為 t_5000w, 我是這樣來處理的,首先建一個和源數據表相同結構的表,起名t_3000w,導入剩下的3000萬條數據,然后用sp_rename 分別修改兩個表,把t_5000w改成t_5000w_bak,把t_3000w改成t_5000w(即源表), 大概就是這樣,很easy吧。

      別急,第一步的準備工作還沒用上呢,而且還有很多細節的問題。

      Q1:如何保證數據的準確性,如果你在導入的同時有人對數據進行了更新怎么辦?

      Q2:盡量減少對用戶的影響,如果在sp_rename修改表名稱需要的時間比較長,而且剛好有數據需要insert怎么辦?

      我的解決方案:

      A1:剛好用到了第1步的表t_update_log,把有更新的記錄再重新導入到新表t_2000w,從此記錄表中t_update_log找出被刪除的id,從t_2000w中刪除;

      A2:修改對表t_5000w的insert操作接口,可以再建一個結構和t_5000w一樣的新表,取名t_6000w,如果有自增id,把自增id的當前值設置為6000w,然后新增的數據都insert到t_6000w中,如果你的數據庫操作都是通過存儲過程統一操作,那很幸運,你只需要修改存儲過程,不需要修改你的。net程序,你甚至可以不停止服務就可以順利升級,在這里存儲過程的優越性得到了充分體現,如果你不是通過存儲過程,而是sql語句,而且調用的地方很多,那我建議,升級期間你還是暫停服務吧。

      當然以上操作都是需要再測試環境下演練一遍,記錄下每一部需要的時間,并且做好失敗時能及時恢復到之前狀態。當然升級期間還是建議暫停服務,因為大部分人可以接受暫停服務,但不能接受數據丟失。

    posted on 2011-10-31 11:55 順其自然EVO 閱讀(157) 評論(0)  編輯  收藏 所屬分類: 數據庫

    <2011年10月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久久亚洲精品国产| av在线亚洲欧洲日产一区二区| 亚洲国产精品第一区二区| www一区二区www免费| 国产亚洲精品自在久久| 另类免费视频一区二区在线观看| 亚洲精品无码午夜福利中文字幕 | 一级做a爰全过程免费视频| 亚洲色偷偷偷鲁综合| 波多野结衣免费一区视频| 久久亚洲成a人片| 99视频精品全部免费观看| 亚洲福利电影一区二区?| 69xx免费观看视频| 亚洲中文字幕久久久一区| 国产成人无码免费视频97| 一出一进一爽一粗一大视频免费的| 亚洲一区二区三区在线视频| 国内精品一级毛片免费看| 亚洲精品在线播放视频| 无码永久免费AV网站| 男女啪啪免费体验区| 国内精品久久久久久久亚洲| 国产午夜无码精品免费看| 亚洲国产精品专区| 国产不卡免费视频| 久久久久国产精品免费看| 99亚偷拍自图区亚洲| 亚洲国产精品日韩| 99re6热视频精品免费观看| 亚洲日韩亚洲另类激情文学| xvideos亚洲永久网址| 久久国产精品2020免费m3u8| 亚洲日本人成中文字幕| 亚洲男女内射在线播放| 久久国产精品成人片免费| 亚洲欧美日韩国产成人| 久久亚洲国产欧洲精品一| 四色在线精品免费观看| 成人免费av一区二区三区| 亚洲一区二区三区在线网站|