Подключение к виртуальной машине SQL Server в Azure (классическое развертывание)

Обзор

В этом разделе показано, как подключиться к экземпляру SQL Server, выполняемому на виртуальной машине Azure. Сначала рассматриваются некоторые общие сценарии подключения, а затем предоставляются подробные инструкции по настройке подключений SQL Server на виртуальной машине Azure.

Важно!

В Azure предлагаются две модели развертывания для создания ресурсов и работы с ними: модель развертывания с помощью Resource Manager и классическая модель. В этой статье рассматривается использование классической модели развертывания. Для большинства новых развертываний Майкрософт рекомендует использовать модель диспетчера ресурсов. Если вы используете виртуальные машины Resource Manager, то ознакомьтесь со статьей Подключение к виртуальной машине SQL Server в Azure (диспетчер ресурсов).

Сценарии подключения

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

Примечание

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

Подключение к SQL Server в пределах одной облачной службы

В одной облачной службе можно создать несколько виртуальных машин. Этот сценарий использования виртуальных машин описан в статье Как подключить виртуальные машины с помощью виртуальной сети или облачной службы. В данном сценарии клиента на одной виртуальной машине пытается подключиться к SQL Server на другой виртуальной машине, расположенной в той же облачной службе.

В этом случае для подключения можно использовать имя виртуальной машины (которое также отображается как имя компьютера или имя узла на портале). Это имя, заданное при создании виртуальной машины. Например, если имя виртуальной машины SQL — mysqlvm, то клиентская виртуальная машины в той же облачной службе может использовать следующую строку подключения.

Server=mysqlvm;Integrated Security=false;User ID=<login_name>;Password=<your_password>

Подключение к SQL Server через Интернет

Если вы хотите подключиться к ядру СУБД SQL Server из Интернета, необходимо создать конечную точку виртуальной машины для входящих подключений TCP. На данном этапе настройки Azure направляет входящий трафик TCP-порта на TCP-порт, доступный для виртуальной машины.

Для подключения через Интернет необходимо использовать DNS-имя и номер порта конечной точки виртуальной машины (их настройка описывается далее в этой статье). Чтобы найти DNS-имя, перейдите на портал Azure и щелкните Виртуальные машины (классика) . Затем выберите свою виртуальную машину. DNS-имя показано в разделе Обзор.

Например, рассмотрим классическую виртуальную машину mysqlvm с DNS-именем mysqlvm7777.cloudapp.net и конечной точкой 57500. При условии, что подключение настроено правильно, для доступа к виртуальной машине из любого расположения в Интернете может использоваться следующая строка подключения.

Server=mycloudservice.cloudapp.net,57500;Integrated Security=false;User ID=<login_name>;Password=<your_password>

Хотя таким образом можно обеспечить подключение клиентов через Интернет, это не значит, что любой пользователь сможет подключиться к вашей системе SQL Server. Внешние клиенты должны иметь правильные имя пользователя и пароль. Чтобы повысить уровень безопасности, не используйте известный порт 1433 для общедоступной конечной точки виртуальной машины. Если возможно, рассмотрите вариант добавления списка ACL в конечной точке, чтобы сделать трафик доступным только для определенных клиентов. Инструкции по использованию списков ACL в конечных точках см. в разделе Управление ACL для конечной точки.

Примечание

Важно отметить, что при использовании этого метода для взаимодействия с SQL Server за все данные, исходящие из центра обработки данных Azure, взимается обычная плата за исходящий трафик.

Подключение к SQL Server в пределах одной виртуальной сети

Виртуальная сеть поддерживает дополнительные сценарии. Вы можете подключить виртуальные машины в одной виртуальной сети, даже если они расположены в разных облачных службах. Если используется VPN типа «сеть-сеть», можно создать гибридную архитектуру, обеспечивающую подключение виртуальных машин к локальным сетям и компьютерам.

Виртуальные сети также позволяют присоединить ваши виртуальные машины Azure к домену. Это единственный способ использовать проверку подлинности Windows в SQL Server. Другие сценарии подключения требуют проверки подлинности SQL с использованием имен пользователей и паролей.

Если вы собираетесь настроить среду домена и аутентификацию Windows, то не нужно выполнять описанные в этой статье действия по настройке общедоступных конечных точек, аутентификации SQL или имен для входа. В данном сценарии можно подключиться к экземпляру SQL Server, указав имя узла виртуальной машины SQL Server в строке подключения. В следующем примере предполагается, что также настроена проверка подлинности Windows, а пользователю предоставили доступ к экземпляру SQL Server.

Server=mysqlvm;Integrated Security=true

Действия по настройке подключения к SQL Server на виртуальной машине Azure

Ниже показано, как подключиться к экземпляру SQL Server через Интернет с помощью SQL Server Management Studio (SSMS). Однако, чтобы сделать виртуальную машину SQL Server доступной для приложений, выполняющихся как локально, так и в среде Azure, необходимо выполнить те же действия.

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

Процедура подключения показана на следующей схеме:

Подключение к виртуальной машине SQL Server

Создайте конечную точку TCP для виртуальной машины

Для доступа к SQL Server из Интернета на виртуальной машине должна быть настроена конечная точка для прослушивания входящих TCP-подключений. На данном этапе настройки Azure направляет входящий трафик TCP-порта на TCP-порт, доступный для виртуальной машины.

Примечание

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

  1. На портале Azure выберите Виртуальные машины (классика).

  2. Затем выберите виртуальную машину SQL Server.

  3. Выберите Конечные точки, а затем в верхней части колонки "Конечные точки" нажмите кнопку Добавить.

    Шаги для создания конечной точки на портале

  4. В колонке Добавить конечную точку введите имя, например SQLEndpoint.

  5. Выберите TCP для протокола.

  6. В разделе Общий порт укажите номер порта, например 57500.

  7. В разделе Частный порт укажите порт прослушивания SQL Server. По умолчанию используется 1433.

  8. Нажмите кнопку ОК , чтобы создать конечную точку.

Откройте TCP-порты в брандмауэре Windows для экземпляра ядра СУБД по умолчанию

  1. Подключитесь к виртуальной машине через удаленный рабочий стол. Подробные инструкции по подключению к виртуальной машине см. в разделе Открывать виртуальные машины с помощью удаленного рабочего стола.

  2. После входа на начальном экране введите WF.msc и нажмите клавишу ВВОД.

    Запустите программу брандмауэра

  3. На левой панели Брандмауэр Windows в режиме повышенной безопасностищелкните правой кнопкой мыши раздел Правила для входящих подключенийи выберите на панели действий пункт Создать правило .

    Новое правило

  4. В диалоговом окне Мастер создания правила для нового входящего подключения в области Тип правила выберите Порт и нажмите кнопку Далее.

  5. В диалоговом окне Протокол и порты используйте значение по умолчанию TCP. Установите переключатель Определенные локальные порты, а затем введите номер порта экземпляра ядра СУБД (1433 для экземпляра по умолчанию или номер для частного порта, указанный при настройке конечной точки).

    TCP-порт 1433

  6. Щелкните Далее.

  7. В диалоговом окне Действие выберите Разрешить соединениеи нажмите кнопку Далее.

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

    Разрешить подключения

  8. В диалоговом окне Профиль выберите Открытый, Частный и Доменный. Нажмите кнопку Далее.

    Примечание по безопасности. Выбор "Общедоступный" разрешает доступ через Интернет. Во всех возможных случаях выбирайте более строгий профиль.

    Открытый профиль

  9. В диалоговом окне Имя введите имя и описание правила и нажмите кнопку Готово.

    Имя правила

При необходимости откройте дополнительные порты для других компонентов. Дополнительные сведения содержатся в разделе Настройка брандмауэра Windows для разрешения доступа к SQL Server.

Настройка SQL Server для прослушивания через протокол TCP

  1. При подключении к виртуальной машине с помощью удаленного рабочего стола найдите диспетчер конфигурации:

    Откройте SSCM

  2. В диспетчере конфигурации SQL Server в области консоли разверните раздел Сетевая конфигурация SQL Server.

  3. В области консоли щелкните Протоколы для MSSQLSERVER (имя экземпляра по умолчанию). В области сведений щелкните правой кнопкой мыши TCP и выберите пункт Включить, если протокол TCP еще не включен.

    Включение TCP

  4. В области консоли выберите Службы SQL Server. В области сведений щелкните правой кнопкой мыши SQL Server (имя экземпляра) (экземпляр по умолчанию — SQL Server (MSSQLSERVER)) и выберите Перезагрузить, чтобы остановить и перезапустить экземпляр SQL Server.

    Перезапустите ядро СУБД

  5. Закройте диспетчер конфигурации SQL Server.

Дополнительные сведения о включении протоколов для компонента Ядро СУБД SQL Server см. в статье Включение или отключение сетевого протокола сервера.

Настройка SQL Server на проверку подлинности в смешанном режиме

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

Примечание

Настройка аутентификации в смешанном режиме может быть необязательна, если вы настроили виртуальную сеть Azure с помощью настроенной доменной среды.

  1. При установленном подключении к виртуальной машине на начальной странице введите SQL Server Management Studio и щелкните выбранный значок.

    При первом открытии Management Studio необходимо создать среду пользователей Management Studio. Это может занять несколько минут.

  2. Management Studio отображает диалоговое окно Подключение к серверу . В поле "Имя сервера" введите имя виртуальной машины для подключения к ядру СУБД с помощью обозреватель объектов (вместо имени виртуальной машины можно также использовать (локальную) или одну точку в качестве имени сервера). Выберите проверку подлинности Windows и оставьте your_VM_name\your_local_administrator в поле "Имя пользователя ". Нажмите кнопку Соединить.

    Подключение к серверу

  3. В обозревателе объектов SQL Server Management Studio щелкните правой кнопкой мыши имя экземпляра SQL Server (имя виртуальной машины) и выберите пункт Свойства.

    Свойства сервера

  4. На странице Безопасность в разделе Проверка подлинности сервера выберите Проверка подлинности SQL Server и Windows и нажмите кнопку ОК.

    Выберите режим проверки подлинности

  5. В диалоговом окне среды SQL Server Management Studio нажмите кнопку ОК , чтобы подтвердить необходимость перезапуска SQL Server.

  6. В обозревателе объектов щелкните правой кнопкой мыши сервер и выберите пункт Перезапустить. (Если выполняется агент SQL Server, его также нужно перезапустить).

    Перезапустить

  7. В диалоговом окне SQL Server Management Studio щелкните Да для подтверждения перезапуска SQL Server.

Создание учетных записей проверки подлинности SQL Server

Чтобы подключиться к компоненту Database Engine с другого компьютера, необходимо создать как минимум одну учетную запись проверки подлинности SQL Server.

  1. В обозревателе объектов SQL Server Management Studio разверните папку экземпляра сервера, на котором требуется создать новую учетную запись.

  2. Правой кнопкой мыши щелкните папку Безопасность и выберите пункт Создать, а затем — Имя входа... .

    Создать имя входа

  3. В диалоговом окне Создание имени входа на странице Общие введите имя нового пользователя в поле Имя входа.

  4. Выберите параметр Проверка подлинности SQL Server.

  5. В поле Пароль введите пароль для нового пользователя. Повторно введите пароль в поле Подтверждение пароля .

  6. Выберите необходимые параметры принудительного применения паролей (Требовать использование политики паролей, Задать срок окончания действия пароля и Пользователь должен сменить пароль при следующем входе). Если вы сами используете это имя пользователя, то запрашивать смену пароля при следующем входе не нужно.

  7. В списке База данных по умолчанию выберите базу данных по умолчанию для нужного имени входа. Master — это значение по умолчанию для этого параметра. Если пользовательская база данных еще не создана, оставьте значение Основная.

    Свойства учетной записи

  8. При первом создании учетной записи может потребоваться ее назначение в качестве администратора SQL Server. В таком случае на странице Роли сервера выберите sysadmin.

    Примечание

    Участники фиксированной серверной роли sysadmin получают все права для управления ядром СУБД. Количество представителей этой роли нужно ограничить.

    Sysadmin

  9. Щелкните ОК.

Более подробные сведения об учетных записях SQL Server см. в статье Создание имени входа.

Определение DNS-имени виртуальной машины

Для подключения к компоненту SQL Server Database Engine с другого компьютера необходимо знать имя виртуальной машины в системе доменных имен (DNS). (Это имя, в котором интернет используется для идентификации виртуальной машины. Вы можете использовать IP-адрес, но IP-адрес может измениться при перемещении ресурсов Azure для избыточности или обслуживания. DNS-имя будет стабильным, так как его можно перенаправить на новый IP-адрес.)

  1. На портале Azure (или на предыдущем этапе) выберите Виртуальные машины (классика).

  2. Выберите виртуальную машину SQL.

  3. В колонке Виртуальная машина скопируйте DNS-имя виртуальной машины.

    DNS-имя

Подключение к ядру СУБД с другого компьютера

  1. На компьютере, подключенном к сети Интернет, откройте SQL Server Management Studio.

  2. В диалоговом окне Подключиться к серверу или Подключиться к ядру СУБД в поле Имя сервера введите DNS-имя виртуальной машины (определяется на предыдущем этапе) и номер порта общедоступной конечной точки в формате DNSName,portnumber, например tutorialtestVM.cloudapp.net,57500.

    Connect using SSMS

    Если вы не помните номер порта общедоступной конечной точки, созданный ранее, его можно найти в области Конечные точки колонки Виртуальная машина.

    Общий порт

  3. В поле Проверка подлинности выберите Проверка подлинности SQL Server.

  4. В поле Учетная запись введите имя учетной записи, которая была создана на предыдущем этапе.

  5. В поле Пароль введите пароль учетной записи, которая была создана на предыдущем этапе.

  6. Нажмите кнопку Соединить.

Next Steps

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

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

Ознакомьтесь со схемой обучения по использованию SQL Server в виртуальных машинах Azure.

Другие темы, связанные с запуском SQL Server на виртуальных машинах Azure, рассматриваются в статье SQL Server на виртуальных машинах Azure.