Наши администраторы Windows определили проблему с тем, как они клонируют серверы Windows. По-видимому, некоторые из клонированных серверов имеют одинаковый SID на уровне ОС. Я слышал, что Microsoft не поддерживает серверы с повторяющимися SID. Следовательно, необходимо изменить SID на этих серверах.
Мне любопытно, как это влияет на SQL Server. Любые идеи? Как это влияет на кластерные серверы баз данных?
Оставьте SID в покое. NewSID был удален, потому что Марк Руссинович немного покопался и обнаружил, что все "повторяющиеся SID == плохо!" Линия, которую мы все вбивали в наши черепа за последнее десятилетие или около того, - это просто вздор.
См. Последнюю запись в блоге Марка: Миф о машинном дублировании SID.
Я определенно рекомендую не менять SID, пока вы не прочитаете: Изменение SID машины с помощью NewSID ломает SQL Server (и как это исправить)
По-видимому, некоторые клонированные серверы имеют одинаковый SID на уровне ОС.
Я рискну предположить, что ВСЕ ваши клонированные системы имеют одинаковый SID. GhostWalk может регенерировать SID за вас. Использование sysprep в исходном образе клона может также сэкономить на будущих системах.
Если вы установили SQL Server НЕ МЕНЯЙТЕ SID. Произойдут плохие вещи.
Вы можете использовать sysinternals NewSID: http://technet.microsoft.com/en-us/sysinternals/bb897418.aspx
Измените имя компьютера в SQL:
use master
sp_dropserver '<old computer name>'
GO
sp_addserver '<new computer name>', local
GO
sp_helpserver -- will show you the new computer name
Затем перезапустите службу sql server.
Если ваша база данных выполняет удаленные транзакции с помощью координатора распределенных транзакций Microsoft, имейте в виду, что клонированные машины также имеют тот же идентификатор MSDTC, который не является идентификатором безопасности и не изменяется NewSID.
Вы увидите это в средстве просмотра событий:
Локальный MS DTC обнаружил, что MS DTC на СЕРВЕРЕ имеет тот же уникальный идентификатор, что и локальный MS DTC. Это означает, что два MS DTC не смогут связываться друг с другом. Эта проблема обычно возникает, если одна из систем была клонирована с использованием неподдерживаемых инструментов клонирования. MS DTC требует, чтобы системы были клонированы с помощью поддерживаемых инструментов клонирования, таких как SYSPREP. Запуск «msdtc -uninstall», а затем «msdtc -install» из командной строки решит проблему. Примечание. Запуск «msdtc -uninstall» приведет к потере системой всей информации о конфигурации MS DTC.
Разрешаю так:
msdtc -uninstall
Подождите пару минут, затем
msdtc -install
sc config msdtc start= auto
sc start msdtc
Используйте инструмент, который теперь принадлежит Microsoft NewSID или sysprep, что похоже на переустановку Windows без копирования всех файлов.
Я не думаю, что вы можете присоединить два компьютера к одному домену с одним и тем же SID, поэтому я бы сказал, что у кластеризованных серверов SQL не будет никаких шансов, поскольку серверы должны находиться в домене.
Единственный поддерживаемый способ клонирования системы - sysprep. Есть несколько причин, по которым не клонировать sql-сервер:
-Он не поддерживается Microsoft CSS.
-SQL не будет работать должным образом, пока он не будет "переименован".
-Если у вас есть службы отчетности, они также будут обработаны.
-Учетные записи системной и сетевой службы получат новые SID и пароли, поэтому, если вы использовали их в качестве учетных записей служб, возникнут некоторые проблемы.
-SQL Server создает несколько хороших локальных групп с форматом. SQLServer2005MSSQLUser $$ MSSQLSERVER. Не поддерживается переименование этих
Чтобы исправить ситуацию, я бы-
Разбейте кластер, перестройте систему, установите SQL, создайте новый кластер, запустите резервную копию на сервере, который не был перестроен, затем остановите его, восстановите эту резервную копию в новом кластере, укажите приложение на новый кластер, перестройте оставшиеся сервер и добавить его в новый кластер
- в качестве альтернативы (возможно, проще) почему бы не создать новый сервер с новым именем (это решит потенциальные проблемы с SID любого типа), затем сломать кластер, установить SQL, присоединить его к кластеру, переключиться на это поле, затем повторить процесс, что Таким образом, нет простоев и необходимости в резервном копировании / восстановлении (хотя я бы посоветовал вам это сделать). Мы используем zznode1, zznode2 и имя кластера, таким образом создать zznode3 и присоединить его к кластеру очень просто, поскольку узел не упоминается в кластере. Надеюсь, это поможет.