Псевдоним DNS для Базы данных SQL Azure

Применимо к:База данных SQL Azure Azure Synapse Analytics

Для Базы данных SQL Azure существует сервер службы доменных имен (DNS). PowerShell и REST API принимают вызовы для создания псевдонимов DNS и управления ими вместо логического имени сервера SQL.

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

Примечание.

В Azure Synapse Analytics псевдоним DNS-сервера SQL Azure поддерживается только для выделенного пула SQL (ранее — dw). Для выделенных пулов SQL в рабочих областях Azure Synapse псевдоним DNS в настоящее время не поддерживается. Какая разница?

Далее представлены общие случаи использования псевдонимов DNS:

  • Создание легко запоминающегося имени для сервера.
  • Во время начальной разработки ваш псевдоним может ссылаться на тестовый сервер. После активации приложения вы можете изменить псевдоним, чтобы он ссылался на рабочий сервер. При переходе от тестовой среды к рабочей не нужно менять конфигурации нескольких клиентов, которые подключаются к серверу.
  • Предположим, что единственная база данных в вашем приложении перенесена на другой сервер. Здесь вы можете изменить псевдоним не делая никаких изменений в конфигурации нескольких клиентов.
  • Во время регионального сбоя вы используете геовосстановление для возвращения к работе базы данных на другом сервере и в другом регионе. Существующий псевдоним можно изменить, чтобы он указывал на новый сервер, чтобы существующее клиентское приложение могло повторно к нему подключиться.

Служба доменных имен (DNS) Интернета

Интернет использует службу доменных имен (DNS). DNS преобразовывает понятные для вас имена в имя вашего сервера.

Сценарии с одним псевдонимом DNS

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

Компонент "псевдоним" DNS Базы данных SQL Azure можно использовать в следующих сценариях.

Переход от тестовой к рабочей среде

Включите использование псевдонима DNS в строках подключения в разработку клиентских программ. Вы заставляете свойства псевдонима указывать на тестовую версию вашего сервера.

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

Поддержка перехода в другой регион

Аварийное восстановление может привести к переходу вашего сервера в другой географический регион. Для системы, которая использует псевдоним DNS, можно избежать необходимости поиска и обновления всех строк подключения для всех клиентов. Вместо этого вы можете обновить псевдоним, чтобы он ссылался на новый сервер, в котором теперь находится ваша база данных Azure SQL.

Свойства псевдонима DNS

Следующие свойства должны применяться к каждому псевдониму DNS для вашего сервера.

  • Уникальное имя. Каждый создаваемый псевдоним должен быть уникален для всех серверов, так же, как имена серверов.
  • Необходим сервер. Псевдоним DNS обязательно должен ссылаться на имеющийся сервер. В противном случае создать псевдоним невозможно. Обновленный псевдоним должен всегда ссылаться только на один имеющийся сервер.
    • При удалении сервера, система Azure сбрасывает все псевдонимы DNS, на него ссылающиеся.
  • Отсутствие привязки к какому-либо региону. Псевдонимы DNS не привязаны к региону. Любые псевдонимы DNS можно изменить таким образом, чтобы они ссылались на сервер, который находится в любом географическом регионе.
    • Однако при этом оба сервера должны находится в одной подписке Azure.
  • Разрешения. Для управления псевдонимом DNS пользователю нужно разрешение Участник на уровне сервера или разрешение с большими правами. Дополнительные сведения см. в статье Начало работы с контролем доступа на основе ролей на портале Azure.

Управление псевдонимами DNS

Для программного управления псевдонимами DNS доступны командлеты REST API и PowerShell.

REST API для управления псевдонимами DNS

Документация по REST API доступна в следующей статье:

Кроме того, ознакомиться с REST API можно на сайте GitHub:

PowerShell для управления псевдонимами DNS

Примечание.

В этой статье предусмотрено использование модуля Azure Az PowerShell, который является рекомендуемым модулем PowerShell для взаимодействия с Azure. Чтобы начать работу с модулем Az PowerShell, ознакомьтесь со статьей Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Важно!

Модуль PowerShell Azure Resource Manager по-прежнему поддерживается, но вся дальнейшая разработка сосредоточена на модуле Az.Sql. Сведения об этих командлетах см. в разделе AzureRM.Sql. Аргументы команд в модулях Az и AzureRm практически идентичны.

Доступны командлеты PowerShell, которые вызывают REST API.

Пример кода командлетов PowerShell, используемых для управления псевдонимами DNS, приведен в следующей статье:

В примере кода используются следующие командлеты:

  • New-AzSqlServerDnsAlias: создает новый псевдоним DNS в системе службы "База данных SQL Azure". Псевдоним относится к серверу 1.
  • Get-AzSqlServerDnsAlias: получает и выводит все псевдонимы DNS, которые назначены серверу 1.
  • Set-AzSqlServerDnsAlias: изменяет имя сервера, на который ссылается псевдоним, с "Сервер 1" на "Сервер 2".
  • Remove-AzSqlServerDnsAlias: удаляет псевдоним DNS с сервера 2, используя имя псевдонима.

Ограничения

Сейчас для псевдонима DNS существуют следующие ограничения:

  • Задержка до 2 минут. Для обновления или удаления псевдонима DNS требуется до 2 минут.
    • Независимо от задержки (даже небольшой), псевдоним немедленно прекращает ссылаться на клиентские подключения к устаревшему серверу.
  • Поиск DNS.Поиск DNS — это единственный надежный способ проверить, на какой сервер ссылается псевдоним DNS.
  • На псевдоним DNS распространяются ограничения именования.

Следующие шаги