Share via


資料庫專案設定概觀

更新:2007 年 11 月

「資料庫專案」(Database Project) 設定會控制資料庫的各個部分以及您的組建組態。這些設定可分類如下:

  • 專案設定

  • 建置事件

  • 資料庫屬性

  • 檔案群組

  • 參考

  • 建置

  • 變數

專案設定、建置事件和資料庫屬性儲存在資料庫專案中,可透過版本控制共用。

注意事項:

使用者專屬的設定會儲存在 .dbproj.user 檔案中。專案專屬的設定會儲存在 .dbproj 檔案中。

專案設定

這些設定會套用至這個資料庫專案的所有組態。

欄位

預設值

描述

專案版本

當您建立資料庫專案時所指定的 SQL Server 版本。

指定這個資料庫專案所設定的目標 Microsoft SQL Server 版本。

預設結構描述

dbo

指定預設結構描述,以建立加入至資料庫的物件。當您變更一或多個物件定義時,可以覆寫這個設定。

將結構描述名稱併入檔案名稱

指定檔案名稱是否包含結構描述做為前置詞 (如 dbo.Products.table.sql) 或者檔案名稱是否僅為 ObjectName.ObjectType.sql。

啟用全文檢索搜尋

指定這個資料庫專案是否啟用全文檢索搜尋。

重要事項:

如果您選取此核取方塊,在部署期間將無法同時設定此核取方塊來讓資料庫處於單一使用者模式。

啟用 SQLCLR 整合

指定與這個資料庫專案相關聯的資料庫是否啟用 SQLCLR 整合。

預設定序

SQL_Latin1_General_CP1_CS_AS

指定這個資料庫專案用來排序和比較資料的預設規則。您可以覆寫物件定義中的預設定序。

注意事項:

所有平台的預設定序都相同。預設值不會變更為要符合目前的地區設定。您必須手動將預設定序設定為您的地區設定所適合的定序。

注意事項:

如果變更專案的定序,會顯示確認變更的對話方塊,因為專案必須先卸載再重新載入,才能變更預設定序。看到提示時請按一下 [是],以卸載並重新載入專案。

建置事件設定

您可以使用這些設定,指定建置作業開始之前和完成之後執行的命令列。

欄位

預設值

描述

建置前事件命令列

指定在建置專案前執行的命令列。請按一下 [建置前進行編輯] 修改命令列。

建置後事件命令列

指定在建置專案後執行的命令列。請按一下 [建置後進行編輯] 修改命令列。

執行建置後事件

建置成功時

指定建置後命令列應永遠執行、只有在建置成功時執行,或只有在建置更新專案輸出 (建置指令碼) 時執行。

如需如何編輯命令列的詳細資訊,請參閱 HOW TO:指定建置前或建置後命令列建置前事件/建置後事件命令列對話方塊 (Database Edition)

資料庫屬性

您可以使用這個頁面設定資料庫屬性。所有屬性都相對應於 SQL Server 資料庫的屬性。如需這些屬性的詳細資訊,請參閱<資料庫屬性 (選項頁面)>(英文)。

檔案群組

您可以使用這個頁面修改資料庫專案之檔案群組、檔案和記錄檔的定義。如需詳細資訊,請參閱檔案和檔案群組的概觀。這些定義通常會參考 [變數] 索引標籤上定義的變數。

參考

您可以使用這個頁面定義與跨資料庫參考相關的伺服器和資料庫變數。此外,您也可以指定這些變數的值。如需詳細資訊,請參閱跨資料庫參考的概觀

建置設定

您可以使用這些設定影響建置指令碼和目標資料庫。這些設定只會影響您所指定的組態和平台,而且通常會因使用者而有所不同。

欄位

預設值

描述

建置輸出路徑

.\sql\

指定當您建置或部署資料庫專案時,產生建置指令碼的位置。如果指定相對路徑,路徑會相對於資料庫專案路徑。如果路徑不存在,將會建立路徑。

自動產生建置輸出檔名

未選取

依據專案名稱、目標資料庫執行個體名稱,以及目標資料庫名稱自動產生檔名。

建置輸出檔名

DatabaseProjectName.sql

指定當您建置資料庫專案時要給產生指令碼的名稱。如果有選取 [自動產生建置輸出檔名] 核取方塊,自動產生的檔名會覆寫您在此欄位指定的任何值。

目標連接

空白

指定連接資訊,以連接所選建置組態的目標資料庫伺服器。如果沒有指定目標連接,會使用指定為設計階段驗證資料庫的 SQL Server 2005 執行個體。

目標資料庫名稱

DatabaseProjectName

指定在進行 [目標連接] 欄位中指定的連接時,要建立或更新的資料庫名稱。

目標資料庫檔案的預設位置

這個預設位置擷取自目標伺服器。

指定在目標伺服器上建立資料庫檔案的預設位置。如果按一下 [重新整理],即可擷取該伺服器的預設位置。

部署定序預設

空白

指定部署期間如果目標資料庫定序與資料庫專案定序不符,要使用哪一個定序。如果您按一下 [使用伺服器的定序],則資料庫專案將會變更為與目標資料庫相符。如果您按一下 [使用資料庫專案的定序],則會更新目標資料庫,使其與資料庫專案相符。如果您按一下 [不要編寫定序的指令碼],將不會變更任何定序,但部署可能會失敗。

永遠重新建立資料庫

指定是否將捨棄並重新建立資料庫,而不執行累加部署。例如,假設要用全新的資料庫部署來執行單元測試,就可以選取這個核取方塊。如果清除這個核取方塊,則會更新現有的資料庫,而不會捨棄並重新建立資料庫。

如果可能發生資料遺失,則封鎖累加部署

指定如果更新導致資料遺失,是否將停止部署。如果選取這個核取方塊,那麼可能會使資料遺失的變更 (例如將 varchar(50) 資料行變更為 varchar(30)),會導致部署停止並顯示錯誤,避免發生遺失資料的情況。

注意事項:

只有當可能發生資料遺失的資料表包含資料時,才會封鎖部署。如果沒有任何資料遺失,不會封鎖部署。

將警告視為錯誤

指定出現警告時是否應取消建置和部署。如果清除這個核取方塊,當警告出現時,建置和部署仍會繼續。

這個設定是針對專案而非使用者,並是儲存在 .dbproj 檔案中。

在部署之前備份資料庫

指定是否應在部署之前備份資料庫。如果清除這個核取方塊,將不會自動執行備份。如果選取核取方塊,則會在預先部署指令碼中加入備份資料庫的陳述式。

注意事項:

備份作業的速度可能會很慢。如果是建置和部署到隔離的開發環境,而不是共用的測試、開發用或實際執行伺服器,可以決定在建置和部署資料庫時不備份。

重要事項:

在部署到實際執行伺服器之前,請務必備份資料庫。如果建置和部署時沒有自動備份資料庫,請先手動備份資料庫,然後再部署變更。

在單一使用者模式中執行部署指令碼

指定部署時是否應設定資料庫進入單一使用者模式。如果是部署到共用資料庫伺服器,則應設定資料庫進入單一使用者模式,以防止其他使用者在您部署資料庫變更時也變更資料庫。

重要事項:

當資料庫處於單一使用者模式時,一旦您將變更部署到資料庫時,會立即卸除此資料庫的所有其他現有連接。會指定 ROLLBACK IMMEDIATE 子句,以便在資料庫處於單一使用者模式時,立刻結束暫止的交易。

注意事項:

如果您已經在資料庫專案屬性的 [專案設定] 索引標籤上啟用全文檢索搜尋,這個選項將會停用。

新增或重新命名資料行時,執行「智慧型」資料行名稱比對

指定部署更新時是否要使用啟發方式來判斷何時需要重新命名資料行,而不是執行 DROP 和 ADD 作業。啟發學習法會用資料行的屬性以及來源和目標資料行的名稱進行判斷。如果選取 [永遠重新建立資料庫] 核取方塊,這個核取方塊不會有任何作用,因為將會卸除資料庫,然後再重新建立。

針對位於目標資料庫但不在資料庫專案內的物件產生 DROP 陳述式

指定如果物件位於目標資料庫但不在資料庫專案內,是否應在部署指令碼執行時捨棄。如果您排除專案中的部分檔案,以暫時從建置指令碼移除,可能會想在目標資料庫中保留這些物件的現有版本。如果選取 [永遠重新建立資料庫] 核取方塊,這個核取方塊不會有任何作用,因為這時會捨棄整個資料庫。

請勿使用 ALTER ASSEMBLY 陳述式來更新 CLR 型別。

指定當您部署變更時,是否要使用 ALTER ASSEMBLY 陳述式來更新 Common Language Runtime (CLR) 型別,或者是否會卸除執行個體化 CLR 型別的物件,然後再重新建立此物件。

隱藏警告

空白

指定要隱藏的警告標號清單,並以逗號或分號分隔。即使選取了 [警告視為錯誤] 核取方塊,已隱藏的警告還是不會出現在 [錯誤清單] 視窗中,而且不會影響建置順利完成。

變數

您可以使用這個頁面定義可以在檔案群組和檔案定義中使用,或是在預先部署與部署後指令碼中使用的變數及其值。這些設定是您所指定之組態和平台的專用設定。

欄位

預設值

說明

變數名稱

空白

您可以在檔案群組或檔案定義,或是在預先部署或部署後指令碼中使用的變數名稱。當您從指令碼或是在物件定義中參考變數名稱時,必須使用下列語法:[$(VariableName)]。

變數值

空白

您想與目前組態和平台之變數產生關聯的值。

請參閱

工作

HOW TO:準備資料庫建置指令碼

HOW TO:將變更部署到新的或現有的資料庫

逐步解說:建立及部署新版本控制的資料庫

逐步解說:將變更部署到現有的版本控制資料庫

HOW TO:隱藏一或多種警告類型

HOW TO:定義資料庫專案的變數

概念

資料庫建置與部署概觀

Database Edition 的用語概觀

其他資源

HOW TO:設定資料庫專案進行建置和部署