レッスン 3 : メッセージ交換オブジェクトの削除

このレッスンでは、データベースでメッセージ交換をサポートすることを可能にしたオブジェクトを削除する方法を学習します。

手順

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
    

次の手順

これでチュートリアルは終わりです。チュートリアルは概要を示すためのものであり、使用できるすべてのオプションが説明されているわけではありません。チュートリアルでは、基本的な操作に集中するために、ロジックやエラー処理を単純化しています。効率的で信頼度の高い、堅牢なメッセージ交換を行うには、このチュートリアルに例示されているコードよりも複雑なコードが必要になります。

Service Broker チュートリアルに戻る

Service Broker チュートリアル