В чем разница между именованным экземпляром и экземпляром по умолчанию? - PullRequest
1 голос
/ 16 мая 2019

Я создал сервер с именем <SystemName>\SQLEXPRESS и даже включил протокол TCP / IP, чтобы его можно было искать в локальной интрасети.Но проблема в том, что люди могут подключаться к серверу с именем <SystemName>;не <SystemName>\SQLEXPRESS.Любые изменения, сделанные на <SystemName>\SQLEXPRESS, легко реплицируются на сервере с именем <SystemName>.Но я хочу знать, в чем разница между именем сервера (т.е. именем системы) и именем системы / sqlexpress?

1 Ответ

2 голосов
/ 16 мая 2019

Когда вы указываете только имя сервера или имя системы, соединение устанавливается с экземпляром по умолчанию сервера SQL в этой системе.

Если вы хотите подключиться к определенному Именованному экземпляру , установленному в этой системе, вы должны указать оба:

SystemName/InstanceName

В примере, который вы включили в вопрос ("systemname / sqlexpress"), sqlexpress - это имя экземпляра SQL в этой системе.

Подробнее об этом можно узнать в Microsoft :

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

Экземпляр является либо неназванным экземпляром по умолчанию, либо именованным экземпляром. Когда SQL Server 2005 установлен в экземпляре по умолчанию, клиенту не нужно указывать имя экземпляра для установления соединения. Клиент должен знать только имя сервера.

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

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

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

Как отметил @Brian в комментарии, можно учитывать одно отличие: Служба браузера SQL Server :

Если служба браузера SQL Server не запущена, вы все равно сможете подключиться к SQL Server, если укажете правильный номер порта или именованный канал. Например, вы можете подключиться к экземпляру SQL Server по умолчанию с TCP / IP, если он работает на порту 1433.

Однако, если служба браузера SQL Server не работает, следующие соединения не работают:

  • Любой компонент, который пытается подключиться к именованному экземпляру без полного указания всех параметров (таких как порт TCP / IP или именованный канал).

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

  • Подключение к именованному экземпляру без указания номера порта или канала.

  • ЦАП для именованного экземпляра или экземпляра по умолчанию, если не используется порт TCP / IP 1433.

  • Служба перенаправления OLAP.

  • Перечисление серверов в SQL Server Management Studio, Enterprise Manager или Query Analyzer.

На самом деле не разница, но .... порт по умолчанию для SQL Server - 1433. Как правило, экземпляры по умолчанию выполняются на этом порту; это также можно настроить для работы на другом порту. Даже если вы измените порт, Экземпляр по умолчанию останется Экземпляром по умолчанию. Тогда вам нужно будет явно указать порт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...