Что происходит, когда вы восстанавливаете системные базы данных на SQL Server с другим именем? - PullRequest
2 голосов
/ 16 апреля 2009

В настоящее время я изучаю планы аварийного восстановления и восстановления резервных копий master / msdb / model.

Теоретически, если я восстановлю базы данных master, msdb, model и user на новой установке сервера (с теми же пакетами обновления и т. Д.), То у меня будет точная копия исходного сервера со всеми планами обслуживания и заданиями, а также все.

Но что произойдет, если имя нового сервера будет отличаться от исходного? Справляется ли это, или в этом случае необходимы дополнительные шаги?

(Документация MSDN немного краткая в этих областях)

Я на SQL 2005.

edit: есть несколько полезных ответов, но ни один из них не дает четкого ответа на вопрос, насколько я могу судить. У меня был вопрос: после восстановления master, msdb и т. Д. (И при условии, что я не использую ни одного из этих средств шифрования SQL) все будет работать нормально, если новый сервер и экземпляр SQL будут иметь имя, отличное от исходного? Или у меня есть , чтобы сохранить то же имя? Принятая галочка ответа все еще доступна!

Ответы [ 2 ]

2 голосов
/ 16 апреля 2009

Если ваша база данных использует функции шифрования SQL или связанные серверы (их учетные данные внутренне зашифрованы), то вы должны убедиться, что либо SID компьютера, либо домен AD остаются неизменными, ИЛИ вам необходимо иметь резервную копию «главного ключа службы» (SMK).

Однажды мы столкнулись с такой проблемой (конечно, после катастрофы :)). Хотя мы не использовали зашифрованные данные, мы не могли связываться с удаленными серверами; Единственная возможность - сбросить старый зашифрованный SMK и создать новый. Если бы мы зашифровали данные на этом сервере, они были бы потеряны.

MSDN: КЛАВИША MASTER BACKUP SERVICE (Transact-SQL) (и другие связанные статьи)

2 голосов
/ 16 апреля 2009

Правильно, все должно быть идентично и готово к работе.

Изменение имени сервера описано здесь: Как: переименовать компьютер, на котором размещен автономный экземпляр SQL Server 2005

Редактировать, основываясь на комментарии:

Когда вы восстанавливаете на сервер BCP, вы фактически меняете имя сервера, на котором размещен экземпляр SQL Server. Вы делаете бит sp_dropserver/sp_addserver, чтобы все выровнялось (в основном вы исправляете @SERVERNAME)

Редактировать, снова:

Чтобы ответить на ваш вопрос, SQL Server просто запустится. За исключением кода, использующего @@ SERVERNAME, который соответствует имени физического сервера.

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

Однако ни одному клиенту все равно: они используют DNS / имя физического сервера, чтобы найти сервер.

Более подробная информация в @@ SERVERNAME об этом отличается от SERVERPROPERTY, которая выбирает имя физического сервера.

...