Поделиться через


Занятие 4. Удаление объектов диалога

Это занятие содержит сведения о том, как удалять объекты, которые позволяют поддерживать диалог в базе данных с использованием внутренней хранимой процедуры активации.

Процедуры

Переключитесь на базу данных AdventureWorks2008R2

  • Скопируйте и вставьте следующий код в окно редактора запросов. Затем запустите его, чтобы переключить контекст на базу данных AdventureWorks2008R2.

    USE AdventureWorks2008R2;
    GO
    

Удаление объектов диалога

  • Скопируйте и вставьте следующий код в окно редактора запросов. На этом занятии удаляются объекты, использовавшиеся для поддержки диалога.

    IF EXISTS (SELECT * FROM sys.objects
               WHERE name =
               N'TargetActivProc')
         DROP PROCEDURE TargetActivProc;
    
    IF EXISTS (SELECT * FROM sys.services
               WHERE name =
               N'//AWDB/InternalAct/TargetService')
         DROP SERVICE
         [//AWDB/InternalAct/TargetService];
    
    IF EXISTS (SELECT * FROM sys.service_queues
               WHERE name = N'TargetQueueIntAct')
         DROP QUEUE TargetQueueIntAct;
    
    -- Drop the intitator queue and service if they already exist.
    IF EXISTS (SELECT * FROM sys.services
               WHERE name =
               N'//AWDB/InternalAct/InitiatorService')
         DROP SERVICE
         [//AWDB/InternalAct/InitiatorService];
    
    IF EXISTS (SELECT * FROM sys.service_queues
               WHERE name = N'InitiatorQueueIntAct')
         DROP QUEUE InitiatorQueueIntAct;
    
    -- Drop contract and message type if they already exist.
    IF EXISTS (SELECT * FROM sys.service_contracts
               WHERE name =
               N'//AWDB/InternalAct/SampleContract')
         DROP CONTRACT
         [//AWDB/InternalAct/SampleContract];
    
    IF EXISTS (SELECT * FROM sys.service_message_types
               WHERE name =
               N'//AWDB/InternalAct/RequestMessage')
         DROP MESSAGE TYPE
         [//AWDB/InternalAct/RequestMessage];
    
    IF EXISTS (SELECT * FROM sys.service_message_types
               WHERE name =
               N'//AWDB/InternalAct/ReplyMessage')
         DROP MESSAGE TYPE
         [//AWDB/InternalAct/ReplyMessage];
    

Следующие шаги

На этом шаге работа с учебником завершается. Учебники содержат только вводную информацию. В них нет описаний всех доступных параметров. В учебниках используется упрощенная логика и обработка ошибок, поэтому их не следует использовать в производственной среде. Для создания эффективных, надежных и устойчивых в работе диалогов требуется более сложный код, чем представленный в этом учебнике.

Возврат к учебникам по компоненту Service Broker

Учебники по компоненту Service Broker