Назад | Перейти на главную страницу

Нарушение репликации SQL Server

я задал этот вопрос на stackoverflow.com, и они посоветовали мне задать его и здесь.

У меня новый клиент, бла-бла-бла, мне нужно прервать репликацию SQL Server 2000 из их домашнего офиса в другую базу данных, которую они собираются полностью отбросить (на каком-то хостинге она больше не нужна).

Я думаю, что тот, что находится в домашнем офисе, - это «Издатель». Честно говоря, я думаю, что мы могли бы просто удалить другую базу данных, и одна из домашних офисов работала бы нормально, но было бы неплохо немного очистить ее и избавиться от материала публикаций / подписок.

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

Итак, если я просто сброшу материал репликации, будет ли база данных успешно вставляться, пока не достигнет верхней границы диапазона автоматического нумерации? Что происходит потом?

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

Что за резервирование вставки идентификационной информации выполняется репликацией или как-то с ней связано? Я собираюсь подозревать, что они используют репликацию слиянием, что означает, что есть издатель и подписчик. Также вероятно, что идентификатор вставки не устает от того, как настроена публикация. Таким образом, когда вы удалите репликацию, произойдет одно из двух: она продолжит использовать только зарезервированный блок, поэтому теперь вам нужно расширить его. Или он обнаружит, что другая БД исчезла, и предоставит той, у которой осталось, доступ ко всем номерам. Я подозреваю, что он просто продолжит использовать зарезервированный блок, так что все будет в порядке, пока не закончатся номера.

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

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

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