共用方式為


專案屬性、封裝/發行 SQL 索引標籤

在 [屬性] 網頁的 [封裝/發行 SQL] 索引標籤所指定的 SQL Server 資料庫部署設定了舊版的方法。

這個主題適用於下列產品:

當您設定 [封裝/發行 SQL] 選項時的資料庫發行,,只有資料庫的初始部署會自動化和您必須建立自訂的 SQL 指令碼手動設定資料庫將更新的部署。 當您設定發行設定檔的資料庫部署,將資料庫更新以及初始資料庫部署自動執行。 如需詳細資訊,請參閱Visual Studio 及 ASP.NET 的 Web 應用程式專案部署概觀

應使用 [封裝/發行 SQL] 選項,才會在舊版專案時已設定,或當您無法設定在發行設定檔時的資料庫部署。 例如,如果您使用, Windows XP 或 Windows Server 2003 和應用程式中使用 Entity Framework Code First 移轉,您無法設定在發行設定檔的資料庫發行。 在該案例中,請使用 [封裝/發行 SQL] 索引標籤。

當您建立含有資料庫在 [封裝/發行 SQL] 選項設定的部署設定的專案中建立發行設定檔, [發行 Web] 精靈會顯示一個警告訊息。

Publish_Web_Settings_tab_with_Package_Publish_

如果您想要在 [封裝/發行 SQL] 索引標籤上的設定,請不要按一下 [啟用新資料庫發行設定改進]。 如果您按一下 [啟用新資料庫發行設定改進],發行設定檔設定會取得優先權,而且 [封裝/發行 SQL] 設定將會被忽略。 (如果您按一下 [啟用新資料庫發行設定改進] 並於稍後決定要使用 [封裝/發行 SQL] 設定,您必須建立新的設定檔)。

若要存取屬性頁上的這個索引標籤

  1. 在 Visual Studio 中開啟 Web 應用程式專案。

  2. 以滑鼠右鍵按一下 [方案總管] 中的專案名稱,然後選取 [屬性] (C#) 或 [MyProject] (Visual Basic),以顯示 [屬性] 頁面。

  3. 按一下 [封裝/發行 SQL] 索引標籤。

    專案屬性的 [封裝/發行 SQL] 索引標籤

    如果您已安裝 [發行 Web] 精靈,,而且,如果專案的設定 [封裝/發行 SQL] 索引標籤尚未編碼,,索引標籤的一般 UI 由警告取代不應用於新的開發工作的索引標籤。 如果您必須在 [封裝/發行 SQL] 索引標籤的資料庫部署,請按一下 [啟用這個頁面] 以看到 UI 顯示在圖例中。

UI 項目

  • 組態
    指定要套用這個索引標籤之設定的組態類型。 例如,您可以指定偵錯組態 ([偵錯]) 的套件設定,而這些設定與實際執行組態 ([發行]) 的設定不同。 當您選取組態類型時,所指定的設定會以該組態類型來儲存。 如果想要所有組態都使用相同的設定,請選取 [所有組態]。 您可以選取 [建置] 功能表中的 [組態管理員] 建立自訂的組態類型。

  • 平台
    指定要套用這些設定的作業系統類型。

  • 資料庫項目
    指定要部署之資料庫的清單。 在此區段的方格中,要部署的每一個資料庫各有一個項目。 [資料庫項目詳細資料] 區段可讓您指定所選資料庫的設定。

  • [資料庫項目] 資料表的 [部署] 資料行
    指定是否應部署所選的資料庫。 如果您只想在第一次部署 Web 專案時部署資料庫,可以使用此方法。 在該情況下,您可以在完成第一次的應用程式部署之後清除這個核取方塊,如此一來,當您重新部署相同的專案時,即不會再包括該資料庫。

  • [資料庫項目] 資料表的 [名稱] 資料行
    指定名稱,以識別所要部署的資料庫。 如果資料庫在 Web.config 檔案中是以連接字串表示,則這個值通常是含有後置字元 (例如 "-Deployment" 或 "-Web.config") 之連接字串的名稱。

    後置字元 "-Web.config" (例如 "ConnectionStringName-Web.config") 指定應使用 Web.config 檔案中的連接字串值進行部署。 如需詳細資訊,請參閱本文件後文所述的 [目的資料庫的連接字串]。

  • 向上箭號及向下箭號按鈕
    可讓您指定資料庫的部署順序。

  • 從 Web.config 匯入
    尋找 Web.config 檔案中的連接字串,然後將其名稱輸入 [資料庫項目] 方格,並在名稱後附加 "-Deployment"。

    您可以將 "-Deployment" 後置字元變更為 "-Web.config" (例如將 "ConnectionStringName-Deployment" 變更為 "ConnectionStringName-Web.config"),以指定應使用 Web.config 檔案中的連接字串值進行部署。 如需詳細資訊,請參閱本文件後文所述的 [目的資料庫的連接字串]。

  • 加入
    將資料列加入 [資料庫項目] 方格。

  • Remove
    從 [資料庫項目] 方格中移除資料列。

  • 目的資料庫的連接字串
    指定部署期間用於連接至目的資料庫的連接字串。

    除下列例外狀況之外,這個連接字串只會在部署期間使用,而不會用於已部署之 Web 應用程式的 Web.config 檔案中。 如果這個資料庫的 [名稱] 值為「- Web.config」連接字串 (例如,連接字串「ConnectionStringName-Web.config」),而且如果來源名稱的一部分,在後置字元「- Web.config 目前連接字串」結尾存在,當應用程式 Web.config 檔案中的連接字串名稱,可套用下列規則:

    • 如果將這個欄位空白,將會使用 Web.config 檔案中的連接字串值進行部署。 如果指定轉換連接字串,將會使用轉換的連接字串進行部署。

    • 如果在這個欄位中輸入值,將會使用輸入的值進行部署,並會更新目的 Web.config 檔案納入這個值。

      注意事項注意事項

      如果您指定其結尾為「-的資料庫名稱 Web.config 連接字串>和您為指定轉換相同的連接字串,轉換不會使用。目的 Web.config 檔案會使用您在這個欄位中輸入的值。

  • 從現有資料庫提取資料及 (或) 結構描述
    指定部署流程是否應產生可以重新建立來源資料庫中之來源資料庫結構描述的指令碼 (.sql 檔案),以及選擇性地產生資料。

  • 來源資料庫的連接字串
    指定用於來源資料庫的連接字串。

  • 資料庫指令碼選項
    指定只要將資料庫結構描述或資料部署至目的資料庫,或要將結構描述及資料兩者同時部署至目的資料庫。

    所產生要用於部署結構描述的指令碼,會包含完整的資料庫結構描述。 沒有任何選項可以自動產生只反映初始部署後之結構描述變更的指令碼。 對於資料也是如此。 所產生要用於部署資料的指令碼,會包含資料庫內的所有資料。 沒有任何選項可以自動產生只反映初始部署後之資料變更的指令碼。

    根據預設,當指令碼在部署期間執行時,會在交易中執行。

  • [資料庫指令碼] 資料表
    指定在部署流程期間於目的資料庫中執行的指令碼。

    您在此處加入的自訂指令碼預設不會自動在交易中執行。 如果要讓指令碼在交易中執行,請在指令碼中加以指定。 如需如何設定指令碼的 Transacted 屬性的詳細資訊, HOW TO:編輯專案檔的部署設定請參閱

  • [資料庫指令碼] 資料表的 [包含] 資料行
    指定部署 Web 專案時是否應執行 [指令碼路徑] 資料行中所指定的指令碼。 如果您只想在第一次部署專案時執行某些指令碼,可以使用此方法。

  • [資料庫指令碼] 資料表的 [指令碼路徑] 資料行
    指定必須在目的資料庫中執行之指令碼的路徑,以部署結構描述變更或資料。 (如果是自動產生的指令碼,即沒有指令碼的路徑。 取而代之的是顯示指令碼的描述)。

  • 向上箭號及向下箭號按鈕
    可讓您指定部署期間指令碼的執行順序。

  • 加入指令碼
    可讓您加入自訂的指令碼。 SQL 指令碼與 SqlCmd 指令碼都予支援。 自訂指令碼會予掃描,從中找出 SqlCmd 變數,並將這些變數自動轉換為 IIS Web Deployment Tool的安裝階段參數。 如需 SqlCmd 指令碼的詳細資訊,請參閱 sqlcmd 公用程式 (英文)。

  • 移除指令碼
    可讓您移除指令碼。

  • 資料庫部署注意事項
    提供位置讓您輸入有關部署的注意事項 (不限格式)。 這項文字不會應用於任何自動化功能。

請參閱

概念

Visual Studio 及 ASP.NET 的 Web 部署內容對應