Как удалить репликацию ms sql

от admin

SQL Server script to remove replication?

I have been asked to write a SQL script that can be run, which will stop replication and remove the subscriber/subscription.

Is this at all possible? Or do you have to use the GUI?

2 Answers 2

Which version of SQL Server you are using.

Google as well provides MSDN article in results

How to: Disable Publishing and Distribution (Replication Transact-SQL Programming) — http://msdn.microsoft.com/en-us/library/ms147921.aspx

Siva's user avatar

If you’re look to completely remove replication, including all the «bits». Or your server only has one publication and this is the one you’re trying to remove.

I would recommend:

  1. Connect to the Publisher or Distributor you want to disable in Microsoft SQL Server Management Studio, and then expand the server node.
  2. Right-click the Replication folder, and then click Disable Publishing and Distribution.
  3. Follow the steps in the Disable Publishing and Distribution Wizard, and instead of processing select the option to generate scripts.

This has the advantage of not only completely cleaning things up. But also removing the distribution database, which if you’ve ever dealt with before is known to become littered with remnants of replications past.

MS SQL Server: пошаговая настройка репликации

date14.02.2020
userinsci
directorySQL Server
commentsОдин комментарий

В этой статье мы рассмотрим, как настроить самый распространений тип репликации в SQL Serverтранзакционную репликацию. Этот тип репликации SQL Server используется для копирования данных в режиме реального времени, то есть данные на подписчиках появляются практически сразу (с учетом времени которое тратится на копирование данных по сети).

Репликация транзакций проста в настройке и доступна во всех версиях SQL Server. Данный тип репликации используется для двух целей:

  • Репликация данных между несколькими серверами для read доступа (например, для разгрузки серверов OLTP типа);
  • Как решение для избыточности данных отдельных объектов.

Хотя у SQL Server есть много решений для балансировки нагрузки select запросов и средств обеспечения отказоустойчивости, транзакционная репликация это самый простой и быстрый способ, так как вы можете реплицировать отдельные объекты. Так же этот вид репликации полностью доступен в Standard лицензии SQL Server ( в отличии от групп доступности Always On, которые полноценно доступны только в Enterprise).

Преимущество репликации перед Always ON и зеркалированием баз данных в том, что с помощью репликации вы можете скопировать отдельные объекты (отдельные таблицы/представления), а не базу данных целиком.

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

SQL Server: основы технологии репликации

В любом типе репликации SQL Server есть 3 типа серверов:

  • Publisher (издатель) – основной экземпляр-источник, который публикует статьи;
  • Distributor (распространитель) – экземпляр который распространяет статьи на сервера-подписчики. Этот тип экземпляра не хранит у себя данные издателя на постоянной основе, а распространяет их подписчикам;
  • Subscriber (подписчик) – экземпляр который получает распространяемые статьи.

Роли могу пересекаться между собой. Например, один экземпляр может быть и издателем, и подписчиком (но не самого себя).

Работа репликации транзакций осуществляется через внутренние агенты SQL Server’а:

  • Агент чтения журналов;
  • Агент моментальных снимков;
  • Агент распространения.

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

Транзакции доставляются на подписчиков в той последовательности, в которой они были отправлены на издателя. Если транзакций слишком много, образуется очередь.

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

Схема связи агентов между собой из официальной документации:

схема реализации репликации базы данных в MS SQL Server

Рассмотрим, как настроить репликацию в SQL Server на следующем тестовом стенде:

  • 2 виртуальные машины с Windows Server 2019 в одной сети;
  • 2 установленных экземпляра SQL Server 2019.
  • testnode1\node1 – издатель (Publisher);
  • testnode2\node2 – подписчик (Subscriber);
  • testnode2\node2 – распространитель (Distributor).

В этом примере мы будем реплицировать одну таблицу с testnode1\node1 на testnode\node2. В роли распространителя будет выступать testnode2\node2.

Настройка распространителя в SQL Server

Для начала нужно настроить экземпляр распространителя. В разделе Replication, в контекстном меню нажмите Configure Distribution

Configure Distribution - настройка распространителя репликации

Так как мы хотим использовать этот экземпляр в качестве распространителя, выбираем первый пункт (testnove2 will act as its own Distributor; SQL Server will create a distribution databasse and log).

выбор роли replication disrtibutor в sql server

путь к каталогу снапшоотв репликации sql server

Указываем директорию для моментальных снимков. Я оставлю стандартный путь.

sql server путь к базе данных Distribution

Указываем директорию для базы данных Distribution. Если есть такая возможность, то лучше разместить файлы базы данных distribution на отдельном массиве дисков. Особенно это важно, если планируется большой объём реплицируемых данных.

На этом шаге можно указать экземпляры, которые смогут использовать данный сервер как распространитель. Я сразу добавлю testnode1\node1. Это можно сделать и позже, после начальной конфигурации.

настройка подписчиков репликации sql server

Укажите пароль для связи с экземплярами, которые будут связываться с распространителем.

пароль для связи между Publisher и Distributor

После этого можно жать Finish. На этом настройка распространителя завершена.

Если вы хотите изменить пароль распространителя или разрешить другим издателям использовать этот распространитель, то можно это сделать через Distributor Properties

Distributor Properties в sql server 2019настройки распространителя sql репликации

Настройка издателя репликации в SQL Server

Теперь переходим к настройкам издателя репликации. Запустите тот же мастер Configure Distributuin.

Настройка издателя репликации SQL Server

Выберите второй пункт, указываем сервер распространитель – testnode2\node2

указать имя распространителя репликации

После этого введите пароль, который вы указывали при настройке распространителя и нажмите Finish.

Теперь можно создать новую публикацию: Replication -> Local Publication -> New Publication.

создание публикации sql server

Укажите базу данных, которая будет участвовать в репликации.

выберите базу данных для репликации

Выберите тип репликации. Доступны:

  • Snapshot publication;
  • Transactional publication (выберите этот тип репликации);
  • Peer-to-Peer publication;
  • Merge publication.

Transactional publication - транзакционная репликация

Выберите таблицы, которые нужно реплицировать. С помощью транзакционной репликации так же можно реплицировать пользовательские процедуры, функции и представления. Реплицируемые объекты называются Articles (Статьи).

выбор таблицы для репликации sql server

На следующем шаге можете указать фильтр для публикации.

sql фильтр репликации

Чтобы мастер сразу создал моментальный снимок, выберите опцию “Create a snapshot immediately and keep the snapshot available to initialize subscriptions”.

создать снимок sql server для инициализации репликации

выбор сервисных учетных записей

Укажите аккаунты, из-под которых будут выполняться агенты. Нажмите Security Settings и выберите “Run under SQL Server Agent service account”.

В имени публикации я указываю названия сервера-подписчика. Так легче ориентироваться если публикаций на другие сервера будет много.

настройка публикации

publication создана

Настройка подписчика репликации в SQL

На testnode2\node2 в разделе Replication -> Local Subscriptions создайте новую подписку.

создать подписку репликации -> Local Subscriptions в sql server

Выберите издателя, базу данных и публикацию в ней.

выбор издателя репликации

Выберите пункт “Run all agents at the Distributor”, чтобы агенты выполнялись на распространителе. В моём случае подписчик и распространитель совпадают, но обычно это разные сервера.

Если выбрать второй пункт (“Run each agent at its Subscriber”), то агенты будут выполняться на подписчике. Этот вариант предпочтителен, если распространитель у вас “формальный” и находится на одном сервере с издателем или подписчиком

Run all agents at the Distributor

Укажите базу данных, в которую будут реплицироваться данные из Subscription Database.

выбор базы даннх, в которую нужно реплицировать данные sql server

Снова укажите аккаунт, из-под которого будут выполняться агенты репликации.

выбор сервисных аккаунтов

Если вы хотите, чтобы данные реплицировались постоянно, выбирайте режим Agent Schedule -> Run continuously.

тип репликации постоянная Run continuously

Включите опцию Initialize, чтобы инициализировать подписку после завершения работы мастера.

Memory Optimized репликация

При включении параметра “Memory Optimized” таблицы на подписчике с этой публикации будут созданы как “In memory”. Если вы не планируете эти таблицы как таблицы для использования в оперативной памяти, то не отмечайте этот параметр.

настройка подписки закончена

На этом настройка подписки завершена. Теперь необходимо проверить работоспособность публикации и корректность выполнения репликации таблицы.

Мониторинг и управление репликацией в SQL Server

Практически всю настройку существующих публикаций можно провести через Replication Monitor.

Replication Monitor в sql server

Добавьте издателей через распространителя (Add Publisher -> Specify a Distributor and Add its Publishers).

Specify a Distributor and Add its Publishers

После того, как вы соединитесь с распространителем, у вас появится список издателей, которые работают с этим распространителем.

список доступных репликаций в sql server

Убедимся, что агент моментальных снимков отработал и доставил снимок на распространителя. В моём случае сначала была ошибки о том, что аккаунту из-под которого работают агенты, не хватает прав на базе TestDatabase1. Для решения этой проблемы я добавил сервисному аккаунту (из-под которого работает SQL Server) роль db_owner в базе TestDatabase1 на обоих экземплярах.

мониторинг репликации sql server

Так же убедимся, что распространитель доставил транзакции на подписчика.

процесс выполнения репликации

В логах агентов ошибок нет, проверим что наша таблица действительно появилась в базе.

Для начала добавим новую запись в таблицу.

проверка репликации данных в sql server

Проверяем, что эта запись реплицировалась на testnode2\node2.

данные успешно реплицированы sql server 2019

На этом базовая настройка репликации транзакций в SQL Server закончена.

Для диагностики проблем с репликацией в основном используется Replication Monitor, но можно использовать и дополнительные инструменты диагностики SQL Server.

Как удалить репликацию ms sql

Скрипт SQL Server для удаления репликации?

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

Как исправить испорченную репликацию на MS SQL Server

SQL Server script to remove replication?

I have been asked to write a SQL script that can be run, which will stop replication and remove the subscriber/subscription.

Is this at all possible? Or do you have to use the GUI?

2 Answers 2

Which version of SQL Server you are using.

Google as well provides MSDN article in results

How to: Disable Publishing and Distribution (Replication Transact-SQL Programming) — http://msdn.microsoft.com/en-us/library/ms147921.aspx

Walery Strauch

Siva

If you’re look to completely remove replication, including all the «bits». Or your server only has one publication and this is the one you’re trying to remove.

I would recommend:

  1. Connect to the Publisher or Distributor you want to disable in Microsoft SQL Server Management Studio, and then expand the server node.
  2. Right-click the Replication folder, and then click Disable Publishing and Distribution.
  3. Follow the steps in the Disable Publishing and Distribution Wizard, and instead of processing select the option to generate scripts.

This has the advantage of not only completely cleaning things up. But also removing the distribution database, which if you’ve ever dealt with before is known to become littered with remnants of replications past.

Как удалить репликацию ms sql

Статья представляет собой краткий справочник по использованию утилит командной строки для репликации MS SQL Server 2000.

Одну из ведущих ролей в репликации MS SQL Server играют агенты, которые являются утилитами командной строки. В данной статье мы рассмотрим четыре агента репликации: distrib.exe — Replication Distribution Agent, snapshot.exe — Replication Snapshot Agent, replmerg.exe — Replication Merge Agent и logread.exe — Replication Log Reader Agent.
Обычно, все эти четыре утилиты можно найти в каталоге C:\Program Files\Microsoft SQL Server\80\COM . Для того, что бы посмотреть параметры их вызова, необходимо запустить соответствующие исполняемые файлы с ключом «-?». На Вашем экране будет представлен синтаксис их запуска и перечень возможных ключей. Эта информация собрана в находящейся ниже по тексту таблице.

Merge Replication Dynamic
Snapshot Parameters:

Обратите внимание : Параметры могут быть определены в любом порядке. Когда дополнительные параметры не определены, используются значения предопределенных параметров в системном реестре локального компьютера.

Утилита Replication Distribution Agent получает конфигурацию и запускает Distribution Agent, который перемещает снимок (для репликации снимков и репликации транзакций), определённый в таблицах базы данных дистрибутора (для репликации транзакций), в таблицы назначения подписчика. Distribution Agent запускается для каждой публикации и исполняется на подписчике при pull-подписке, а при push-подписке, он работает на дистрибуторе.
Если Вы запускаете службу SQL Server Agent под учетной записью локальной системы (значение по умолчанию), а не под учетной записью пользователя домена, служба сможет обращаться только к локальному компьютеру. Если Distribution Agent, работа которого управляется SQL Server Agent, будет при этом использовать для доступа к экземпляру SQL сервера Windows Authentication Mode, Distribution Agent не сможет работать. Параметр по умолчанию — SQL Server Authentication.

Утилита Replication Snapshot Agent получает конфигурацию и запускает Snapshot Agent, который готовит файлы снимка, содержащие схему (метаданные) и данные изданных таблиц и объектов базы данных, сохраняет файлы в папке моментальных снимков и создаёт синхронизирующее по расписанию задание в базе данных дистрибутора. Кроме того, Snapshot Agent фиксирует информацию о состоянии синхронизации в базе данных дистрибутора. Самостоятельно Snapshot Agent не занимается распространением созданных им снимков. При репликации снимками, этот агент запускается настолько часто, на сколько необходимо обеспечить приемлемую периодичность обеспечения синхронности подписанных баз данных. Для репликации транзакций или слиянием он может обновляться реже, вплоть до того момента, когда возникнет необходимость подключения нового подписчика.

Утилита Replication Merge Agent получает конфигурацию и запускает Merge Agent, который применяет первоначальный, моментальный снимок, указанный в таблицах базы данных подписчика. Также он обеспечивает репликацию слиянием инкрементных изменений данных, которые произошли на издателе после создания первоначального снимка или последнего сеанса синхронизации, и урегулирует конфликты согласно установленных Вами правил или с использованием Вашего самодельного резольвера.
Для репликации слиянием Merge Agent исполняет ещё и роли Distribution Agent и Snapshot Agent, которые при таком виде репликации не используются.

Утилита Replication Log Reader Agent получает конфигурацию и запускает Log Reader Agent, который контролирует журнал регистрации транзакций каждой базы данных, указанной для репликации, и копирует транзакции, отмеченные для репликации из журнала транзакций в базу данных дистрибутора. При репликации транзакций, на издателе запускается свой Log Reader Agent для каждой базы данных, использующей этот вид репликации.

Transact-SQL — изменение и удаление данных

XYZ School

Инструкция UPDATE используется для модифицирования строк таблицы. Эта инструкция имеет следующую общую форму:

Строки таблицы tab_name выбираются для изменения в соответствии с условием в предложении WHERE. Значения столбцов каждой модифицируемой строки изменяются с помощью предложения SET инструкции UPDATE, которое соответствующему столбцу присваивает выражение (обычно) или константу. Если предложение WHERE отсутствует, то инструкция UPDATE модифицирует все строки таблицы. С помощью инструкции UPDATE данные можно модифицировать только в одной таблице.

В примере ниже инструкция UPDATE изменяет всего лишь одну строку таблицы Works_on, поскольку комбинация столбцов EmpId и ProjectNumber является первичным ключом этой таблицы и, следственно, она однозначна. В данном примере изменяется должность сотрудника, значение которого было ранее неизвестно или имело значение NULL:

В примере ниже значения строкам таблицы присваиваются посредством выражения. Запрос пересчитывает бюджеты всех проектов с долларов на евро:

В данном примере изменяются все строки таблицы Project, поскольку в запросе отсутствует предложение WHERE.

В примере ниже в предложении WHERE инструкции UPDATE используется вложенный запрос. Поскольку применяется оператор IN, то этот запрос может возвратить более одной строки:

Согласно этому запросу, для сотрудницы Вершининой Натальи во всех ее проектах в столбце ее должности присваивается значение NULL. Запрос в этом примере можно также выполнить посредством предложения FROM инструкции UPDATE. В предложении FROM указываются имена таблиц, которые обрабатываются инструкцией UPDATE. Все эти таблицы должны быть в дальнейшем соединены. Применение предложения FROM показано в примере ниже. Логически, этот пример идентичен предыдущему:

В примере ниже показано использование выражения CASE в инструкции UPDATE. (Подробное рассмотрение этого выражения описывалось ранее.) В данном примере нужно увеличить бюджет всех проектов на определенное число процентов (20, 10 или 5), в зависимости от исходной суммы бюджета: чем меньше бюджет, тем больше должно быть его процентное увеличение:

Инструкция DELETE

Инструкция DELETE удаляет строки из таблицы. Подобно инструкции INSERT, эта инструкция также имеет две различные формы:

Удаляются все строки, которые удовлетворяют условие в предложении WHERE. Явно перечислять столбцы в инструкции DELETE не то чтобы нет необходимости, а даже не разрешается, поскольку эта инструкция оперирует строками, а не столбцами. Использование первой формы инструкции DELETE показано в примере ниже, в котором происходит удаление из таблицы Works_on всех сотрудников с должностью ‘Менеджер’:

Предложение WHERE инструкции DELETE может содержать вложенный запрос, как это показано в примере ниже:

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

Использование предложения WHERE в инструкции DELETE не является обязательным. Если это предложение отсутствует, то из таблицы удаляются все строки:

Инструкции DELETE и DROP TABLE существенно отличаются друг от друга. Инструкция DELETE удаляет (частично или полностью) содержимое таблицы, тогда как инструкция DROP TABLE удаляет как содержимое, так и схему таблицы. Таким образом, после удаления всех строк посредством инструкции DELETE таблица продолжает существовать в базе данных, а после выполнения инструкции DROP TABLE таблица больше не существует.

Другие инструкции и предложения Transact-SQL для модификации таблиц

Сервер SQL Server поддерживает следующие дополнительные инструкции и предложения для модификации таблиц:

инструкцию TRUNCATE TABLE;

Эти инструкции и предложение рассматриваются в последующих подразделах.

Инструкция TRUNCATE TABLE

Инструкция TRUNCATE TABLE является более быстрой версией инструкции DELETE без предложения WHERE. Эта инструкция удаляет все строки таблицы более быстро, чем инструкция DELETE, поскольку она удаляет содержимое постранично, тогда как инструкция DELETE делает это построчно. Инструкция TRUNCATE TABLE является расширением Transact-SQL стандарта SQL. Еще одним важным отличием этой инструкции является то, что она сбрасывает индекс столбца, для которого указано свойство автоинкремента IDENTITY.

Инструкция TRUNCATE TABLE имеет следующий синтаксис:

Инструкция MERGE

Инструкция MERGE объединяет последовательность инструкций INSERT, UPDATE и DELETE в одну элементарную инструкцию, в зависимости от существования записи (строки). Иными словами, можно синхронизировать две разные таблицы, чтобы модифицировать содержимое таблицы назначения в зависимости от различий, обнаруженных в таблице-источнике.

Основной областью применения для инструкции MERGE является среда хранилищ данных, где таблицы необходимо периодически обновлять, чтобы отражать новые данные, прибывающие с систем оперативной обработки транзакций OLTP (On-Line Transaction Processing). Эти данные могут содержать изменения существующих строк таблиц и/или новый строки, которые нужно вставить в таблицы. Если строка в новых данных соответствует записи, которая уже имеется в таблице, выполняется инструкция UPDATE или DELETE. В противном случае выполняется инструкция INSERT.

Альтернативно, вместо инструкции MERGE можно использовать последовательность инструкций INSERT, UPDATE и DELETE, в которых для каждой строки решается, какую операцию выполнять: вставку, удаление или обновление. Но этот подход имеет значительный недостаток, связанный с производительностью: в нем требуется выполнять несколько проходов по данным, а данные обрабатываются по принципу «запись за записью».

Предложение OUTPUT

По умолчанию единым видимым результатом выполнения инструкции INSERT, UPDATE или DELETE является только сообщение о количестве модифицированных строк, например «3 rows DELETED» (удалены 3 строки) и система не сохраняет информацию о модифицированных данных. Если такой видимый результат не удовлетворяет вашим требованиям, то можно использовать предложение OUTPUT, которое выводит модифицированные, вставленные или удаленные строки.

Предложение OUTPUT также применимо с инструкцией MERGE, для которой оно выводит все модифицированные строки в виде таблицы.

Результаты выполненных операций соответствующих инструкций предложение OUTPUT выводит в таблицах inserted и deleted. Кроме этого, чтобы заполнить таблицы, в предложении OUTPUT требуется использовать выражение INTO. Поэтому для сохранения результата используется табличная переменная.

В примере ниже показано использование инструкции OUTPUT с инструкцией DELETE:

При условии, что содержимое таблицы находится в исходном состоянии, выполнение запроса в примере дает следующий результат:

Использование OUTPUT в инструкции DELETE

В этом примере сначала объявляется табличная переменная @deleteTable с двумя столбцами: Id и LastName. В этой таблице будут сохранены удаленные строки. Синтаксис инструкции DELETE расширен предложением OUTPUT: «OUTPUT deleted.Id, deleted.LastName INTO @deleteTable». Посредством этого предложения система сохраняет удаленные строки в таблице deleted, содержимое которой потом копируется в переменную @deleteTable.

В примере ниже показано использование предложения OUTPUT в инструкции UPDATE:

Как удалить репликацию ms sql

Профиль
Группа: Участник
Сообщений: 642
Регистрация: 17.5.2006

Репутация: нет
Всего: 8

Возможно ли создать репликацию между этими двумя базами?
P.S Если нет, то я пробовал слинковать MS ACESS c MS SQL. Беда была в том, что в MS SQL я не смог создовать процедуры, так как в MS ACCESS названия таблиц на русском языке. И выдавалась какая то ошибка ANSI. Я думаю спецы могут знать что это за ошибка.

Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 2
Всего: 44

Профиль
Группа: Участник
Сообщений: 642
Регистрация: 17.5.2006

Репутация: нет
Всего: 8

Как только не пробовал

distrib.exe [-?] snapshot.exe [-?] replmerg.exe [-?] logread.exe [-?]
Код
CREATE PROCEDURE dbo.ZvkList AS
SELECT * FROM ACCESSDB. [Заявки]
Код
CREATE PROCEDURE dbo.ZvkList AS
SELECT * FROM ACCESSDB. "Заявки"
Код
CREATE PROCEDURE dbo.ZvkList AS
SELECT * FROM "ACCESSDB. Заявки"

"Check Syntax" проходит на ура, а вот если жму на кнопку OK , то выскакивает

Цитата
Error 7475: Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS options to be set for the connection. This ensures consistent query semantics. Enable these options and then reissue your query.

В свойствах сервера выставлял галки ANSI_NULLS и ANSI_WARNINGS. Не помогло.

Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 2
Всего: 44

Профиль
Группа: Участник
Сообщений: 642
Регистрация: 17.5.2006

Репутация: нет
Всего: 8

Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 2
Всего: 44

Цитата(HappyLife @ 7.9.2007, 13:55 )
DimW, нет, эти самые точки означают что база данных слинкованная а не локальная. Это синтаксис MS SQL

сори, кто бы мог подумать

Профиль
Группа: Модератор
Сообщений: 20541
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 453

О(б)суждение моих действий — в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция — Администрация форума.

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.

Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »

[ Время генерации скрипта: 0.1090 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Как удалить репликацию ms sql

Скрипт SQL Server для удаления репликации?

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

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

Ответы

Siva picture

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

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

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

pim picture

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

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

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

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

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

Luqman Cheema picture

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

Связанные вопросы

Добавить столбец со значением по умолчанию в существующую таблицу в SQL Server

Вставить результаты хранимой процедуры во временную таблицу

SQL-запрос для выбора дат между двумя датами

Как я могу выполнить инструкцию UPDATE с JOIN в SQL Server?

Перед созданием временной таблицы проверьте, существует ли временная таблица, и удалите, если она существует.

Читать:
Как вернуть файлы из onedrive на рабочий стол

Похожие статьи