Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Managed Instance
Dans cette leçon, vous allez apprendre à supprimer les objets qui ont activé une base de données pour prendre en charge une conversation à l’aide d’une procédure stockée d’activation interne.
Procédures
Remarque
Les exemples de code de cet article ont été testés à l’aide de l’exemple de base de données AdventureWorks2025, que vous pouvez télécharger à partir de la Microsoft SQL Server Samples and Community Projects page d’accueil.
Basculer vers la base de données AdventureWorks
Copiez et collez le code suivant dans une fenêtre éditeur de requête, puis exécutez-la pour basculer le contexte vers la AdventureWorks2025 base de données.
USE AdventureWorks2022;
GO
Supprimer les objets de la conversation
Copiez et collez le code suivant dans une fenêtre de l’Éditeur de requête, puis exécutez-la pour supprimer les objets utilisés pour prendre en charge la conversation.
IF EXISTS (SELECT *
FROM sys.objects
WHERE name = N'TargetActiveProc')
DROP PROCEDURE TargetActiveProc;
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 initiator 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];
Étape suivante
Cette leçon conclut le tutoriel. Les didacticiels sont de brèves introductions uniquement ; ils ne décrivent pas toutes les options disponibles. Les didacticiels utilisent une logique simplifiée et une gestion des erreurs, et vous ne devez pas les utiliser dans un environnement de production. Pour créer des conversations efficaces, fiables et solides, vous avez besoin d'un code plus complexe que celui qui figure dans l'exemple de ce didacticiel.