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

Область применения: SQL Server

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

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

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

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

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

где

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

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

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

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

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

      computer_name . domain_segment[....domain_segment]

      где имя_компьютера— сетевое имя компьютера, на котором запущен экземпляр сервера, а сегмент_домена[....сегмент_домена] — остальные сведения о домене для сервера, например 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 AdventureWorks SET PARTNER ='tcp://SYSTEM46:7022';  

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

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

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

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

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

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

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

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

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

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

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

IPCONFIG /ALL

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

<> host_name . <Primary_Dns_Suffix>

Например, следующая конфигурация 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

Связанные задачи

См. также

Зеркальное отображение базы данных (SQL Server)
Конечная точка зеркального отображения базы данных (SQL Server)