Как внести изменения в схему в зеркальной базе данных? - PullRequest
6 голосов
/ 19 августа 2009

У меня есть зеркальная база данных, и мне нужно внести в нее некоторые изменения. В основном, добавление представления и некоторых хранимых процедур. Теперь я знаю, что если вы вносите изменения в схему, вы должны удалить зеркалирование и зеркальную базу данных, внести изменения в принципал, затем выполнить резервное копирование-восстановление принципала и восстановить зеркальное отображение. Это относится и к хранимым процедурам и представлениям? Могу ли я просто внести изменения в принципал, затем в Failover и внести изменения в зеркало? Каковы возможные проблемы и последствия того, чтобы делать что-то подобное? Просто кажется очень утомительной задачей выполнять каждый раз, когда мы хотим внести небольшое изменение, в основном потому, что база данных превышает 10 гигабайт, поэтому для резервного копирования и восстановления требуется немного времени.

Ответы [ 3 ]

11 голосов
/ 19 августа 2009

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

2 голосов
/ 19 августа 2009

Теперь я знаю, что если вы создадите схему изменения, которые вы должны удалить зеркалирование и зеркальная база данных, внесите изменения в основную сумму, затем резервное копирование-восстановление основного и восстановить зеркалирование

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

Таким образом, любые изменения схемы, в том числе таблицы, представления, процедуры, функции, схемы, участники базы данных, сборки и т. Д. И т. Д., Происходят как на принципале, так и на зеркале.

Единственными изменениями, требующими особого внимания, являются изменения, которые связаны с базой данных, но не происходят в базе данных: задания агента (они находятся в msdb), принципалы сервера (имена входа), настройки репликации (они повсюду в базе данных, msdb и дистрибьюторе.

1 голос
/ 19 августа 2009

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

...