Readme_AdventureWorksScripts
在 Microsoft SQL Server 2005 中,指令碼可用於 SQLServerEngineSamples.msi 中,這些指令碼會提供在 AdventureWorks 範例資料庫中使用結構描述的兩個替代方式。
狀況
在 SQL Server 2005 中,資料表和其他結構描述範圍內物件都包含在結構描述中,而結構描述的擁有者為使用者。在 AdventureWorks 中,使用了五個結構描述來包含基於商務功能之結構描述範圍內物件。例如,與客戶和銷售相關聯的物件包含在 Sales 結構描述中;與員工相關聯的物件包含在 HumanResources 結構描述中,依此類推。如需詳細資訊,請參閱《SQL Server 線上叢書》的<AdventureWorks 中的結構描述>。
結構描述的加入變更了存取資料表和其他結構描述範圍內物件的方式。若要存取非預設結構描述 (DB) 中的物件,則至少必須指定格式為 schema_name**.**object_name 之兩個部分組成的識別碼。對於參考結構描述範圍內物件的所有 DDL 和 DML 陳述式而言,一定要使用這種方式。
包含在此範例中的指令碼提供使用結構描述範圍內物件的替代方式。其中一種方式可以將所有結構描述範圍內物件傳送至 dbo 結構描述,另一種方式則可以為 dbo 結構描述中的每個結構描述範圍內物件建立同義字。
語言
Transact-SQL
功能
AdventureWorks 指令碼可以使用 SQL Server 2005 Database Engine 的下列功能。
應用程式區 | 功能 |
---|---|
Database Engine |
結構描述 DDL |
Database Engine |
同義字 |
必要條件
執行此範例所包含之任一個指令碼前,請安裝 SQL Server 2005 並確保包含下列元件:
- Database Engine
- SQL Server Management Studio
- SQL Server 2005 中包含的 AdventureWorks 資料庫,也可以從 SQL Server 開發人員網站取得。
- SQL Server 2005 Database Engine 範例。SQL Server 2005 中隨附這些範例。您可以從 SQL Server 開發人員網站下載最新版的範例。
將物件傳送至 dbo 結構描述
AlterSchemaToDbo.sql 指令碼會將 AdventureWorks 中的每個結構描述範圍內物件傳送至 dbo 結構描述。此指令碼執行後,具有 dbo 預設結構描述的使用者將不需要在參考 DDL 和 DML 陳述式中的物件時使用兩個部分組成的識別碼。
重要事項: |
---|
隨 SQL Server 2005 一同提供的程式碼範例 (Example) 和範例 (Sample) 將不在 AlterSchemaToDbo.sql 執行後執行,除非程式碼中指定之結構描述名稱被 dbo 取代或被移除。 |
lterSchemaFromDbo.sql 指令碼會從 dbo 結構描述將物件傳送 (傳回) 至它們在執行 AlterSchemaToDbo.sql 指令碼前所處的結構描述。
執行指令碼以將物件傳送至 dbo 結構描述和從其中傳送物件
下列程序顯示如何執行可以將 AdventureWorks 結構描述範圍內物件傳送至 dbo 結構描述的 Transact-SQL 指令碼。
若要執行 AlterSchemaToDbo 指令碼
- 在 SQL Server Management Studio 中,開啟位於 C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts 資料夾中的檔案 AlterSchemaToDbo.sql 指令碼,然後按一下 [執行]。
下列程序顯示如何執行可以將 AdventureWorks 結構描述範圍內物件從 dbo 結構描述傳回至其原始結構描述的 Transact-SQL 指令碼。
若要執行 AlterSchemaFromDbo 指令碼
- 在 SQL Server Management Studio 中,開啟位於 C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts 資料夾中的檔案 AlterSchemaFromDbo.sql 指令碼,然後按一下 [執行]。
使用同義字
同義字是為結構描述範圍內物件提供的替代名稱。指定的同義字是用來取代 DDL 與 DML 陳述式中的基底物件。
CreateSynonymsDbo.sql 指令碼會為 AdventureWorks 中的每個結構描述範圍內物件建立同義字。同義字名稱與基底物件名稱相同,但其使用 dbo 結構描述。例如,HumanResources.Department 的同義字是 dbo.Department。
使用同義字具有下列優點:
- 如果 dbo 是預設結構描述,那麼就不需要在 DDL 與 DML 陳述式中使用兩個部分組成的識別碼來指定這些物件。
- 可以使用隨 SQL Server 2005 一同提供的程式碼範例 (Example) 和範例 (Sample),而不需要進行修改。
DropSynonymsDbo.sql 指令碼會卸除 CreateSynonymsDbo.sql 指令碼所建立的同義字。
執行同義字指令碼
下列程序顯示如何執行可以在 dbo 結構描述中為每個 AdventureWorks 結構描述範圍內物件建立同義字的 Transact-SQL 指令碼。
若要執行 CreateSynonymsDbo 指令碼
- 在 SQL Server Management Studio 中,開啟位於 C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts 資料夾中的檔案 CreateSynonymsDbo.sql 指令碼,然後按一下 [執行]。
下列程序顯示如何執行可以從資料庫中移除 CreateSynonymsDbo.sql 指令碼所建立之同義字的 Transact-SQL 指令碼。
若要執行 DropSynonymsDbo 指令碼
- 在 SQL Server Management Studio 中,開啟位於 C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts 資料夾中的檔案 DropSynonymsDbo.sql 指令碼,然後按一下 [執行]。
移除指令碼
使用下列程序移除此範例中包含的一或多個指令碼。
若要移除指令碼
- 在 [Windows 檔案總管] 中,找到 C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts 資料夾,以滑鼠右鍵按一下指令碼名稱,然後再按 [刪除]。