翻譯|使用教程|編輯:莫成敏|2019-08-29 09:38:14.123|閱讀 285 次
概述:本教程介紹了這些技術的簡單擴展,其中包含SQL Compare Snapshots,本文是該教程的后半部分。快照是一個緊湊的二進制文件,它捕獲源數據庫結構的時間點副本。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
SQL Compare是一款比較和同步SQL Server數據庫結構的工具。現有超過150,000的數據庫管理員、開發人員和測試人員在使用它。當測試本地數據庫,暫存或激活遠程服務器的數據庫時,SQL Compare將分配數據庫的過程自動化。
本文介紹了這些技術的簡單擴展,其中包含SQL Compare Snapshots。快照是一個緊湊的二進制文件,它捕獲源數據庫結構的時間點副本。快照不包含任何表數據。它有點像VCS中的標記或分支,但是快照無法修改,因此表示數據庫結構的完全穩定視圖,因為它在創建時存在。內容緊接上文~
生成回滾腳本
如果源是快照,并且目標是數據庫或底層腳本目錄的較新版本,則部署腳本將修改目標,以使其結構狀態與快照的結構狀態匹配。實際上,這意味著它將回滾所有更改,還原任何對象修改,刪除隨后添加的任何對象,以及重新創建任何已刪除的對象。
假設我已經從scripts文件夾部署了一個新的CustomersPOC數據庫到我的開發SQL Server 2017實例中,然后對我的開發副本(刪除表)進行了一些數據庫更改,現在運行一個與原始快照的比較作為源。
在將任何更改部署到目標之前,我們可以選擇在部署之前備份目標,SQL Compare將創建完整數據庫備份,該備份將備份架構和所有數據,或者創建目標的新SQL Compare快照,這將是一個僅模式的副本,節省時間和磁盤空間。如果我想在以前的POC上重新運行某些測試但不想丟失我后續的工作,這很有用。
最后,我們生成部署腳本,在這種情況下,將在我的目標CustomerPOC數據庫中重新創建我之前刪除的Contacts表。
SQL Compare將首先捕獲目標(我的CustomersPOC開發數據庫)的新快照,然后運行部署腳本進行修改CustomersPOC,與原始Customers快照同步。
使用快照作為目標
當我們希望在開發項目開始時從當前源創建新快照時,我們已經有一種方法將快照用作目標,或者保存源數據庫的狀態以供以后使用。
但是,我們也可以將現有快照用作目標,并將其與數據庫、備份、腳本文件夾或其他快照進行比較。請記住,我們無法修改現有快照,因此生成的部署腳本的目標實際上是快照的源數據庫。部署腳本將同步目標,以使其在結構上與源數據庫相同。
當它接近將開發更改部署到預生產環境或生產時,這非常有用。例如,團隊可以將開發中的最新數據庫版本與生產數據庫的快照進行比較,并為DBA提供部署腳本,以供詳細查看。
將快照用作源和目標
有時團隊會想要比較兩個快照。例如,如果無法直接將源開發數據庫與不同環境中的最新數據庫版本進行比較,則可能會發生這種情況,因為它們位于不同的網段上。或者,開發團隊可能有幾個POC快照,并希望了解它們之間的區別,以便它們可以將更改合并到一個數據庫中。
將快照設置為源和目標時,SQL Compare將生成部署腳本以修改目標快照的數據庫,以便在結構上匹配源快照。因此,例如,如果開發團隊為DBA提供了開發數據庫最終版本的快照,則DBA可以將其與生產數據庫的最新快照進行比較,并檢查生成的部署腳本。
結論
快照提供了一種在開發工作期間跟蹤更改的簡便方法,無論它們是迭代之間的小變化,還是發布之間的重大更改。快照可用于在發布期間快速生成回滾腳本,即使在出于安全原因而被基礎結構設計隔離的環境中也是如此。
金喜正規買球相關的文章:
SQL Compare快照:輕量級數據庫版本控制和回滾機制(上)
SQL Compare教程:工作示例——比較和部署兩個數據庫(上)
SQL Compare教程:工作示例——比較和部署兩個數據庫(下)
想要購買SQL Compare正版授權,或了解更多產品信息請點擊
掃描關注慧聚IT微信公眾號,及時獲取最新動態及最新資訊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn