天天看點

SqlServer資料庫附加、備份、與生成sql腳本的應用解析

前段時間做好一套生産系統,在本地部署測試都搞定了以後。興奮滴跑去深圳客戶現場部署,發現:客戶沒有按照先前溝通好的執行,他們沒有選擇安裝我們推薦的軟硬體環境。他們的版本比我們本地測試環境的版本更高。雖然在理論上是不會出什麼問題,但是,我還是決定,在他們的系統上,先搭建一個測試環境。

1:把本地的資料庫腳本,在客戶測試環境中執行,檢查一下,全部執行成功!

2:網站部署一切正常。

于是,開始驗證功能。這時候發現,之前內建的一個開源OA子產品的建立流程子產品,不能用了。原先建立好的流程都無法顯示了。通過分析,這是資料庫的問題。于是,用VS的資料對比功能,将本地資料庫和實際環境中的資料庫進行對比。發現:果然是少了兩個表。最後,通過将本地資料庫分離出來,附加到客戶環境中。問題解決了。那麼問題又來了,附加分離可以搞定,那麼備份還原是否也可以搞定呢?通過驗證備份還原,一樣可以。

這次的經曆,我想對這幾種遷移的方式做一個總結。在學校的時候,遇到資料庫遷移,一般都是用 附加分離,或者用備份還原。但是工作以後,經常有資料庫版本差異,經常碰到要将高版本的資料庫,遷移到低版本的資料庫環境中。是以就習慣使用生成腳本的方式。實際上,生成腳本的方式是有風險的。因為你無法确定資料庫腳本生成是否完整,你也無法确定腳本是否全部執行成功。因為這跟資料庫使用者的權限有關系,如果你想用生成腳本的方式,建議盡量使用sa帳戶。

資料庫分離附加一般是在資料庫不需要使用的情況下使用。因為分離後,資料庫就不能使用了,如果要重新使用,就需要附加資料庫了。分離附加方式的好處是:速度快。簡單友善。

資料庫備份還原,這個應該是最經常使用的。我一般是遠端備份,然後下載下傳到本地。備份的同時,資料庫也可以使用。建議在資料庫連接配接數比較少的時候,進行備份。

生成腳本的方式,一般用在高版本的資料庫,要遷移到低版本的資料庫中。這時也要記得選擇資料庫相容性。

這是關于sqlserver資料庫遷移的一些想法,希望對大家有幫助!

另外送大家一點福利,這妹子鞋服買一送一

SqlServer資料庫附加、備份、與生成sql腳本的應用解析