Я настраиваю зеркало в Amazon EC2, и у меня есть все серверы с выделенными IP-адресами. Когда я пытаюсь подключить свое зеркало к своему принципалу с помощью следующей команды
alter database DB_NAME set partner = 'TCP://202.42.3.54:1433'
(IP изменен с настоящего в целях безопасности) Я получаю сообщение об ошибке
Сетевой адрес сервера «TCP: //202.42.3.54: 1433» недоступен или не существует. Проверьте имя сетевого адреса и повторите команду.
Я уверен, что сервер существует и виден с другого сервера. Я помню, что возникали проблемы, когда имя сервера конечной точки не совпадает с тем, которое сервер знает для себя в @@ SERVERNAME. Кто-нибудь думает, что это может быть проблемой?
Учитывая, что у нас нет ни настройки домена, ни ActiveDirectory, единственный способ, которым я могу думать об использовании фактических имен серверов, - это настроить файл hosts, но я считаю, что это решение будет трудноуправляемым и очень некрасивым.
Есть варианты или идеи?
При зеркалировании и репликации SQL DB, если @@ servername не совпадает с фактическим именем хоста, у вас БУДУТ проблемы. Обычно это происходит, если сервер переименовывается после установки SQL. Кроме того, серверы должны иметь возможность общаться через имя хоста, независимо от того, какие дескрипторы зависят от вас (DNS, файлы хостов, WINS и т. Д.).
Если ваше имя хоста не соответствует запросу @@ servername, есть простой неразрушающий сценарий, который нужно исправить. В этом примере "oldhost" будет именем, которое возвращает запрос. После запуска сценария вам необходимо перезапустить службы SQL.
exec sp_dropserver 'oldhost\instance'
go
exec sp_addserver 'currenthostname\instance',local
go