發行 SQL 資料庫

Visual Studio 2010

更新:2007 年 11 月

Visual Studio 2008 中的 [資料庫發行精靈] 可讓您將 SQL Server 資料庫 (包含結構描述與資料) 部署至裝載環境中。您只要以滑鼠右鍵按一下 [伺服器總管] 中的資料庫,然後按一下 [發行至提供者],即可執行精靈。

此工具支援下列各種部署資料庫的方法:

  • 它能產生單一的 SQL 指令碼檔案,供您手動在目標伺服器上執行以重新建立資料庫結構描述與資料庫內容。

  • 它能連線至由裝載環境所提供的 Web 服務,並將來源資料庫的內容直接複製到目標資料庫中。

精靈的指令碼模式可讓您指向本機系統的資料庫,並自動建立指令碼檔案 (.SQL 檔案)。指令碼包含在遠端系統中重新建立資料庫所需的資訊。其中包括重新建立資料庫結構描述 (資料表、檢視、預存程序、觸發程序 (Trigger)、全文檢索目錄、角色、規則等等) 的命令。指令碼同時可在新的資料庫中填入來自本機資料庫的資料。

使用指令碼檔案的好處在於,大多數的裝載環境可讓您使用裝載的管理控制台來上載指令碼檔案並加以執行。如果您的裝載環境支援指令碼檔案,就可以使用精靈來部署資料庫,而不需另外由主機商安裝或設定任何項目。

Bb907585.alert_note(zh-tw,VS.100).gif注意事項:

大部分的資料庫物件指令碼都會依照原樣來撰寫。但也有一些例外。來源資料庫中,任何未以 Windows 登入為基礎的非系統使用者帳戶將會撰寫為角色實體的指令碼。此外,您無法針對任何加密的物件撰寫其指令碼。如果來源資料庫包含加密物件,則精靈不會建立指令碼。

精靈的 Web 服務模式可讓您使用來自裝載環境的 Web 服務,以在裝載的網站上重新建立本機資料庫。Web 服務模式要求裝載的網站必須支援 SQL 發行 Web 服務,並要求裝載的網站必須具備您要發行至該處的資料庫。您不用建立指令碼檔案,便可使用 Web 服務模式。

Visual Studio 2008 中的資料庫發行精靈支援所有版本的 Microsoft SQL Server 2000 和 SQL Server 2005,但在來源與目標伺服器上則同時不支援 Compact Edition。來源與目標資料庫伺服器不需要使用相同的版本。但是,目標資料庫伺服器必須支援來自來源資料庫的所有物件以及資料型別。

使用權限

在指令碼模式中,資料庫發行精靈會在來源資料庫中,針對有權使用所有物件的目前使用者建立命令。用來連接至目標資料庫的使用者帳戶必須具有必要的使用權限,以便從來源資料庫建立所有物件。一般來說,您必須以 db_ddladmin 或 db_owner 角色的成員身分來執行使用者帳戶。

Bb907585.alert_note(zh-tw,VS.100).gif注意事項:

當您使用 Web 服務模式時,目標資料庫必須在您使用精靈之前先行建立。

[資料庫發行精靈] 包含好幾個說明頁面來協助您採取一些必要步驟,以便在遠端伺服器上重新建立 SQL 資料庫。這些步驟如下所示:

  • [選取資料庫] 頁面

  • [選取輸出位置] 頁面

  • [選取發行選項] 頁面

  • [檢閱摘要] 頁面

選取資料庫

[選取資料庫] 頁面可讓您選取要發行的資料庫。資料庫必須附加至 SQL Server 某個執行中的執行個體。

選取輸出位置

[選取輸出位置] 頁面可讓您選取是否要建立指令碼檔案,或是使用由裝載環境所提供的 Web 服務。

若要建立指令碼檔案,請選取 [編寫指令碼至檔案],然後輸入指令碼檔案的檔名。您也可以指定是否要覆寫任何具有相同名稱的現有檔案。

若要使用 Web 服務在裝載環境中發行資料庫,請選取 [發行至共用的裝載提供者],然後選取一個裝載提供者與目標資料庫。若要變更現有的提供者,請加入新的提供者、變更資料庫,或是加入新的資料庫,再按一下 [其他]。

選取發行選項

[選取發行選項] 頁面可讓您在發行資料庫之前,先設定選項。下表針對下拉式清單中所列的每個選項提供說明。

選項

說明

將現有物件置放到指令碼中

選取 [True],覆寫與正在建立的物件相衝突的現有物件。選取 [False],不要覆寫現有物件。

結構描述限定

選取 [True],產生兩部分名稱,以限定包含結構描述名稱的物件名稱。選取 [False],產生單一名稱,以限定不包含結構描述名稱的名稱。

目標資料庫的指令碼

選取目標資料庫的 SQL Server 版本。

要發行的資料型別

選取 [僅限結構描述]、[僅限資料] 或 [結構描述和資料],指定用以產生指令碼的選項。結構描述指的是資料庫中的物件定義,而資料指的是資料庫中資料表的資料列。

檢閱摘要

請使用 [檢閱摘要] 頁面來檢閱您在精靈中選取的選項。

顯示: