Указание сетевого адреса сервера для зеркального отображения базы данных

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

Определение порта в сетевом адресе сервера возможно при наличии конечной точки зеркального отображения базы данных в экземпляре сервера. Дополнительные сведения см. в разделе Как создать конечную точку зеркального отображения базы данных с проверкой подлинности Windows (Transact-SQL).

Синтаксис сетевого адреса сервера

Сетевой адрес сервера имеет следующий синтаксис:

TCP**://<системный_адрес>:**<порт>

где

  • <системный_адрес> — строка, однозначно определяющая целевой компьютер. Обычно сетевой адрес представляет собой системное имя (если компьютеры входят в один домен), полное доменное имя или IP-адрес.

    • Если компьютеры входят в один домен, можно указать имя компьютера (например SYSTEM46).

    • Если указывается IP-адрес, то он должен быть уникальным в используемой среде. Рекомендуется использовать IP-адрес только в том случае, если он является статическим. IP-адреса бывают версии 4 (IPv4) или 6 (IPv6). Адреса IPv6 должны заключаться в квадратные скобки, например: [<адрес_IPv6>].

      Чтобы определить IP-адрес компьютера, в командной строке Windows введите команду ipconfig.

    • При указании полного доменного имени гарантируется правильная работа. Это локально определенная строка адреса, которая имеет различную форму в разных местах. Часто, но не всегда полное доменное имя представляет собой составное имя, состоящее из имени компьютера и нескольких компонентов доменов, разделенных точками, в следующем виде:

      имя_компьютера**.компонент_домена[....**компонент_домена]

      где имя_компьютера — сетевое имя компьютера, на котором запущен экземпляр сервера, а компонент_домена[...**.**компонент_домена] — остальные компоненты домена сервера, например: localinfo.corp.Adventure-Works.com.

      Содержание и количество доменных сегментов определяется компанией или организацией. Полное доменное имя сервера можно узнать у системного администратора.

      ПримечаниеПримечание

      Дополнительные сведения об определении полного доменного имени см. в подразделе «Определение полного доменного имени» далее в этом разделе.

  • <порт> — порт, используемый точкой зеркального отображения экземпляра сервера-участника. Дополнительные сведения об определении конечной точки см. в разделе Как создать конечную точку зеркального отображения базы данных с проверкой подлинности Windows (Transact-SQL).

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

    Лишь номер порта в сетевом адресе сервера, указанный для экземпляра сервера и связанный с конечной точкой зеркального отображения, отличает этот экземпляр от других экземпляров, имеющихся на данном компьютере. На следующем рисунке показаны сетевые адреса двух экземпляров серверов, имеющихся на одном компьютере. Экземпляр по умолчанию пользуется портом 7022, именованный экземпляр — портом 7033. Сетевым адресом сервера для этих двух экземпляров сервера будут соответственно TCP://MYSYSTEM.Adventure-works.MyDomain.com:7022 и TCP://MYSYSTEM.Adventure-works.MyDomain.com:7033. Обратите внимание, что имя экземпляра сервера в адресе не указывается.

    Сетевые адреса сервера экземпляра по умолчанию

    Чтобы определить, какой порт в текущий момент связан с конечной точкой зеркального отображения базы данных экземпляра сервера, воспользуйтесь следующей инструкцией Transact-SQL:

    SELECT type_desc, port FROM sys.tcp_endpoints
    

    Найдите строку параметра type_desc, имеющую значение «DATABASE_MIRRORING», и используйте соответствующий номер порта.

Примеры

А. Использование системного имени

В следующем сетевом адресе сервера определено системное имя SYSTEM46 и порт 7022.

ALTER DATABASE AdventureWorks2008R2 SET PARTNER ='tcp://SYSTEM46:7022';

Б. Использование полного доменного имени

В следующем сетевом адресе сервера определено полное доменное имя DBSERVER8.manufacturing.Adventure-Works.com и порт 7024.

ALTER DATABASE AdventureWorks2008R2 SET PARTNER ='tcp://DBSERVER8.manufacturing.Adventure-Works.com:7024';

В. Использование IPv4

В следующем сетевом адресе сервера определены адрес IPv4 10.193.9.134 и порт 7023.

ALTER DATABASE AdventureWorks2008R2 SET PARTNER ='tcp://10.193.9.134:7023';

Г. Использование IPv6

В следующем сетевом адресе сервера определен адрес IPv6 2001:4898:23:1002:20f:1fff:feff:b3a3 и порт 7022.

ALTER DATABASE AdventureWorks2008R2 SET PARTNER ='tcp://[2001:4898:23:1002:20f:1fff:feff:b3a3]:7022';

Определение полного доменного имени

Чтобы определить полное доменное имя системы, введите следующую команду в командной строке Windows:

IPCONFIG /ALL

Чтобы сформировать полное имя домена, следует соединить значения <имя_узла> и <основной_DNS_суффикс> следующим образом:

<имя_узла>.<основной_DNS_суффикс>

Например, следующая конфигурация IP:

Host Name . . . . . . : MYSERVER

Primary Dns Suffix . . . : mydomain.Adventure-Works.com

соответствует следующему полному имени домена:

MYSERVER.mydomain.Adventure-Works.com

Примеры

В следующем примере показан сетевой адрес сервера для экземпляра сервера на компьютере с именем REMOTESYSTEM3 в другом домене. Сведения о домене: NORTHWEST.ADVENTURE-WORKS.COM, порт конечной точки зеркального отображения базы данных — 7025. Для приведенных примеров компонентов сетевой адрес сервера выглядит следующим образом:

TCP://REMOTESYSTEM3.NORTHWEST.ADVENTURE-WORKS.COM:7025

В следующем примере показан сетевой адрес сервера для экземпляра сервера на компьютере с именем DBSERVER1. Данный компьютер включен в локальный домен и однозначно определяется своим системным именем. Порт конечной точки зеркального отображения базы данных — 7022.

TCP://DBSERVER1:7022