SQL Server скрипт для удаления репликации? - PullRequest
8 голосов
/ 29 июня 2011

Меня попросили написать сценарий SQL, который можно запустить, который остановит репликацию и удалит подписчика / подписку.

Возможно ли это вообще?Или вы должны использовать графический интерфейс?

Ответы [ 3 ]

13 голосов
/ 29 июня 2011

Какую версию SQL Server вы используете.

Попробовать

sp_removedbreplication 'DB_PROD' 
go

См. Также - Как очистить биты репликации - http://blogs.msdn.com/b/repltalk/archive/2010/11/17/how-to-cleanup-replication-bits.aspx

Google также предоставляет статью MSDN в результатах

Как: Отключить публикацию и распространение (программирование репликации на языке Transact-SQL) - http://msdn.microsoft.com/en-us/library/ms147921.aspx

1 голос
/ 07 декабря 2017

Если вы хотите полностью удалить репликацию, включая все «биты».Или на вашем сервере есть только одна публикация, которую вы пытаетесь удалить.

Я бы порекомендовал:

  1. Подключиться к издателю или распространителю, который требуется отключить в Microsoft SQL Server Management Studio, а затем развернуть узел сервера.
  2. Щелкните правой кнопкой мыши папку «Репликация» и выберите «Отключить публикацию и распространение».
  3. Выполните шаги в мастере отключения публикации и распространения, и вместо обработка выберите параметр генерировать сценарии .

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

Полная документация может быть найдена здесь .

0 голосов
/ 14 апреля 2017
SELECT spid FROM sys.sysprocesses WHERE dbid = db_id('distribution')

и используйте номер процесса для его уничтожения, как показано ниже: kill 65

...