Что из себя представляет логический сервер SQL в Базе данных SQL Azure и Azure Synapse Analytics?

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных SQL Azure Azure Synapse Analytics

В Базе данных SQL Azure и Azure Synapse Analytics сервер — это логическая конструкция, которая выступает в качестве центральной точки администрирования для коллекции баз данных. На уровне сервера можно администрировать имена входа, правила брандмауэра, правила аудита, политики обнаружения угроз и группы автоматической отработки отказа. Сервер может находиться в регионе, отличном от региона своей группы ресурсов. Сервер должен существовать до того, как вы сможете создать базу данных в Базе данных SQL Azure или базу данных хранилища данных в Azure Synapse Analytics. Все базы данных, управляемые одним сервером, создаются в том же регионе, что и сервер.

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

При создании сервера вы указываете учетные данные входа на сервер, имеющие права администратора для базы данных master на этом сервере и всех баз данных, созданных на этом сервере. Эта начальная учетная запись является учетной записью входа SQL. База данных SQL Azure и Azure Synapse Analytics поддерживают проверку подлинности SQL и проверку подлинности Azure Active Directory. Дополнительную информацию об именах для входа и аутентификации можно найти в разделе Предоставление доступа к базе данных SQL Azure и управление им. Проверка подлинности Windows не поддерживается.

Сервер в Базе данных SQL и Azure Synapse имеет следующие особенности.

  • Создается в рамках подписки Azure, но сам логический сервер и все его ресурсы можно переместить в другую подписку.
  • Выступает в качестве родительского ресурса для баз данных, эластичных пулов и хранилищ данных.
  • Предоставляет пространство имен для баз данных, эластичных пулов и базы данных хранилищ данных.
  • Представляет собой логический контейнер со строгой семантикой времени существования (при удалении сервера удаляются также все его базы данных, эластичные пулы и пулы SQK).
  • Участвует в управлении доступом на основе ролей Azure (Azure RBAC) — базы данных, эластичные пулы и базы данных хранилища данных, содержащиеся на сервере, наследуют его права доступа.
  • Выступает в качестве элемента высокого приоритета при идентификации баз данных, эластичных пулов и баз данных хранилища данных для управления ресурсами Azure (см. схему URL-адресов для баз данных и пулов).
  • Выравнивает ресурсы в регионе.
  • Предоставляет конечную точку подключения к базе данных (<serverName>.database.windows.net).
  • Предоставляет доступ к метаданным ресурсов через динамические административные представления путем подключения к базе данных master.
  • Обеспечивает область для политик управления, применяемых к базам данных: имена для входа, брандмауэр, аудит, обнаружение угроз и т. д.
  • Ограничен квотой в рамках родительской подписки (по умолчанию шесть серверов на подписку). Ограничения подписки см. здесь.
  • Обеспечивает область для квоты базы данных и квоты DTU или виртуальных ядер для ресурсов, содержащихся на нем (например, 45 000 DTU).
  • Выступает в качестве области управления версиями для компонентов, включенных для его ресурсов.
  • За счет возможностей входа в систему с использованием субъекта серверного уровня может управлять всеми базами данных на сервере.
  • Может содержать имена входов, подобные именам входов экземпляров SQL Server в локальной среде с доступом к одной или нескольким базам данных на сервере. Можно предоставлять ограниченные права администратора. Дополнительные сведения см. в статье Проверка подлинности и авторизация в базе данных SQL: предоставление доступа.
  • Параметры сортировки по умолчанию для всех баз данных, созданных на сервере, имеют значение SQL_LATIN1_GENERAL_CP1_CI_AS, где LATIN1_GENERAL означает английский язык (США) CP1 — кодовую страницу 1252, CI означает, что учитывается регистр, а AS — что учитываются диакритические знаки.

Управление серверами, базами данных и брандмауэрами с помощью портала Azure

Группу ресурсов для сервера можно создать заблаговременно или при создании самого сервера. Существует несколько методов перехода к форме создания сервера SQL Server. Можно создать сервер SQL Server отдельно или при создании базы данных.

Создание пустого сервера

Чтобы создать сервер (без базы данных, эластичного пула и базы данных хранилища данных) на портале Azure, перейдите в пустую форму сервера SQL (логического сервера).

Создание пустой базы данных в Базе данных SQL Azure

Чтобы создать базу данных в Базе данных SQL Azure с помощью портала Azure, перейдите в пустую форму базы данных SQL и введите необходимые сведения. Группу ресурсов и сервер можно создать заблаговременно или при создании самой базы данных. Можно создать пустую базу данных или пример базы данных на основе Adventure Works LT.

create database-1

Важно!

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

Чтобы создать управляемый экземпляр, см. статью Краткое руководство. Создание Управляемого экземпляра Базы данных SQL Azure.

Управление существующим сервером

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

Для управления существующей базой данных перейдите на страницу Базы данных SQL и щелкните нужную базу данных. На следующем снимке экрана показано, как можно начать настройку брандмауэра уровня сервера для базы данных на странице Обзор для базы данных.

server firewall rule

Важно!

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

Совет

Краткое руководство по работе с порталом Azure см. в разделе Создание базы данных в Базе данных SQL на портале Azure.

Управление серверами, базами данных и брандмауэрами с помощью PowerShell

Примечание

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

Важно!

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

Для создания сервера, баз данных и брандмауэров и управления ими с помощью Azure PowerShell используйте приведенные ниже командлеты PowerShell. Если вам нужно выполнить установку или обновление PowerShell, см. статью об установке модуля Azure PowerShell. Изучите дополнительные сведения о создании эластичных пулов и управлении ими.

Командлет Описание
New-AzSqlDatabase Создает базу данных.
Get-AzSqlDatabase Получает одну или несколько баз данных.
Set-AzSqlDatabase Определяет свойства базы данных или перемещает ее в эластичный пул.
Remove-AzSqlDatabase Удаляет базу данных.
New-AzResourceGroup Создает группу ресурсов.
New-AzSqlServer Создает сервер.
Get-AzSqlServer Возвращает сведения о серверах.
Set-AzSqlServer Изменяет свойства сервера.
Remove-AzSqlServer Удаляет сервера.
New-AzSqlServerFirewallRule Создает правило брандмауэра уровня сервера.
Get-AzSqlServerFirewallRule Получает правила брандмауэра для сервера.
Set-AzSqlServerFirewallRule Изменяет правило брандмауэра на сервере.
Remove-AzSqlServerFirewallRule Удаляет правило брандмауэра с сервера.
New-AzSqlServerVirtualNetworkRule Создает правило виртуальной сети на основе подсети, которая является конечной точкой службы для виртуальной сети.

Управление серверами, базами данных и брандмауэрами с помощью Azure CLI

Для создания серверов, баз данных и брандмауэров и управления ими с помощью Azure CLI используйте приведенные ниже команды Azure CLI для Базы данных SQL Azure. Запускайте интерфейс командной строки в браузере с помощью Cloud Shell либо установите его на платформе macOS, Linux или Windows. Изучите дополнительные сведения о создании эластичных пулов и управлении ими.

Командлет Описание
az sql db create Создает базу данных.
az sql db list Выводит список всех баз данных, управляемых сервером, или всех баз данных в эластичном пуле
az sql db list-editions Выводит список доступных целевых служб и ограничений хранилища.
az sql db list-usages Возвращает данные об использовании баз данных.
az sql db show Получает базу данных
az sql db update Обновляет базу данных.
az sql db delete Удаляет базу данных.
az group create Создает группу ресурсов.
az sql server create Создает сервер.
az sql server list Выводит список серверов.
az sql server list-usages Возвращает данные об использовании серверов.
az sql server show Возвращает сервер.
az sql server update Обновляет сервер.
az sql server delete Удаляет сервер.
az sql server firewall-rule create Создает правило брандмауэра для сервера.
az sql server firewall-rule list Выводит список правил брандмауэра на сервере.
az sql server firewall-rule show Отображает сведения о правиле брандмауэра.
az sql server firewall-rule update Обновляет правило брандмауэра.
az sql server firewall-rule delete Удаляет правило брандмауэра.

Управление серверами, базами данных и брандмауэрами с помощью Transact-SQL

Для создания серверов, баз данных, брандмауэров и управления ими с помощью Transact-SQL используйте приведенные ниже команды T-SQL. Можно выполнить эти команды на портале Azure, в SQL Server Management Studio, Visual Studio Code или любой другой программе, которая может подключаться к серверу и передавать команды Transact-SQL. Ознакомьтесь с дополнительными сведениями об управлении эластичными пулами.

Важно!

С помощью Transact-SQL невозможно создать или удалить сервер.

Get-Help Описание
CREATE DATABASE (база данных SQL Azure) Отвечает за создание базы данных в Базе данных SQL Azure. Для создания новой базы данных необходимо подключение к базе данных master.
CREATE DATABASE (Azure Synapse) Создает новую базу данных хранилища данных в Azure Synapse. Для создания новой базы данных необходимо подключение к базе данных master.
CREATE DATABASE (база данных SQL Azure) Изменяет базу данных или эластичный пул.
ALTER DATABASE (Azure Synapse Analytics) Изменяет базу данных хранилища данных в Azure Synapse.
DROP DATABASE (Transact-SQL) Удаляет базу данных.
sys.database_service_objectives (база данных SQL Azure) Возвращает выпуск (уровень служб), цель службы (ценовую категорию), а также имя эластичного пула (при наличии) для базы данных. При входе в базу данных master на сервере возвращает сведения обо всех базах данных. Для использования Azure Synapse необходимо подключиться к базе данных master.
sys.dm_db_resource_stats (база данных SQL Azure) Возвращает сведения об использовании ЦП, операциях ввода-вывода и потреблении памяти для базы данных в Базе данных SQL Azure. Существует одна строка для каждых 15 секунд, даже если в базе данных не выполняется никаких действий.
sys.resource_stats (база данных SQL Azure) Возвращает сведения об использовании ЦП и данные хранилища для базы данных в Базе данных SQL Azure. Эти данные собираются и объединяются с пятиминутными интервалами.
sys.database_connection_stats (база данных SQL Azure) Содержит статистику о событиях подключения к базе данных для Базы данных SQL Azure, предоставляя общие сведения об успешных и неудачных попытках подключения.
sys.event_log (база данных SQL Azure) Возвращает сведения об успешных подключениях и сбоях подключений для Базы данных SQL Microsoft Azure С помощью этих сведений можно отслеживать операции в базе данных и устранять их неполадки.
sp_set_firewall_rule (база данных SQL Azure) Создает или обновляет параметры брандмауэра уровня сервера для сервера. Эта хранимая процедура доступна только в базе данных master для имени входа субъекта серверного уровня. Правило брандмауэра уровня сервера можно будет создать с помощью Transact-SQL только после того, как пользователь, имеющий разрешения уровня Azure, создаст первое правило брандмауэра уровня сервера.
sys.firewall_rules (база данных SQL Azure) Возвращает сведения о параметрах брандмауэра на уровне сервера, связанных с сервером.
sp_delete_firewall_rule (база данных SQL Azure) Удаляет с сервера параметры брандмауэра уровня сервера. Эта хранимая процедура доступна только в базе данных master для имени входа субъекта серверного уровня.
sp_set_database_firewall_rule (база данных SQL Azure) Создает или обновляет правила брандмауэра уровня базы данных для базы данных в Базе данных SQL Azure. Можно настроить правила брандмауэра базы данных для базы данных master и пользовательских баз данных в Базе данных SQL. Правила брандмауэра базы данных полезны в тех случаях, когда применяются пользователи автономной базы данных. Правила брандмауэра базы данных в Azure Synapse не поддерживаются.
sys.database_firewall_rules (база данных SQL Azure) Возвращает сведения о параметрах брандмауэра уровня базы данных для базы данных в Базе данных SQL Azure.
sp_delete_database_firewall_rule (база данных SQL Azure) Удаляет параметр брандмауэра уровня базы данных для вашей базы данных в Базе данных SQL Azure.

Совет

Краткое руководство по использованию SQL Server Management Studio в Microsoft Windows приведено в разделе Подключайтесь к базе данных Azure SQL и создавайте запросы к ней с помощью SQL Server Management Studio. Краткое руководство по использованию Visual Studio Code в macOS, Linux и Windows приведено в статье База данных SQL Azure: подключение и запрос данных с помощью Visual Studio Code.

Управление серверами, базами данных и брандмауэрами с помощью REST API

Для создания серверов, баз данных, брандмауэров и управления ими используйте приведенные ниже запросы REST API.

Get-Help Описание
Серверы: создание или обновление Создает или обновляет сервер.
Серверы: удаление Удаляет сервер.
Серверы: получение Получает сервер.
Серверы: вывод списка Возвращает список серверов.
Серверы: вывод списка по группе ресурсов Возвращает список серверов в группе ресурсов.
Серверы: обновление Обновляет существующий сервер.
Базы данных: создание или обновление Создает новую базу данных или обновляет имеющуюся.
Базы данных: удаление Удаляет базу данных.
Базы данных: получение Получает базу данных.
Базы данных: вывод списка по эластичному пулу Возвращает список баз данных в пуле эластичных баз данных.
Базы данных: вывод списка по серверу Возвращает список баз данных на сервере.
Базы данных: обновление Обновляет имеющуюся базу данных.
Правила брандмауэра: создание и обновление Создает или обновляет правило брандмауэра.
Правила брандмауэра: удаление Удаляет правило брандмауэра.
Правила брандмауэра: получение Получает правило брандмауэра.
Правила брандмауэра: вывод списка по серверу Возвращает список правил брандмауэра.

Дальнейшие действия

  • Дополнительные сведения о переносе базы данных SQL Server в Базу данных SQL Azure см. в разделе Миграция в Базу данных SQL Azure.
    • Дополнительные сведения о поддерживаемых функциях см. здесь.