Board logo

標題: Microsoft SQL server 異機備份 [打印本頁]

作者: chun    時間: 2008-7-3 22:13     標題: Microsoft SQL server 異機備份

http://tw.myblog.yahoo.com/jw!7KOAi5OEGQL9D1WOQ2X5/article?mid=-2&prev=6&l=a&fid=5

Microsoft SQL server 異機備份

分類:未分類資料夾
2008/05/18 04:10

Microsoft SQL server 異機備援

 

MS SQL 很討厭的就是.....執行計畫所衍生出來的.bak只能存在本機,網路上的分享資料夾還不給存,萬一要是整台機器被雷打到怎麼辦,微軟一定又會說 [你要買XXX的授權阿!!!!  很貴喔] 。

 

其實省錢有省錢的作法

 

直接複製資料庫實體檔案到網路上的資料夾,假設SQL實體檔案在E:\Microsoft SQL Server\MSSQL\Data。

 

    net use z: \\190.190.190.85\sqlbackup "password" /user:domain.com.tw\administrator
    ;將網路上的資料夾\\190.190.190.85\sqlbackup掛載成 Z:

    ;密碼是password,帳號是網域中的administrator

 

    net stop mssqlserver
    ;將資料庫停止

 

    xcopy "E:\Microsoft SQL Server\MSSQL\Data" Z:\1_Mon\ /H /E /X /O /K /Y
    ;複製 E:\Microsoft SQL Server\MSSQL\Data 裡面所有的資料到 Z:\1_Mon\

    ;"雙引號"的使用時機是當目錄名稱有空格或是中文的時候

    ; xcopy /? 可以了解其參數內容

   

     net start mssqlserver
    ;開啟資料庫

   

     net use z: /delete

     ;卸載Z:
 

 

其實也可以複製資料庫執行計畫所衍生出來的BAK檔,做法也都差不多,差在不用停資料庫而已。

 

複製實體檔案還好,同檔名的實體資料庫用以上的指令是會Overwrite的,不會有容量的問題。這是我初期的作法,後來想到每天資料庫都停停走走的也不對,所以想到要複製bak檔。。但是複製bak的情況又不一樣............

 

  1. 執行計畫保留一個禮拜,用以上的方法每天都要copy一個禮拜的資料,硬碟會累死。

 

  2 . 沒有下判斷式去刪除網路資料夾上的過期資料,要用手動的就算每個禮拜手動刪一次我也嫌煩。

 

 那時候要做之前就想到以上兩個問題,有一天假日到跟女朋友吃麥當勞的時候大便想到的解決方法。

 

  

  1 . 網路資料夾新增禮拜一到禮拜五共五個資料夾。

 

  2 . 執行計畫設定五個,每個執行計畫分別放在禮拜一到禮拜五的資料夾。

 

  3 . 批次檔也寫五個,不同的來源複製到相對應的網路資料夾。

 

  4 . 每個資料夾下一個刪除目的地資料夾的指令。

 

 

這個想法後來時作上是成功了,不過後來跟公司申請一部PC,灌Linux並且在上面寫判斷是,一個檔案幾行就搞定禮拜一到禮拜五的bak備份了。

 

不知道有沒有人可以提供Windows的寫法.......最好是一個檔案幾行就可以搞定禮拜一到禮拜五的。

 

(Syncback這支程式好像可以做網路資料夾同步,不過我還是想知道Windows的寫法)







歡迎光臨 百利工頭 (http://bb.pc104.tw/) Powered by Discuz! 6.0.0