Указание сетевого адреса сервера (зеркальное отображение базы данных)
При настройке сеанса зеркального отображения базы данных для каждого экземпляра сервера необходим сетевой адрес. Он должен однозначно определять экземпляр по адресу и номеру порта, который прослушивается данным экземпляром.
Определение порта в сетевом адресе сервера возможно при наличии конечной точки зеркального отображения базы данных в экземпляре сервера. Дополнительные сведения см. в статье Создание конечной точки зеркального отображения базы данных с проверкой подлинности Windows (Transact-SQL).
Синтаксис сетевого адреса сервера
Сетевой адрес сервера имеет следующий синтаксис:
TCP:// :
- — строка, однозначно определяющая целевой компьютер. Обычно сетевой адрес представляет собой системное имя (если компьютеры входят в один домен), полное доменное имя или IP-адрес.
- Если компьютеры входят в один домен, можно указать имя компьютера (например SYSTEM46 ).
- Если указывается IP-адрес, то он должен быть уникальным в используемой среде. Рекомендуется использовать IP-адрес только в том случае, если он является статическим. IP-адреса бывают версии 4 (IPv4) или 6 (IPv6). Адреса IPv6 следует заключать в квадратные скобки, например: []. Чтобы определить IP-адрес системы, в командной строке Windows введите команду ipconfig .
- При указании полного доменного имени гарантируется правильная работа. Это локально определенная строка адреса, которая имеет различную форму в разных местах. Часто, но не всегда полное доменное имя представляет собой составное имя, состоящее из имени компьютера и нескольких компонентов доменов, разделенных точками, в следующем виде: имя_компьютера.сегмент_домена[. .сегмент_домена] где имя_компьютера— сетевое имя компьютера, на котором запущен экземпляр сервера, а сегмент_домена[. .сегмент_домена] — остальные сведения о домене для сервера, например localinfo.corp.Adventure-Works.com . Содержание и количество доменных сегментов определяется компанией или организацией. Полное доменное имя сервера можно узнать у системного администратора.
Примечание Дополнительные сведения об определении полного доменного имени см. в подразделе «Определение полного доменного имени» далее в этом разделе.
SELECT type_desc, port FROM sys.tcp_endpointsПримеры
A. Использование имени системы
В следующем сетевом адресе сервера определено системное имя SYSTEM46 и порт 7022 .
ALTER DATABASE AdventureWorks SET PARTNER ='tcp://SYSTEM46:7022';Б. Использование полного доменного имени
В следующем сетевом адресе сервера определено полное доменное имя DBSERVER8.manufacturing.Adventure-Works.com и порт 7024 .
ALTER DATABASE AdventureWorks SET PARTNER ='tcp://DBSERVER8.manufacturing.Adventure-Works.com:7024';В. Использование IPv4
В следующем сетевом адресе сервера определены адрес IPv4 10.193.9.134 и порт 7023 .
ALTER DATABASE AdventureWorks SET PARTNER ='tcp://10.193.9.134:7023';Г. Использование 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
Чтобы сформировать полное доменное имя, следует сцепить значения ** и следующим образом:
Например, следующая конфигурация IP:
Host Name . . . . . . : MYSERVER
Primary Dns Suffix . . . : mydomain.Adventure-Works.com
соответствует следующему полному доменному имени:
Примеры
В следующем примере показан сетевой адрес сервера для экземпляра сервера на компьютере с именем REMOTESYSTEM3 в другом домене. Сведения о домене: NORTHWEST.ADVENTURE-WORKS.COM , порт конечной точки зеркального отображения базы данных — 7025 . Для приведенных примеров компонентов сетевой адрес сервера выглядит следующим образом:
В следующем примере показан сетевой адрес сервера для экземпляра сервера на компьютере с именем DBSERVER1 . Данный компьютер включен в локальный домен и однозначно определяется своим системным именем. Порт конечной точки зеркального отображения базы данных — 7022 .
Связанные задачи
Получение списка SQL-серверов на удаленной машине
Меня интересует, как получить список доступных SQL-серверов на удаленной машине по IP-адресу. То есть, я ввожу IP-адрес узла, а получаю доступные сервера по этому адресу. Может кто знает решение? Буду очень благодарен.
Отслеживать
задан 6 ноя 2011 в 10:54
4,202 24 24 серебряных знака 49 49 бронзовых знаков3 ответа 3
Сортировка: Сброс на вариант по умолчанию
То что вы хотите это не имя сервера. Это называется имя ЭКЗЕМПЛЯРА сервера.
SQL Server поддерживает на одном компьютере несколько экземпляров компонента Компонент Database Engine, служб Службы Analysis Services и служб Службы Reporting Services. Кроме того, можно обновить уже установленные на компьютере предыдущие версии SQL Server либо установить на этот же компьютер SQL Server.
Для того чтобы получить список установленных экземпляров в реестре есть
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL
где храниться список этих самых экземпляров.
Для того чтобы его получить удалённо, необходимо чтобы на сервере работала служба «Удалённый реестр».
Вот тут вам предлагается готовый Powershell скрипт Get-SQLInstance для получения информации как о локальных так и о удалённых экземплярах.
Как узнать имя экземпляра Microsoft SQL Server на T-SQL
Всем привет! Сегодня мы с Вами рассмотрим несколько способов определения имени экземпляра Microsoft SQL Server на языке T-SQL, а также с использованием других программных средств.
Способы определения имени экземпляра Microsoft SQL Server
Существует несколько способов узнать, какое имя экземпляра у SQL Server. Мы рассмотрим способы, которые подразумевают обращение к определенным системным функциям на языке T-SQL, а также способ, с помощью которого мы можем узнать имена всех экземпляров SQL Server, которые установлены на конкретном сервере.
Кроме этого я покажу способ определения имени экземпляра SQL Server без выполнения SQL инструкций, например, для случаев, когда нет возможности подключиться к SQL Server. Данный способ предполагает выполнение определённой инструкции на языке PowerShell.
Таким образом, для того чтобы определить имя экземпляра Microsoft SQL Server, Вы можете использовать тот способ, который будет удобнее в Вашем конкретном случае.
Способ 1 – функция @@SERVERNAME
Первый способ предполагает использование системной функции @@SERVERNAME, которая возвращает имя локального сервера, на котором работает SQL Server.
Функция @@SERVERNAME возвращает следующие данные:
Исходные данные Данные, которые возвращает функция Если используется экземпляр по умолчанию «Имя_сервера» Если используется именованный экземпляр «Имя_сервера\Имя_экземпляра» Если используется экземпляр по умолчанию отказоустойчивого кластера «Сетевое_имя_экземпляра_отказоустойчивого_ кластера_windows_server» Если используется именованный экземпляр отказоустойчивого кластера «Сетевое_имя_экземпляра_отказоустойчивого_ кластера_windows_server\имя_экземпляра» Пример использования функции
SELECT @@SERVERNAME AS SERVERNAME;

В моем случае используется именованный экземпляр Microsoft SQL Server, поэтому функция вернула соответствующие данные, где SQLEXPRESS и есть имя экземпляра SQL Server.
Способ 2 – функция @@SERVICENAME
Второй способ определения имени экземпляра Microsoft SQL Server предполагает использование функции @@SERVICENAME, которая возвращает имя раздела реестра, согласно которому запущен SQL Server.
Если текущий экземпляр является экземпляром по умолчанию, то данная функция возвращает «MSSQLSERVER», однако если же текущий экземпляр является именованным экземпляром, то эта функция возвращает имя этого экземпляра.
Пример использования функции
SELECT @@SERVICENAME AS SERVICENAME;

В данном случае, так как у меня именованный экземпляр, функция @@SERVICENAME вернула имя экземпляра.
Способ 3 – функция SERVERPROPERTY
Следующий способ определения имени экземпляра SQL Server предполагает использование системной функции SERVERPROPERTY, которая возвращает много различных сведений о свойствах экземпляра Microsoft SQL Server.
Данная функция принимает один параметр, и если мы передадим значение «InstanceName», то она нам вернет имя экземпляра.
Однако здесь стоит учитывать, что если используется экземпляр по умолчанию, то функция вернет NULL.
Пример использования функции
SELECT SERVERPROPERTY ('InstanceName') AS SERVERPROPERTY;
У меня именованный экземпляр, поэтому функция вернула имя экземпляра.
Способ 4 – процедура xp_regread
Если Вам необходимо узнать имена всех экземпляров SQL Server, которые установлены на конкретном сервере, то для этого Вы можете использовать системную хранимую процедуру xp_regread, которая умеет считывать параметры реестра Windows, в котором как раз и можно найти всю интересующую нас информацию об экземплярах Microsoft SQL Server.
Процедура принимает три параметра: в первом мы указываем название раздела реестра, во втором — путь к нужной нам ветке реестра, и третий — параметр, значение которого нам нужно считать.
Пример использования процедуры
DECLARE @SQLServerInstances TABLE( LineNumber NVARCHAR(100), InstanceName NVARCHAR(100), Data NVARCHAR(100) NULL ); INSERT INTO @SQLServerInstances EXECUTE xp_regread @rootkey = 'HKEY_LOCAL_MACHINE', @key = 'SOFTWARE\Microsoft\Microsoft SQL Server', @value_name = 'InstalledInstances'; SELECT LineNumber, InstanceName FROM @SQLServerInstances;

У меня установлен только один экземпляр, поэтому инструкция вернула одну строку данных.
Как узнать имя экземпляра Microsoft SQL Server на PowerShell
Способ предполагает простое считывание названия службы Microsoft SQL Server, т.е. мы с помощью определенной инструкции на PowerShell ищем название службы по префиксу «MSSQL$» (данный префикс имеет «Имя службы, а не «Отображаемое имя службы»).
Пример инструкции на PowerShell
Get-WMIObject Win32_Service -Filter «name like ‘MSSQL$%'» | %

Кроме этого, узнать имя экземпляра Microsoft SQL Server можно, если зайти в оснастку «Службы» в Windows и посмотреть, какое имя указано в названии службы SQL Server.
Заметка! Всем тем, кто только начинает свое знакомство с языком SQL, рекомендую прочитать книгу «SQL код» – это самоучитель по языку SQL, которую написал я, и в которой я подробно, и в то же время простым языком, рассказываю о языке SQL.
На сегодня это все, надеюсь, материал был Вам полезен, пока!
Подключение к Microsoft SQL Server из ArcGIS
В следующем списке собраны шаги, которые необходимы для подключения ArcGIS к базе данных Microsoft SQL Server , включая базу данных, содержащую базу геоданных:
- Настройка экземпляра SQL Server на прием подключений от других удаленных компьютеров.
- Установка драйвера Microsoft ODBC на компьютерах с клиентом ArcGIS.
- Создайте подключение к базе данных.
- Для публикации веб-сервисов ArcGIS Server , ссылающихся на данные в вашей базе данных SQL Server , зарегистрируйте файл подключения к базе данных с сайтами ArcGIS Server .
Настройка экземпляра на прием подключений
По умолчанию экземпляры SQL Server не могут принимать подключения от удаленных компьютеров. Если у вас имеется только что установленный SQL Server , убедитесь, что сервис SQL Server работает и слушает необходимые порты. См. документацию Microsoft SQL Server для получения более подробной информации.
Если вы не являетесь администратором базы данных, свяжитесь с администратором БД, если вы получаете ошибки при подключении, которые говорят о том, что экземпляр не принимает подключения.
Для использования шифрованных подключений необходима дополнительная настройка на SQL Server и машинах клиента.
Установка драйвера ODBC для SQL Server
Загрузите 64-битный драйвер Microsoft ODBC для SQL Server с Microsoft Download Center или из My Esri . Убедитесь, что вы загрузили ODBC Microsoft , поддерживаемый версией SQL Server , к которому вы будете подключаться. Установите драйвер на все компьютеры с ArcGIS Pro и ArcGIS Server .
Если у вас нет необходимых прав доступа для установки ПО на компьютерах, на которых запущены клиенты ArcGIS, обратитесь к вашему IT-отделу для помощи в установке и настройке драйвера ODBC Microsoft .
Примечание:
Если ArcGIS Server и SQL Server установлены на одном сервере, то отдельный драйвер ODBC на этом компьютере не обязательны.
При подключении из ArcGIS Server на Ubuntu к любой поддерживаемой версии SQL Server вы должны, в дополнение к драйверу ODBC, установить пакет Microsoft unixodbc-dev на все машины с ArcGIS Server .
Подключение к базе данных
Вы можете использовать диалоговое окно Подключение базы данных в ArcGIS Pro для подключения к базе данных, как это описано ниже.
Либо вы можете запустить инструмент Создать подключение базы данных в ArcGIS Pro , либо использовать Python для запуска команды Create Database Connection с компьютера ArcGIS Server для создания файла подключения базы данных ( .sde ), который подключается к базе данных.
Примечание:
Вы не можете использовать инструмент геообработки Создать подключение к базе данных , если подключение будет использовать авторизацию Microsoft Azure Active Directory .
-
Вам нужно сохранить пользовательскую информацию с паролем Microsoft Azure Active Directory об аутентификации в базе данных в файл подключения.
Примечание:
Вы не сможете зарегистрировать подключение к базе данных, использующей Azure Active Directory — Universal с MFA для сайта ArcGIS Server .
Подсказка:
Убедитесь, что учетная запись, которая используется для подключения, имеет соответствующие права на данные, к которым необходим доступ. Если подключение использует аутентификацию на уровне операционной системы, и вы будете публиковать веб-сервисы с помощью этого подключения, убедитесь, что у учетной записи ArcGIS Server есть соответствующие права на данные, которые входят в этот веб-сервис. Cм. разделы Права доступа для баз геоданных в SQL Server или Права доступа для использования ArcGIS с базой данных SQL Server для получения подробной информации о правах для различных типов пользователей баз данных.
Следуйте инструкциям ниже для подключения к базе данных SQL Server из диалогового окна Подключение базы данных в ArcGIS Pro :
- Откройте панель Каталог в ArcGIS Pro .
- Щелкните правой кнопкой Базы данных и выберите Новое подключение к базе данных .
- Из ниспадающего списка Платформа базы данных выберите SQL Server .
- Введите название экземпляра SQL Server в поле Экземпляр .
Например, при использовании экземпляра SQL Server по умолчанию укажите имя экземпляра или IP-адрес сервера в текстовом окне Экземпляр . При задании IPV6-адреса заключите адрес в квадратные скобки. Например, если IPV6-адрес сервера 2000:ab1:0:2:f333:c432:55f6:d7ee, введите [2000:ab1:0:2:f333:c432:55f6:d7ee] в текстовом окне Источник данных . Если база данных использует порт, отличный от заданного по умолчанию (1433), включите номер порта в экземпляр. Например, если экземпляр SQL Server – basset\spatial, и он использует порт 61000, введите basset\spatial,61000 в текстовом окне Экземпляр . Если Microsoft Azure SQL Database или Azure SQL Managed Instance имя экземпляра cloudy4u.database.windows.net, введите cloudy4u.database.windows.net в текстовом поле Экземпляр . Если вы работаете с экземпляром SQL Server с именем terra\gis, введите terra\gis в текстовом окне Экземпляр . Если Amazon Relational Database Service (RDS) for SQL Server имя экземпляра rdssqlserver.abc123 и он развернут в Amazon Web Services регион us-west-2, напишите rdssqlserver.abc123.us-west-2.rds.amazonaws.com в текстовом поле Экземпляр . Для шифрованных подключений и подключений к базам данных SQL Server с высокой доступностью в текстовой строке Экземпляр требуется дополнительный текст.
Опции Azure Active Directory поддерживаются только при подключении Azure SQL Database или Azure SQL Managed Instance .
- Аутентификация средствами операционной системы – вам не потребуется вводить имя пользователя и пароль – подключение будет создано с помощью имени пользователя и пароля, которые используются для входа в операционную систему. Если имя пользователя, которое используется для входа в операционную систему, не является корректным именем пользователя базы данных, подключение не будет установлено.
- Аутентификация в базе данных – вы должны ввести корректные имя пользователя и пароль в текстовых полях Имя пользователя и Пароль соответственно. Имена пользователей могут иметь длину не более 30 символов.
- Azure Active Directory — Universal with MFA – вы должны указать только имя пользователя Azure Active Directory , но не пароль. При подключении вам приходит текстовое сообщение, email или на устройство MFA с кодом, либо вы можете использовать для аутентификации скан отпечатка пальца. Эта вторая часть процесса аутентификации зависит от ваших настроенных сетевых и авторизационных протоколов.
- Azure Active Directory — Password – вы должны указать корректное имя пользователя Azure Active Directory и пароль в окнах Имя пользователя и Пароль соответственно. Имена пользователей могут иметь длину не более 30 символов.
Примечание:
- Опция Сохранять имя пользователя и пароль должна быть включена для файлов подключения, которые используют аутентификацию средствами базы данных или Azure Active Directory для предоставления веб-сервисам ArcGIS доступа к базе данных, либо вам нужно найти ArcGIS Pro , чтобы найти данные, доступ к которым осуществляется через файл подключения.
- Вне ArcGIS вы можете создать имена пользователей в SQL Server , содержащие специальные символы. Такие имена пользователей при использовании должны разделяться. ArcGIS автоматически добавляет разделитель при передаче в SQL Server ; вам не нужно вводить разделители в имя пользователя. Например, если имя пользователя – map.user , введите map.user , а не «map.user» в текстовом окне Имя пользователя . Для получения более подробной информации об обычных и сложных идентификаторах обратитесь к документации к SQL Server .
Длина имени базы данных ограничена 31 символом.
Подключение к базе данных появляется в разделе Базы данных на панели Каталог , а файл подключения ( .sde ) создается в директории проекта ArcGIS Pro .
Вы можете переименовать файл, указав новое имя на панели Каталог и нажав Enter .
Зарегистрировать базу данных в ArcGIS Server
Чтобы разрешить доступ сайта ArcGIS Server к данным, используйте созданный файл подключения для добавления зарегистрированного источника данных в ArcGIS Pro или добавления элемента хранилища данных на портал.
В этом разделе
- Настройка экземпляра на прием подключений
- Установка драйвера ODBC для SQL Server
