10
votes

Script SQL Server pour supprimer la réplication?

On m'a demandé d'écrire un script SQL pouvant être exécuté, qui arrêtera la réplication et supprimera l'abonné / abonnement.

est-ce possible? Ou devez-vous utiliser l'interface graphique?


0 commentaires

3 Réponses :


17
votes

Quelle version de SQL Server vous utilisez.

Essayez p>

sp_removedbreplication 'DB_PROD' 
go


0 commentaires

-2
votes
SELECT spid FROM sys.sysprocesses WHERE dbid = db_id('distribution')
and use the process number to kill it as below:
kill 65

1 commentaires

Ce n'est même pas proche d'une réponse correcte. Tout ce que vous faites est de tuer tout ce qui se connecte à la base de données.



3
votes

Si vous souhaitez supprimer complètement la réplication, y compris tous les "bits". Ou votre serveur n'a qu'une publication et c'est celui que vous essayez de supprimer.

Je recommanderais:

  1. Connectez-vous à l'éditeur ou à la distribution que vous souhaitez désactiver dans Microsoft SQL Server Management Studio, puis développez le nœud serveur.
  2. Cliquez avec le bouton droit sur le dossier de réplication, puis cliquez sur Désactiver la publication et la distribution.
  3. Suivez les étapes de l'Assistant Désactiver la publication et la distribution, et au lieu de Traitement Sélectionnez l'option sur Générer des scripts . . .

    Cela a l'avantage de non seulement le nettoyer complètement les choses. Mais également en supprimant la base de données de distribution, que si vous avez déjà été traitée auparavant, il est connu pour devenir jonché de vestiges de réplications passées.

    La documentation complète peut être trouvée Ici .


1 commentaires

Et cela ne fait pas mal à «SP_REMOVEBRÉPLICATION» après simplement pour vous assurer que tout est parti.