逐步解說:使用部分專案分割資料庫專案
您可以使用「部分專案」(Partial Project) 將開發隔離至「資料庫專案」(Database Project) 中的特定物件。 將資料庫分割成部分專案,並且將版本控制存取權限制為所匯入之部分專案中的物件,您就可以避免使用者意外變更不應更新的資料庫專案部分。
您可以將任何物件或物件群組匯出為部分專案。 例如,您可以匯出結構描述定義及其內容。 您也可以依照物件類型匯出物件,將資料表放入一個專案中並於另一個專案中檢視等等。
在這個逐步解說中,您將會依照下列步驟進行:
建立包含結構描述定義和資料庫中的兩個資料表的來源資料庫專案
匯出物件為部分專案
建立開發資料庫專案
將部分專案中的物件匯入開發專案中
定義參考匯入物件的預存程序
設定、建置和部署開發專案
必要條件
您必須先安裝 Visual Studio,並且擁有執行 SQL Server 之伺服器的寫入存取權。
建立來源資料庫專案及其物件
如果您已擁有包含結構描述和資料表的資料庫專案,可使用該專案,而不需使用您在逐步解說的這個步驟中建立的專案。
若要建立來源資料庫專案
在 [檔案] 功能表中,指向 [新增],然後按一下 [專案]。
[新增專案] 對話方塊隨即開啟。
展開 [已安裝的範本] 底下的 [資料庫] 節點,然後按一下 [SQL Server]。
注意事項 如果您正在使用 Visual Studio Professional,請查看 [已安裝的範本],依序展開 [資料庫] 節點、[SQL Server] 節點,然後按一下 [進階]。
在範本清單中,按一下 [SQL Server 2008 資料庫專案]。
注意事項 如果目標部署資料庫有不同版本的 SQL Server,您可以指定符合 SQL Server 版本的專案類型。
在 [名稱] 中,輸入 MySourceDatabase。
在 [位置] 中,輸入或瀏覽到此資料庫專案的所在路徑,然後按一下 [確定]。
重要事項 如果路徑過長,可能在您稍後於此逐步解說中嘗試匯入部分專案時收到錯誤。 您可以使用較短的路徑來避免這些錯誤出現。
資料庫專案就會在 [方案總管] 中建立並出現。
接著將定義結構描述和該結構描述中的資料表。
若要定義結構描述
按一下 [檢視] 功能表上的 [資料庫結構描述檢視]。
依序展開 [MySourceDatabase] 節點和 [結構描述] 節點,以滑鼠右鍵按一下 [結構描述] 節點並指向 [加入],然後按一下 [結構描述]。
[加入新項目] 對話方塊隨即開啟。
在 [範本] 清單中,按一下 [結構描述]。
在 [名稱] 中,輸入 Person,然後按一下 [加入]。
接著將在新的結構描述中建立資料表。
若要在 Person 結構描述中定義資料表
在 [結構描述檢視] 中,以滑鼠右鍵按一下 [Person] 節點,指向 [加入],然後按一下 [資料表]。
注意事項 為了讓這個逐步解說更簡短,您不需要更新資料表定義。
[加入新項目] 對話方塊隨即開啟。
在 [範本] 清單中,按一下 [資料表]。
在 [名稱] 中輸入 Contacts,然後按一下 [加入]。
以滑鼠右鍵按一下 [Person] 節點,指向 [加入],然後按一下 [資料表]。
[加入新項目] 對話方塊隨即開啟。
在 [範本] 清單中,按一下 [資料表]。
在 [名稱] 中輸入 StateProvince,然後按一下 [加入]。
接著,您將匯出 Person 結構描述及其物件。
匯出物件為部分專案
若要匯出物件為部分專案
在 [方案總管] 中,展開 [結構描述物件] 節點,然後展開 [結構描述] 節點。
[Person] 節點隨即出現。
依序展開 [資料庫層級物件] 節點、[安全性] 節點及 [結構描述] 節點。
Person.schema.sql 檔案隨即出現。
以滑鼠右鍵按一下 [Person] 節點,然後按一下 [匯出為部分專案]。
[另存新檔] 對話方塊隨即開啟。
在 [檔名] 中輸入 ExportedPersonSchema,然後按一下 [儲存]。
記下您儲存部分專案的資料夾。
在 [檔案] 功能表上,按一下 [關閉方案]。 如果您收到儲存變更至方案的提示,請按一下 [是]。
接著將建立專案,並於其中開發參考 Person 結構描述中資料表的預存程序。
建立開發資料庫專案
若要建立開發資料庫專案
在 [檔案] 功能表中,指向 [新增],然後按一下 [專案]。
[新增專案] 對話方塊隨即開啟。
展開 [已安裝的範本] 底下的 [資料庫] 節點,然後按一下 [SQL Server]。
注意事項 如果您正在使用 Visual Studio Professional,請查看 [已安裝的範本],依序展開 [資料庫] 節點、[SQL Server] 節點,然後按一下 [進階]。
在範本清單中,按一下 [SQL Server 2008 資料庫專案]。
注意事項 如果目標部署資料庫有不同版本的 SQL Server,您可以指定符合 SQL Server 版本的專案類型。
在 [名稱] 中,輸入 MyDevelopmentDatabase。
在 [位置] 中,輸入或瀏覽到此資料庫專案的所在路徑,然後按一下 [確定]。
資料庫專案就會在 [方案總管] 中建立並出現。
接著將匯入您在之前程序中匯出的部分專案。
匯入部分專案中的物件
若要匯入部分專案
在 [方案總管] 中,以滑鼠右鍵按一下 [MyDevelopmentDatabase] 專案節點,然後按一下 [匯入部分專案]。
在確認對話方塊中,按一下 [是]。
在 [開啟] 對話方塊中,瀏覽至包含您從 MySourceDatabase 匯出之部分專案的資料夾。
按一下 [ExportedPersonSchema.files] 檔案,然後按一下 [開啟]。
專案會卸載再重新載入,且名為 MySourceDatabaseBasePath 的資料夾會出現在 [方案總管] 中。
展開 [MySourceDatabaseBasePath] 資料夾。
此資料夾包含您從來源資料庫匯出的檔案。
接著將定義預存程序,它會參考您在 Person 結構描述中定義的資料表。
定義參考匯入物件的預存程序
若要定義簡單的預存程序
按一下 [檢視] 功能表上的 [資料庫結構描述檢視]。
在 [結構描述檢視] 中,展開 [MyDevelopmentDatabase] 節點,然後展開 [結構描述] 節點。
以滑鼠右鍵按一下 [Person] 節點,指向 [加入],然後按一下 [預存程序]。
[加入新項目] 對話方塊隨即開啟。
在 [名稱] 中輸入 uspCountContacts,然後按一下 [加入]。
預存程序加入至專案中,且顯示於 Transact-SQL 編輯器中。
在 Transact-SQL 編輯器中,將程式碼更新為符合下列各行程式碼:
CREATE PROCEDURE [Person].[uspCountContacts] AS SELECT COUNT(*) FROM [Person].[Contacts]
在 [檔案] 功能表上按一下 [全部儲存]。
接著將設定開發資料庫專案、建置專案,然後將它部署到您的目標資料庫。
設定、建置和部署開發專案
若要設定、建置及部署開發資料庫
在 [方案總管] 中,以滑鼠右鍵按一下 [MyDevelopmentDatabase] 節點,然後按一下 [屬性]。
按一下屬性頁上的 [部署] 索引標籤。
在 [部署動作] 清單中,按一下 [建立部署指令碼 (.sql) 並部署到資料庫]。
在 [目標資料庫設定] 下方按一下 [編輯]。
指定要在其中部署此專案的目標伺服器的連接,然後按一下 [確定]。
在 [檔案] 功能表上按一下 [全部儲存]。
在 [方案總管] 中,以滑鼠右鍵按一下 [MyDevelopmentDatabase] 節點,然後按一下 [建置]。
在 [方案總管] 中,以滑鼠右鍵按一下 [MyDevelopmentDatabase] 節點,然後按一下 [部署]。
您的資料庫會部署至您指定的伺服器。
後續步驟
部署包含 Person 結構描述、您在結構描述中定義的資料表,以及預存程序。 您現在可以將專案加入至版本控制,然後將權限設定為限制哪些開發人員可修改預存程序的定義。