Изменение необработанного IP на полное доменное имя в строках подключения - есть ли потенциальные проблемы? - PullRequest
2 голосов
/ 10 ноября 2011

Наша установка

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

Проблема

В настоящее время мы используем IP-адрес сервера в строках подключения на веб-серверах и серверах приложений. Это не оптимально в случае сбоя сервера и его необходимо перестроить с другим IP-адресом (или по какой-то другой причине необходимо изменить IP-адрес).

Возможное решение?

Я подумал, что вместо этого я буду использовать полное доменное имя (например, sqlserver.mydomain.com). Это имеет некоторые потенциальные проблемы: - Еще одна вещь, которая может сломаться (разрешение DNS) - Может быть небольшое снижение производительности из-за разрешения DNS (хотя, вероятно, теоретическое) - При изменении DNS-записи будет задержка из-за TTL.

Чтобы смягчить это, я решил добавить полные доменные имена в «файл хостов», который должен быть эквивалентен имени NETBIOS (afaik - не моя область знаний). Таким образом, у меня было бы разрешение имен, которое не зависело бы от внешнего DNS-сервера и возможности мгновенно менять DNS. «Настоящая» DNS-запись была бы просто резервной для машин, у которых не было записей «hosts» или, например, забыл добавить их заново после замены оборудования.

Есть ли ошибки с этим методом? (проблемы с Windows или SQL Server). Или есть лучший способ сделать это для нашего вида установки?

(это кросс-пост SQLServerCentral Post - я также публикую здесь, чтобы охватить более широкую / другую аудиторию, так как я не получил никаких действительно обнадеживающих ответов на SSC)

1 Ответ

1 голос
/ 10 ноября 2011

FQDN имеет смысл. Я бы сказал, что это имеет больше смысла, чем использование IP. Использование DNS - это нормально, и внутренне «накладные расходы» на это разрешение имен должны по существу отсутствовать. Я предпочитаю использовать полное доменное имя, и часто я могу даже не использовать имя_сервера, а создать псевдоним CNAME только для целей миграции сервера, перехода на резервный сервер и т. Д.

Таким образом, в этом примере мое приложение будет указывать на ApplicationNameSQLServer.MyDomain.Com в строке подключения SQL ... SQLServer1 будет рассматриваться как ApplicationNameSQLServer в сети. Затем, если SQLServer1 заменен, перенесен и т. Д. У меня есть еще вариантов, чем пытаться сделать осторожный танец переименований сервера.

...