環境描述:
- SQL Server 2012(11.3000)
- 只有使用基本的Backup方案,沒有使用其他的DR(Disaster Recovery)方案。
- 有使用Third-Party軟體進行備份檔案的移地備份。
- 新舊資料庫主機的環境已設定成相同。
預期方案:
- 兩台資料庫主機在完成後,會進行IP的交換。
- 由於為了避免轉移失敗,所以會先保留原機,待移轉成功後,再進行舊機器的處理。
- 在搬移資料檔的方式有很多種,可以參考下列的作法,但由於我的二台主機的版本與版號完全相同,所以我將透過附加資料檔的方式進行。
Move a database from one server to another server in SQL Server 2008
http://blogs.msdn.com/b/sreekarm/archive/2009/09/11/move-a-database-from-one-server-to-another-server-in-sql-server-2008.aspx
先前檢查動作:
- 確認相關的應用程式,在進行搬移時,也需要進行停機的動作。
- 確認所有連線到此資料庫的應用程式,是否有透過資料庫主機名稱進行連線,如果有請進行調整。
- 確認新主機上的1433 Port是否已有開啟,詳細的SQL Server Port設定可以參考下列的連結:
Configure the Windows Firewall to Allow SQL Server Access
https://msdn.microsoft.com/en-us//library/cc646023(v=sql.120).aspx - 確認兩台資料庫設定(sp_configure)是否相符。
- 確認各資料庫的大小與搬移時所需的時間。
- 確認新主機的磁碟空間大小是否足夠。
- 確認資料庫搬移後,新的資料庫主機的磁碟代號是否相符。
- 確認有那些Database Login、Users與相關的權限設定。
- 確認有那些已建立的相依性物件(SQL Agent Jobs、Linked Servers)。
- 確認有那些維護計畫需要進行搬移。
- 確認有那些DTS Package需要進行搬移。
總體停機時間評估:
- 資料庫搬移:如我的資料庫總大小為122G,而如果透過單純的網路傳輸,約為每秒80MB,所以大約傳輸完成最快要下列的時間,但實際上可能不會這麼的理想。
All Data Files 122G/ Network Transfer 80MB = 1561.6 sec - 移轉登入與密碼(可事先準備)
- 解決孤兒使用者的問題,相關的處理方式,請使用下列的語法進行處理。
sp_change_users_login (Transact-SQL)
https://technet.microsoft.com/zh-tw/library/ms174378(v=sql.110).aspx - 移動作業、警示與操作員(可事先準備)。
- 移動 DTS 封裝(可事先準備)
- IP位置更換
- 相關應用程式上線與測試。
- 相關問題排除。
PS:在總體時間上建議可以多評估較長時間,以免在轉移後發現問題無法即時處理。
詳細轉移動作:
關於詳細的轉換方式,由於在官網上已有詳細的說明,如下列的作法,我將大項目列出,僅供參考。
- 移動使用者資料庫
- 移轉登入與密碼
- 解決孤兒使用者的問題
- 移動作業、警示與操作員
- 移動 DTS 封裝
- 變更 sp_configure 設定以符合先前的系統
如何在執行 SQL Server 的電腦之間移動資料庫
https://support.microsoft.com/zh-tw/kb/314546
確認檢查表:
檢查表檔案下載:
https://onedrive.live.com/redir?resid=F8199A68177F41CB!7062&authkey=!ABsNtbO68dxPBtI&ithint=file%2cxlsx
關鍵字:Migrating SQL Server Databases、Checklist、Move Database
請問, 使用 Database Mirroring 是否會比較輕鬆些?
回覆刪除1. 舊 SQL mirror 到新主機,程式加 failover 設定
2. SQL mirror 切換, 確認相關程式是否正常運作
要看你的需求而定,因為我的二台新舊主機的規格不同,所以不建議作這樣的設定,如果要進行Database Mirroring也是建議兩台主機規格相同會比較好,另外目前你也可以考慮使用AlwaysOn會是比較好的作法。
刪除您好,請問我的環境是實體的雙主機 MSSQL2008 cluster要P2V轉成單主機的VM Host上去運作的話,這個步驟是否一樣能套用呢?還是有需要再調整哪些的呢?感謝您~
回覆刪除