SQL Server: именованный экземпляр и экземпляр по умолачнию

Что называется именованным экземпляром (named instance)  экземпляром по умолчанию (default instance) в СУБД Microsoft SQL Server? В чем разница между ними? Почему и когда следует их использовать? Давайте разберемся...

Согласно официальной документации Microsoft относительно разницы между именованным (named)  и экземпляром по умолчанию (default instance) имеем следующее:

Клиентские приложения подключаются к экземпляру Microsoft SQL Server для работы с базой данных SQL Server. Каждый экземпляр SQL Server состоит из отдельного набора служб, которые могут иметь уникальные настройки. Структура каталогов, структура реестра и имя службы отражают имя конкретного экземпляра, которое вы идентифицируете (указываете) во время установки.

Экземпляр является либо экземпляром по умолчанию (default) - еще его называют неименованным экземпляром (unnamed), или именованным экземпляром (named). Когда SQL Server 2018 установлен в экземпляре по умолчанию, клиенту не требуется указывать имя экземпляра для соединения. Клиент должен знать только имя сервера.

Именованный экземпляр идентифицируется сетевым именем компьютера плюс имя экземпляра, указанное во время установки. При подключении клиент должен указать имя сервера и имя экземпляра.

По умолчанию SQL Server устанавливается в экземпляре по умолчанию, если вы не укажете имя экземпляра. Однако SQL Server Express всегда устанавливается в именованном экземпляре, если вы не установили установку по умолчанию во время установки.

Таким образом,  вы можете установить только один экземпляр по умолчанию (unnamed instance), либо же вы можете установить сколько угодно именованных экземпляров.

Многие сторонние программы обычно используют именованный экземпляр по умолчанию, хотя они могут и не упоминать об этом. Причина в том, что из приведенных выше ответов ясно, стандартные версии сервера устанавливают неименованный экземпляр по умолчанию, а экспресс-версия устанавливает именованный экземпляр по умолчанию.

Важно знать о различии с этой точки зрения, поскольку, если у вас есть 2 или 3 сервера баз данных, вы никогда не сможете подключиться к нужному. Поскольку стороннее программное обеспечение ищет экземпляр по умолчанию (default instance), пока вы думаете, что ПО ищет экземпляр для SQL EXPRESS версии (т.е. именованный), к которому он пытается подключиться. Это может значительно увеличить время устранения неполадок, если вы не знаете, как подключаться к именованному, и как подключаться к не именованному экземпляру.

Поэтому, если вы хотите подключиться к Named или Default instance, используйте следующие рекомендации:

MY-MACHINE-NAME\SQLEXPRESS  /* named version - correct */
MY-MACHINE-NAME             /* unnamed version (default instance) - correct */
MY-MACHINE-NAME\MSSQLSERVER /* unnamed version (default instance) - Wrong */

Обратите внимание, что хотя экземпляр по умолчанию имеет имя, на его имя нельзя ссылаться по его имени!

 


Войдите чтобы комментировать