使用容器和資料庫轉殖進行資料庫遷移

2021-09-12 15:27:13 字數 1854 閱讀 9418

sql server遷移在dba的生命週期中是乙個常量,sql server 2008的支援終結正在推動大量的遷移規劃。資料庫遷移通常涉及將備份還原到目標環境,為應用程式測試提供開發和qa環境,以及識別已棄用的功能。當處理涉及需要數小時恢復的大量資料庫的大型複雜環境時,挑戰變得繁重。

docker容器與資料庫轉殖相結合,通過利用支援在幾秒鐘內交付複雜的多tb環境的不可變映像簡化了遷移。本文介紹了資料庫轉殖如何支援將sql server 2008遷移到sql server 2017 linux容器。

資料庫轉殖

windocks是乙個功能齊全的windows容器引擎,支援所有版本的sql server 2008以及資料庫轉殖。windocks還支援提供資料庫轉殖,以便與所有sql server環境一起使用,包括microsoft的sql容器(linux和windows)和傳統的sql server例項。該組合允許將sql server 2008資料庫傳送到公升級後的目標。

標題資料庫轉殖以不可變影象開始,支援為各種目標環境建立轉殖。資料庫映像使用dockerfiles和完整或差異備份構建,這些備份將還原到windows虛擬硬碟驅動器(vhd)中。父vhd成為不可變的全位元組副本,並支援在幾秒鐘內傳送讀/寫「差異磁碟」(轉殖),每個使用少於40 mb的儲存空間。sql server轉殖在支援windows伺服器的任何地方都可用,並且很受sql azure,aws或內部部署的開發和測試支援的歡迎。john hancock在devops enterprise summit 2018上談到了他們使用sql server資料庫轉殖作為devops策略的一部分:

構建資料庫轉殖映像

構建可轉殖的資料庫映像以純文字配置檔案(dockerfile)開頭,該檔案指定目標環境和使用的備份。以下示例構建乙個映像,該映像以linux四個sql server 2008完全備份中的轉殖為目標。在這種情況下,備份是本地的,網路檔案共享將使用通用檔案路徑。

標題dockerfile以sql server 2017映像開頭,後跟乙個環境變數,用於在執行時儲存和執行dockerfile。dockerfile包括構建時間和執行時引數,包括目標ip位址,共享smb資料夾以及使用者分配的埠和sa密碼。所述setupcloning full命令標識用於構建影象的備份。通過選擇dockerfile並分配影象名稱並單擊「構建」按鈕,可以使用docker命令列或web ui構建映像。

標題將sql server 2008資料庫提供給sql 2017 linux容器

完成影象構建後,web ui將更新以顯示新影象。提供了資料庫的下拉列表,以允許使用者選擇使用資料庫的子集。系統會提示使用者為sql server 2017 linux容器分配埠和sa密碼。

標題建立資料庫轉殖並配置linux sql server 2017容器並裝入資料庫只需不到一分鐘。windocks跟蹤轉殖資料庫的生命週期,並在不再需要時清理容器和掛載點。網頁將更新並顯示「資料環境」部分下的新增環境。通過ssms使用分配的埠和sa密碼訪問容器。

標題可以根據需要重複提供新環境的過程,以支援公升級環境的測試。

devops與資料和資料庫遷移

devops策略廣泛用於前端和無狀態應用程式,但組織仍在努力將關係後端合併到ci管道中。行業調查表明,平均資料庫後端測試環境每月更新兩次或更少,很少有組織今天獲得足夠的測試覆蓋率。

現在是時候使用生產資料庫轉殖來實現sql server遷移和devops的現代化。轉殖提供完整的讀/寫支援,可在幾秒內完成配置而不會影響儲存,並提供開發和測試完整的測試環境。雖然我們提倡將docker容器用於開發/測試,但組織還需要為所有sql server環境提供資料,而windocks通過支援microsoft dockers sql server容器以及例項和kubernetes來解決此問題。最後,本文中概述的過程同樣適用於將sql server 2008遷移測試到sql server 2016或其他目標。

使用容器和資料庫轉殖進行資料庫遷移

sql server遷移在dba的生命週期中是乙個常量,sql server 2008的支援終結正在推動大量的遷移規劃。資料庫遷移通常涉及將備份還原到目標環境,為應用程式測試提供開發和qa環境,以及識別已棄用的功能。當處理涉及需要數小時恢復的大量資料庫的大型複雜環境時,挑戰變得繁重。docker容器...

使用容器和資料庫轉殖進行資料庫遷移

sql server遷移在dba的生命週期中是乙個常量,sql server 2008的支援終結正在推動大量的遷移規劃。資料庫遷移通常涉及將備份還原到目標環境,為應用程式測試提供開發和qa環境,以及識別已棄用的功能。當處理涉及需要數小時恢復的大量資料庫的大型複雜環境時,挑戰變得繁重。docker容器...

使用容器和資料庫轉殖進行資料庫遷移

sql server遷移在dba的生命週期中是乙個常量,sql server 2008的支援終結正在推動大量的遷移規劃。資料庫遷移通常涉及將備份還原到目標環境,為應用程式測試提供開發和qa環境,以及識別已棄用的功能。當處理涉及需要數小時恢復的大量資料庫的大型複雜環境時,挑戰變得繁重。docker容器...