第 3 課:卸除交談物件

適用於:SQL ServerAzure SQL 受控執行個體

在這一課,您將學會卸除讓某個資料庫支援資料庫之交談的物件。

程序

注意

這些範例已經過 SQL Server 2008 R2 (10.50.x) 的驗證。 建議使用 AdventureWorks 範例資料庫中的 AdventureWorks2008R2 範例資料庫來完成這些範例。

SQL Server 的目前版本支援 SQL Server Service Broker。

切換至 AdventureWorks2008R2 資料庫

  • 將下列程式碼複製並貼入 [查詢編輯器] 視窗中。 然後,執行此程式碼以便將內容切換至 AdventureWorks2008R2 資料庫。

        USE AdventureWorks2008R2;
        GO
    

卸除交談物件

  • 將下列程式碼複製並貼入 [查詢編輯器] 視窗中。 然後,執行此程式碼以便卸除用來支援交談的物件。

        IF EXISTS (SELECT * FROM sys.services
                   WHERE name =
                   N'//AWDB/1DBSample/TargetService')
             DROP SERVICE
             [//AWDB/1DBSample/TargetService];
    
        IF EXISTS (SELECT * FROM sys.service_queues
                   WHERE name = N'TargetQueue1DB')
             DROP QUEUE TargetQueue1DB;
    
        -- Drop the intitator queue and service if they already exist.
        IF EXISTS (SELECT * FROM sys.services
                   WHERE name =
                   N'//AWDB/1DBSample/InitiatorService')
             DROP SERVICE
             [//AWDB/1DBSample/InitiatorService];
    
        IF EXISTS (SELECT * FROM sys.service_queues
                   WHERE name = N'InitiatorQueue1DB')
             DROP QUEUE InitiatorQueue1DB;
    
        IF EXISTS (SELECT * FROM sys.service_contracts
                   WHERE name =
                   N'//AWDB/1DBSample/SampleContract')
             DROP CONTRACT
             [//AWDB/1DBSample/SampleContract];
    
        IF EXISTS (SELECT * FROM sys.service_message_types
                   WHERE name =
                   N'//AWDB/1DBSample/RequestMessage')
             DROP MESSAGE TYPE
             [//AWDB/1DBSample/RequestMessage];
    
        IF EXISTS (SELECT * FROM sys.service_message_types
                   WHERE name =
                   N'//AWDB/1DBSample/ReplyMessage')
             DROP MESSAGE TYPE
             [//AWDB/1DBSample/ReplyMessage];
        GO
    

後續步驟

這總結教學課程。 教學課程是簡短概觀,不會描述所有可用選項。 教學課程已簡化邏輯及錯誤處理以將焦點放在基本操作。 若要建立有效率、可靠及健全的交談,您需要比此教學課程中更複雜的程式碼。

另請參閱