Readme_ServiceBrokerConfiguration
更新: 2005 年 12 月 5 日
這個範例顯示如何使用 SQL Server Management Objects (SMO) 建立 Service Broker 物件。因為需要數個 Windows 使用者控制項和類別來建立 Service Broker 物件,所以會實作這個範例。
範例是針對想要學習如何使用 Service Broker SMO 並學習如何建立 Windows 使用者控制項來管理 SQL Server 2005 物件的 Microsoft .NET Framework 開發人員。核心狀況為 Microsoft .NET Framework 開發人員建立自訂的 Service Broker 管理應用程式。
範例只供教育目的之用。它們不能用於實際執行環境,而且尚未在實際執行環境中測試過。Microsoft 不提供對這些範例的技術支援。若沒有系統管理員的權限,就不應該在生產 SQL Server 資料庫或報表伺服器上,連接或使用範例應用程式及組件。
需求
此範例需要安裝下列元件。
- .NET Framework SDK 2.0。您可以免費取得 .NET Framework SDK。如需詳細資訊,請參閱<安裝 .NET Framework SDK>。
- SQL Server 2005 Database Engine.
位置
如果程式碼範例安裝於預設位置,則範例位於下列目錄中:
C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Programmability\SMO\ ServiceBrokerConfiguration
程式碼範例的 C# 方案位於 CS 目錄中。
建立範例
如果您尚未建立強式名稱金鑰檔,請利用下列指示產生金鑰檔。
若要產生強式名稱金鑰檔
開啟 Microsoft Visual Studio 2005 命令提示字元。按一下 [開始],依序指向 [程式集] 和 [Microsoft .NET Framework SDK 2.0],然後按一下 [SDK 命令提示字元]。
-- 或 --
開啟 Microsoft .NET Framework 命令提示字元。按一下 [開始],依序指向 [所有程式] 和 [Microsoft .NET Framework SDK 2.0],然後按一下 [SDK 命令提示字元]。
使用變更目錄命令 (CD),將命令提示字元視窗的現行目錄切換到範例的安裝資料夾。
附註: 若要判斷範例所在的資料夾,按一下 [開始] 按鈕,依序指向 [所有程式]、[Microsoft SQL Server] 和 [文件集和教學課程],然後按一下 [範例目錄]。如果是使用預設安裝位置,則範例位於 <system_drive>:\Program Files\Microsoft SQL Server\100\Samples。 在命令提示字元中,執行下列其中一個命令來產生金鑰檔:
sn -k SampleKey.snk
重要事項: 如需有關強式名稱金鑰組的詳細資訊,請參閱 MSDN 中 .NET Development Center 中的<Security Briefs: Strong Names and Security in the .NET Framework>。
建立 Visual Studio 方案
按一下 [開始],依序指向 [所有程式] 和 [Microsoft .NET Framework SDK v2.0],然後按一下 [SDK 命令提示字元]。
尋找範例的根資料夾。若為預設位置,請輸入下列命令:
[C#]
cd \Program Files\Microsoft SQL Server\90\``\Samples\Engine\Programmability\SMO\ServiceBrokerConfiguration\CS\
- 輸入下列項目以建立 Visual Studio 方案:
msbuild
或者,如果使用的是 Visual Studio 2005,請執行下列工作:
- 開啟 \CS\ConfigurationComponent.sln 方案檔。
- 按 F6 以建立方案。
設定 SQL Server 範例資料庫和範例 XML 結構描述
尋找 \CS\Script 資料夾。
從 SQL Server Management Studio 中開啟和執行 setup.sql。
設定 SQL Server 主要金鑰 (選擇性)
如果您是設定遠端服務繫結:
尋找 \CS\Script 資料夾。
從 SQL Server Management Studio 中開啟 masterkey.sql。
在 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 陳述式中輸入主要資料庫金鑰的密碼。
在 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 陳述式中輸入 ssb_ConfigurationSample 資料庫金鑰的密碼。
執行 masterkey.sql。
執行範例
若要執行範例
- C# 版本的預設位置是 C:\Program Files\Microsoft SQL Server\90\Samples\SMO\ServiceBrokerConfiguration\CS\SampleApplication\bin\Debug\SampleApplication.exe。
若要連接到本機 SQL Server 執行個體
在 [伺服器名稱] 欄位中輸入伺服器名稱,或接受預設的 (本機) 伺服器名稱。
按一下 [連接]。
若要設定新資料庫的範例
按一下 [物件] 索引標籤上的 [選項]。
輸入 ScriptPath 或接受預設路徑。ScriptPath 是用來將指令碼匯出至檔案。
按一下 [建立]。[建立] 按鈕會設定範例,包括設定 BaseUrn。
若要建立 MessageTypes
按一下 [新增],然後按一下 [MessageType]。
輸入 ShippingRequest 作為 MessageType 名稱。
按一下 [建立],建立新的 MessageType,然後按一下 [新增],再按一下 [訊息類型]。
輸入 ShippingAccept 作為 MessageType 名稱。
按一下 [建立],建立新的 MessageType,然後按一下 [新增],再按一下 [訊息類型]。
輸入 ShippingComplete 作為 MessageType 名稱。
按一下 [建立] 以建立新的 MessageType。
若要建立合約
按一下 [新增],然後按一下 [合約]。
選取 [MessageTypeMappings] 下拉功能表。
選取以上建立的所有 MessageTypes。
選取 ShippingAccept 和 ShippingComplete MessageSource 的 [目標]。
關閉 [MessageTypeMappings] 下拉功能表。
輸入 Shipping 作為合約名稱。
按一下 [建立] 以建立新的合約。
若要建立佇列
按一下 [新增],然後按一下 [佇列]。
輸入 ClientQueue 作為佇列名稱。
按一下 [建立] 來建立新的佇列,然後按一下 [新增],再按一下 [佇列]。
輸入 ServerQueue 作為佇列名稱。
按一下 [建立] 以建立新的佇列。
若要在 RemoteServiceBinding 未啟用下建立服務
按一下 [新增],然後按一下 [服務]。
輸入 ClientService 作為服務名稱。
選取 [ContractNames] 下拉功能表並選取 Shipping 合約。
選取 [QueueName] 下拉功能表並選取 ClientQueue 佇列。
輸入或選取 [ServiceOwnerName]。
按一下 [建立] 來建立新的服務,然後按一下 [新增]。
輸入 ServerService 作為服務名稱。
選取 [ContractNames] 下拉功能表並選取 Shipping 合約。
選取 [QueueName] 下拉功能表並選取 ServerQueue 佇列。
輸入或選取 [ServiceOwnerName]。
按一下 [建立] 以建立新的服務。
若要在 RemoteServiceBinding 已啟用下建立服務
按一下 [新增],然後按一下 [服務]。
輸入 RemoteService 作為服務名稱。
選取 [ContractNames] 下拉功能表並選取 Shipping 合約。
將 EnableRemoteService 設為 True。
選取 [QueueName] 下拉功能表並選取 ClientQueue 佇列。
輸入或選取 [ServiceOwnerName]。
按一下 [建立] 來建立新的服務,然後按一下 [新增]。
若要啟用遠端服務的匿名存取
選取 [物件樹中的 RemoteService]。
將 AllowAnonymous 設為 True。
按一下 [改變] 以改變該服務。
若要建立目標執行個體端點
按一下 [新增],然後按一下 [目標執行個體端點]。
輸入名稱或接受預設名稱。
按一下 [建立]。
若要設定指令碼匯出路徑
如果這個索引標籤尚未啟動,按一下 [物件] 索引標籤。
按一下 [選項]。
輸入有效的 ScriptPath。
按一下 [建立]。
若要輸出物件
在物件樹中選取物件。
按一下 [指令碼],然後按一下 [匯出]。
物件隨即匯出至應用程式設定中的 ScriptPath 集合。
若要將服務定義匯出至檔案
從物件樹中選取服務。
按一下 [指令碼],然後按一下 [匯出]。
服務指令碼隨即匯出至應用程式設定中的 ScriptPath 集合。
若要卸除物件
在 TreeView 中選取物件。
按一下 [卸除] 或 [編輯],再按 [卸除 {ObjectName}]。
若要改變物件
在物件樹狀目錄中按一下您要修改的物件。
修改該物件的屬性。
按一下 [改變] 以改變該物件。
若要查詢描述物件的資料
每一個物件都可以將描述物件的資料輸出至文字方塊及/或 DataGrid 中。
在 TreeView 中選取物件。
按一下 [查詢]。
移除範例
若要卸除服務
按一下 [ClientService] 節點。
卸除物件。
按一下 [ServerService] 節點。
卸除物件。
若要卸除佇列
按一下 [ClientQueue] 節點。
卸除物件。
按一下 [ServerQueue] 節點。
卸除物件。
若要卸除合約
按一下 [Shipping] 合約節點。
卸除物件。
若要卸除 MessageTypes
按一下 [ShippingRequest MessageType] 節點。
卸除物件。
按一下 [ShippingAccept MessageType] 節點。
卸除物件。
按一下 [ShippingComplete MessageType] 節點。
卸除物件。
若要拖曳目標執行個體端點
按一下 [目標執行個體端點] 節點。
卸除物件。