使用資料庫物件概觀
更新:2007 年 11 月
「資料庫物件」(Database Object) 會定義資料庫內容的結構。這些物件包含在「資料庫專案」(Database Project) 中,而專案中也可能包含「資料產生計劃」(Data Generation Plan) 和指令碼。在 [方案總管] 中,資料庫物件是以檔案的形式定義,而且會依類型分組,顯示在資料庫專案的 [結構描述物件] 子資料夾底下。使用資料庫物件時,名為 [結構描述檢視] 的資料庫物件檢視是更為直覺式的工具。在 [結構描述檢視] 中,您可以按照分類檢視資料庫物件。如果資料庫專案中的檔案將 Build Type 標示為 [組建],就會剖析來進行資料庫物件定義。如果資料庫專案中的檔案有不同的 Build Type,即使其中包含資料庫物件,也不會進行處理,而且不會出現在 [結構描述檢視] 中。
方案總管
在 [方案總管] 中,您可以處理包含在專案中的檔案。您可以在 [方案總管] 中,對 [結構描述物件] 子資料夾內的子資料夾執行下列動作:
- 加入 – 將指定類型的項目加入至資料庫專案階層架構中的適當位置。
您可以在 [方案總管] 中,對子資料夾內的所有檔案執行下列動作:
開啟 – 在 Transact-SQL (T-SQL) 編輯器中開啟檔案。
剪下 – 將檔案複製到剪貼簿,然後從資料庫專案移除檔案。
複製 – 將檔案複製到剪貼簿。
刪除 – 將檔案永久從資料庫專案移除。
重新命名 – 重新命名選取的檔案。
在結構描述檢視中檢視物件 – 在 [結構描述檢視] 中選取包含在選取檔案中的物件。[結構描述檢視] 隨即出現 (如果尚未出現)。
屬性 – 顯示 [屬性] 視窗,其中會列出檔案的屬性。
您可以根據物件的類型,對這些物件執行其他動作。
結構描述檢視
在 [結構描述檢視] 中,您可以對資料庫物件執行操作。您可以在 [結構描述檢視] 中,對 [結構描述物件] 子資料夾內的子資料夾執行下列動作:
- 加入 – 將指定類型的物件加入至資料庫專案階層架構中的適當位置。
您可以對子資料夾內的所有資料庫物件執行下列動作:
開啟 – 在 T-SQL 編輯器中開啟該物件的定義。
剪下 – 將物件複製到剪貼簿,然後從資料庫專案移除物件。
複製 – 將物件複製到剪貼簿。
刪除 – 從資料庫專案移除項目。
重構:重新命名 -- 根據「資料庫重構」(Database Refactoring) 的原則重新命名選取的項目及其相依性。
屬性 – 顯示 [屬性] 視窗,其中會列出物件的屬性。
物件名稱解析
一般來說,應該使用 SQL Server 使用的相同規則來解析物件名稱。某些 sysobjects 可能需要完整限定,才能適當地解析。如果您在牽涉到非完整限定之物件名稱的情況下收到錯誤或注意到有非預期的行為,則應該完整限定該物件名稱,以嘗試解決問題。
參考物件定義中的資料庫名稱
您可以在資料庫專案中的物件定義指令碼內使用 $(databasename) 語彙基元。會套用下列限制:
您必須用方括弧括住語彙基元,如下列範例所示:
[$(databasename)]
您不能使用語彙基元來指定三個部分的名稱,如下列範例所示:
[$(databasename)].[dbo].[Table1]
下列範例示範如何在預存程序中使用 $(database) 名稱語彙基元:
CREATE PROCEDURE [dbo].[MyProcedure]
@param1 INT = 0,
@param2 INT
AS
ALTER DATABASE [$(databasename)]
MODIFY FILEGROUP [FileGroup1] DEFAULT
RETURN 0
物件層級的 SET 選項
除了可以針對資料庫專案設定 SET 選項以外,您也可以在個別的資料庫物件上指定兩個選項的值。這兩個選項為 ANSI NULLS 和引號識別項 (Quoted Identifier)。當您建立資料庫物件時,該物件的 SET 選項預設會與資料庫專案的 SET 選項相符。您可以將這兩個選項設定為三個值其中之一:Project default、On 或 Off。當建置資料庫專案時,只有設定值與專案預設值不同的物件層級 SET 選項會在組建指令碼中產生指令碼。
注意事項: |
---|
當您使用 [匯入指令碼] 或 [匯入資料庫結構描述] 命令時,將不會匯入個別資料庫物件的 SET 選項值。您必須在 [屬性] 視窗中進行設定。如需詳細資訊,請參閱 HOW TO:指定物件層級的 SET 選項。 |
資料庫物件驗證
當您儲存對新的或修改的資料庫物件所做的變更時,即會執行驗證。若物件定義發生任何錯誤,將顯示在 [錯誤清單] 視窗中。如果按兩下錯誤訊息,會開啟物件定義讓您修正錯誤。如果資料庫物件包含錯誤,[結構描述檢視] 中的代表圖示會顯示紅色的驚嘆號。
注意事項: |
---|
目前不支援的資料庫物件會在圖示中顯示黃色的倒三角形。 |
如需如何疑難排解資料庫物件相關問題的詳細資訊,請參閱疑難排解資料庫專案、建置和部署的問題。
結構描述檢視中的結構描述物件類型
資料庫專案包含資料庫結構描述中所有物件的定義。物件類型以及可對這些物件類型執行的動作,會視您執行的 Microsoft SQL Server 版本而定。
物件型別 |
SQL Server 2000 |
SQL Server 2005 |
---|---|---|
資料表 |
支援項目 |
支援項目 |
檢視 |
支援項目 |
支援項目 |
同義資料表 |
|
支援項目 |
預存程序 |
支援項目 |
支援項目 |
函式 |
支援項目 |
支援項目 |
資料庫觸發程序 |
|
支援項目 |
組件 |
|
支援項目 |
型別:使用者定義資料型別 |
支援項目 |
支援項目 |
型別:使用者定義型別 (CLR) |
|
支援項目 |
型別:XML 結構描述集合 |
|
支援項目 |
Service Broker |
|
支援項目 |
Service Broker:訊息類型 |
|
支援項目 |
Service Broker:合約 |
|
支援項目 |
Service Broker:佇列 |
|
支援項目 |
Service Broker:服務 |
|
支援項目 |
Service Broker:路由 |
|
支援項目 |
Service Broker:事件告知 |
|
支援項目 |
Service Broker:遠端服務繫結 |
|
支援項目 |
儲存體:全文檢索目錄 |
支援項目 |
支援項目 |
儲存體:資料分割配置 |
|
支援項目 |
儲存體:Partition 函式 |
|
支援項目 |
儲存體:檔案群組 |
支援項目 |
支援項目 |
安全性 |
支援項目 |
支援項目 |
安全性:使用者 |
支援項目 |
支援項目 |
安全性:角色 |
支援項目 |
支援項目 |
安全性:角色:資料庫角色 |
支援項目 |
支援項目 |
安全性:角色:應用程式角色 |
支援項目 |
支援項目 |
安全性:結構描述 |
支援項目 |
支援項目 |
失去關聯的物件
[結構描述檢視] 中的 [失去關聯的物件] 資料夾是物件的暫存位置,其中的物件與目前尚未在專案中定義的其他物件相關聯。例如,假設在資料表上建立索引,但資料表尚不存在或目前無效,該索引就會出現在 [失去關聯的物件] 資料夾中。當父物件建立 (或生效) 時,子物件就會出現在專案內的正確位置。
本章節內容
HOW TO:從指令碼匯入資料庫物件
描述如何從您可能已經具有的現有 T-SQL 指令碼匯入資料庫定義。HOW TO:檢視資料庫物件
描述如何顯示 [結構描述檢視],其中會顯示依據物件而非檔案組織的資料庫專案內容。HOW TO:建立資料庫專案
描述如何建立資料庫物件,如資料表、檢視表和預存程序。HOW TO:將資料庫物件加入至特定結構描述
描述三種能夠用來將資料庫物件加入特定「結構描述」之方法的優劣。HOW TO:修改資料庫物件
描述如何修改資料庫物件 (如資料表、檢視表和預存程序) 的定義。HOW TO:刪除資料庫物件
描述如何從資料庫專案中刪除資料庫物件。HOW TO:將使用者加入到角色中
描述如何讓資料庫使用者與部署後指令碼內的角色產生關聯。HOW TO:定義全文檢索目錄
描述如何對特定檔案群組定義全文檢索目錄。HOW TO:指定物件層級的 SET 選項
描述如何設定個別資料庫物件的 ANSI null 和引號識別項 (Quoted Identifier) 選項,以覆寫資料庫專案設定。資料庫物件的範本概觀
提供了有關可用來建立「資料庫物件」(Database Object) 與資料庫指令碼之範本的背景資訊。