Это почти все в названии. Ожидаю, что ответ будет отрицательным, но хотел спросить, чтобы убедиться. В принципе, можно называть один экземпляр SQL Server несколькими именами. Я знаю, что вы можете настроить DNS для разрешения нескольких имен на один и тот же IP / сервер, но как это повлияет на подключение к SQL Server?
SQL Server наплевать на DNS-имя, к которому вы подключаетесь, если вы не используете SQL Server через SSL. Имя экземпляра невозможно воспроизвести, если вы не подключаетесь к определенному номеру порта TCP.
Часть SERVER для SERVER / INSTANCE может быть любым именем, которое разрешается в правильный адрес, либо дополнительной A-записью, либо CNAME, либо именем из файла HOSTS.
Единственное предостережение - это то, что вымышленное имя может нарушить аутентификацию Kerberos. SQL с Kerberos - забавный зверь, клиент SQL выполняет обратный поиск в DNS по адресу, а затем использует полученное имя для построения SPN, поэтому он должен работать до тех пор, пока обратный поиск получает исходное имя хоста сервера. Кроме того, SQL вернется к NTLM, поэтому это вызовет проблемы только в том случае, если вам по какой-то причине требуется Kerberos, например, вы используете делегирование.
Однако вы не можете заставить SQL отвечать более чем на одно имя INSTANCE. Однако вы можете определить псевдоним в конфигурации КЛИЕНТА.
Когда вы подключаетесь к SQL Server, указанное вами имя экземпляра отправляется в службу браузера SQL на сервере, служба браузера отвечает портом TCP, который прослушивает запрошенный экземпляр. Этот номер порта можно указать либо в строке подключения, либо в псевдониме. Я только что создал псевдоним NEW, который указывает на порт mysqlserver 1966, который прослушивает именованный экземпляр. Затем я смог подключиться к названному экземпляру, просто указав имя сервера NEW.
У этого метода есть два недостатка. Во-первых, конфигурация необходима для каждого клиента, я не знаю, есть ли способ протолкнуть эту конфигурацию. Во-вторых, экземпляр SQL обычно использует динамический порт. Если вы хотите определить псевдонимы, вам необходимо изменить сервер так, чтобы он прослушивал фиксированный номер порта, к которому затем можно настроить подключение клиентов.
Мне проще создавать псевдонимы в диспетчере конфигурации SQL Server, которые указывают на один и тот же сервер sql.
Я провел простой тест, добавив запись в свой файл HOSTS, и мне показалось, что SQL Server не заботится об имени, используемом в строке подключения. Я всегда думал, что эта часть имеет значение, но, похоже, это не так.
В этом случае я не подключаюсь к именованному экземпляру, а только к экземпляру по умолчанию. Я бы предположил, что пока серверная часть SERVER\INSTANCE
совпадений, вы также сможете сделать это с именованным экземпляром. Однако у меня нет именованных экземпляров для тестирования.
Что ж, Тим, по моему опыту, вы можете предоставить серверу много записей DNS, и вы не должны столкнуться с проблемами при достижении экземпляра SQL по умолчанию (или любого другого) на сервере.
Сами экземпляры различаются на сервере службой обозревателя SQL, которая должна работать так, чтобы можно было видеть именованные экземпляры. В противном случае обычно (в 99 случаях из 100) единственный экземпляр, который можно увидеть, когда эта служба не запущена, - это экземпляр по умолчанию.
Надеюсь, я вам чем-то помог :)