資料庫發布嚮導(Database Publishing Wizard)是一個流行的Visual Studio外掛程式,它支援把本地的資料庫部署到遠程主機上去。Visual Web Developer團隊宣布將把這個嚮導整合到Visual Studio 2008之中。
目前Visual Studio 2008的Beta 2版本還沒包含這個嚮導,不過預計2008年2月發布的VS 2008 RTM將會一併安裝這個嚮導的1.2版。這個資料庫發布外掛程式現在的版本是1.1,從屬於SQL Server Hosting Toolkit。這個工具包為主機服務的使用者和提供者提供了以下方案:
◆對於主機服務的客戶
◆Database Publishing Wizard簡化了上傳資料庫到主機的操作,還可以根據對象或者你的資料庫中的資料產生T-SQL。
◆對於主機服務提供者
◆Database Publishing Services是一組ASP.NET Web Services,你可以很容易地部署它,從而方便你的客戶在你的環境中部署SQL Server資料庫。
Scott Guthrie為Visual Studio Database Publishing外掛程式的首個發布版本寫了一篇部署資料庫的詳細指南,還寫了一篇對目前1.1版的概要介紹。
雖然這個發布嚮導在SQL Server資料庫的部署方面是一個不錯的開始,但它要成為一個完全成熟的構建方案還缺乏不少特性。Jean-Paul Boodhoo在部落格上撰寫了一系列文章,討論“用NAnt自動化構建”。其中第6部分討論了構建SQL Server資料庫的設定和定製細節。
Peter Hancock也寫了一篇文章介紹他將資料庫部署融入持續整合的經驗:
這篇文章是閱讀Martin Fowler和Pramod Sadalage寫的《Evolutionary Database Design》之後受到的啟發。概念很好,但我在網上找不到如何?的具體說明。於是我決定自己從頭開始。
[...]
成功運行並不困難,而努力的回報是巨大的。在我以前的公司裡,指令碼的運行是由DBA完成的,其間還要花一周時間召集所有人一起確保指令碼能正常工作,復原失敗的指令碼,更新依賴於失敗指令碼的指令碼諸如此類。抄寫錯誤、許可權錯誤、指令碼錯誤、前後不一致等等都很常出現。通過像單元測試一樣頻繁對部署進行測試,我們就能減少錯誤的傾向。最後還要提醒,資料庫的修改變得更方便,並不意味著程式員可以隨便改資料表。資料庫的設計還是需要深思熟慮的。
在構建中整合資料庫部署,還可以選用VS裡的“資料庫專案”以及相應的MSBuild task。MSDN上提供了一篇《資料庫構建及部署概述》,適用於VS 2005和VS 2008。