共用方式為


SMO Tables DBCC 封裝範例

SMOTablesDBCC 範例封裝說明如何使用「Foreach 迴圈」容器中的 Foreach SMO 列舉值列舉 AdventureWorks 資料庫中的使用者資料表。首先,「指令碼」工作會擷取結構描述名稱和資料表名稱,並將它們放置於兩個變數中。下一步,「執行 SQL」工作會使用這兩個變數執行 DBCC CHECKCONSTRAINTS 命令。

ms160947.note(zh-tw,SQL.90).gif附註:
若要讓封裝能在 64 位元的環境中執行,「指令碼」工作的 PreCompile 屬性要設定為 True。如果您要使用偵錯工具逐步使用指令碼,則應將屬性設定為 False

如需詳細資訊,請參閱《SQL Server 2005 線上叢書》中的<Foreach 迴圈容器>、<指令碼工作>和<執行 SQL 工作>主題。

ms160947.note(zh-tw,SQL.90).gif重要事項:
範例只供教育目的之用。它們不能用於實際執行環境,而且從來沒有在實際執行環境中測試過。Microsoft 不提供對這些範例的技術支援。

需求

執行此範例封裝需要進行下列動作:

  • 尋找下列檔案並將它們複製到 %windir%\Microsoft.NET\Framework\v2.0.xxxxx 下 (其中 xxxxx 是最高版本的 .NET Framework):
    • %ProgramFiles%\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.Smo.dll
    • %ProgramFiles%\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.SmoEnum.dll
    • %ProgramFiles%\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.ConnectionInfo.dll
  • 範例封裝及其使用的資料檔必須安裝在本機硬碟上。
  • 必須已安裝 AdventureWorks 資料庫並且對此資料庫具有系統管理權限。
  • 如果只想從命令列執行範例封裝,則必須安裝 SQL Server 2005 Integration Services (SSIS)。
  • 若要在「SSIS 設計師」中開啟封裝並執行範例封裝,則必須安裝 Business Intelligence Development Studio。

如需有關如何安裝範例的詳細資訊,請參閱《SQL Server 2005 線上叢書》中的<安裝範例 Integration Services 封裝>主題。若要取得最新版的範例,包括自 SQL Server 2005 原始發行版本以來所發佈的新範例,請參閱<SQL Server 2005 範例與範例資料庫 (2006 年 4 月)>(英文)。

範例封裝的位置

如果範例已安裝於預設安裝位置,則 SMOTablesDBCC 範例封裝位於下列資料夾中:

C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\SmoTablesDBCC\SmoTablesDBCC\

執行此範例封裝需要下列檔案。

檔案 描述

SmoTablesDBCC.dtsx

範例封裝。

執行範例

從命令列使用 dtexec 公用程式可以執行封裝,或者也可以在 Business Intelligence Development Studio 中執行封裝。

若要使用 dtexec 執行封裝

  1. 開啟 [命令提示字元] 視窗。

  2. 將目錄變更為 C:\Program Files\Microsoft SQL Server\90\DTS\Binn,即 dtexec 的位置。

  3. 輸入以下命令:

    dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\SmoTablesDBCC\SmoTablesDBCC\SmoTablesDBCC.dtsx"
    
  4. ENTER 鍵。

如需有關如何使用 dtexec 公用程式執行封裝的詳細資訊,請參閱《SQL Server 2005 線上叢書》中的<dtexec 公用程式>主題。

若要在 Business Intelligence Development Studio 中執行封裝

  1. 開啟 [Business Intelligence Development Studio]。

  2. [檔案] 功能表上,指向 [開啟],然後按一下 [專案/方案]

  3. 尋找 [SmoTablesDBCC] 資料夾,然後按兩下名為 SmoTablesDBCC.sln 的檔案。

  4. [方案總管] 中,以滑鼠右鍵按一下 [SSIS 封裝] 資料夾中的 SmoTablesDBCC.dtsx,然後再按 [執行封裝]

範例中的元件

下表列出範例中使用的 Integration Services 工作、容器和連接管理員。

元素 用途

Foreach 迴圈

「Foreach 迴圈」容器 (Foreach Loop Container) 會使用 Foreach SMO 列舉值逐一查看 AdventureWorks 資料庫中的資料表。「Foreach 迴圈」容器包含「指令碼」工作和「執行 SQL」工作。

指令碼工作

「指令碼」工作會在迴圈的每個反覆運算中用結構描述和資料表名稱來更新變數值。

執行 SQL 工作

「執行 SQL」工作 (DBCC CHECK CONSTRAINTS) 會在迴圈的每個反覆運算中執行 DBCC 命令。

OLE DB 連接管理員

OLE DB 連接管理員 (local).AdventureWorks 會連接到本機伺服器上的 AdventureWorks 資料庫。

範例結果

執行封裝之後,您應查看類似於下列輸出的輸出。

範例輸出:

開始:10:41:04 AM

進度: 2005-03-15 10:41:06.04

來源:DBCC CHECK CONSTRAINTS

執行查詢 "DBCC CHECKCONSTRAINTS('[dbo].[AWBuildVersion]') WI":100% 完成

進度結束

進度: 2005-03-15 10:41:06.07

來源:DBCC CHECK CONSTRAINTS

執行查詢 "DBCC CHECKCONSTRAINTS('[dbo].[DatabaseLog]') WITH ":100% 完成

進度結束

進度︰2005-03-15 10:38:16.81

來源:DBCC CHECK CONSTRAINTS

執行查詢 "DBCC CHECKCONSTRAINTS('[Sales].[Store]') WITH ALL_":100% 完成

進度結束

進度: 2005-03-15 10:38:16.91

來源:DBCC CHECK CONSTRAINTS

執行查詢 "DBCC CHECKCONSTRAINTS('[Sales].[StoreContact]') WI":100% 完成

進度結束

DTExec:封裝執行傳回 DTSER_SUCCESS (0)。

開始:10:37:25 AM

完成:10:38:17 AM

經過時間:51.687 秒