Блокировка T-SQL CRUD

Применимо к:Azure SQL DatabaseAzure SQL Managed Instance

В этой статье рассказывается о том, как применять функцию CRUD T-SQL блока для ресурсов Azure SQL. С помощью этой функции администраторы Azure могут блокировать создание или изменение ресурсов SQL Azure с помощью T-SQL.

Для следующих ресурсов можно заблокировать операции T-SQL CRUD на уровне подписки:

Обзор

Чтобы заблокировать создание или изменение ресурсов с помощью T-SQL и принудительного управления ресурсами с помощью шаблона Azure Resource Manager (шаблона ARM) для данной подписки, используйте предварительные версии функций на уровне подписки на портале Azure. Этот подход особенно полезен при использовании политик Azure для применения стандартов организации с помощью шаблонов ARM. Так как T-SQL не соответствует политикам Azure, вы можете заблокировать операции создания или изменения T-SQL.

Вы можете блокировать операции CRUD T-SQL с помощью портала Azure, PowerShell или Azure CLI.

Заблокированные операторы

Блокированные инструкции отличаются между логическим сервером и управляемым экземпляром SQL.

При регистрации функции BLOCK T-SQL CRUD для логических серверов (block-tsql-crud) компонент блокирует следующие инструкции T-SQL для ресурсов, связанных с логическим сервером:

  • CREATE DATABASE
  • DROP DATABASE
  • CREATE DATABASE ... AS COPY OF
  • ALTER DATABASE (выпуск, цель службы, максимальный размер и другие параметры)
  • ALTER DATABASE ... ADD SECONDARY ON SERVER
  • ALTER DATABASE ... REMOVE SECONDARY ON SERVER
  • ALTER DATABASE ... FAILOVER

Разрешения

Чтобы зарегистрировать или удалить любую функцию, необходимо быть членом роли владельца или участника подписки.

Разрешение блокировки функций T-SQL CRUD

Эту функцию можно включить для связанного ресурса SQL Azure с помощью портала Azure, PowerShell или Azure CLI.

В следующей таблице перечислены названия возможностей для связанного ресурса Azure SQL:

Имя функции Объем
Блокировать T-SQL CRUD для логических серверов (block-tsql-crud) Логический сервер в Azure
Блокировать T-SQL CRUD для управляемых экземпляров SQL (block-tsql-mi-crud) Управляемый экземпляр SQL Azure

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

Примечание.

Хотя вы можете включать и отключать блокировку CRUD T-SQL с помощью функции Preview feature на портале Azure, функция блокировки CRUD T-SQL доступна для общедоступного использования как в базе данных Azure SQL, так и в управляемом экземпляре Azure SQL.

Чтобы включить функцию подписки на портале Azure, выполните следующие действия.

  1. Перейдите к подписке на портале Azure.

  2. В разделе "Параметры" выберите пункт "Предварительный просмотр компонентов ", чтобы открыть панель функций предварительной версии .

  3. На панели функций предварительного просмотра

    1. Введите CRUD в поле поиска.
    2. Установите флажок для функций, которые необходимо зарегистрировать для связанного ресурса. Ниже перечислены две функции, связанные с блокировкой операций CRUD T-SQL для ресурсов SQL Azure:
      • Блокировать T-SQL CRUD для логических серверов — для базы данных SQL Azure
      • Блокировать T-SQL CRUD для управляемых экземпляров — для Управляемого экземпляра SQL Azure
    3. Выберите "Зарегистрировать" на панели команд, чтобы зарегистрировать функцию в подписке.

    Снимок экрана с портала Azure: с флажком

Повторная регистрация поставщика ресурсов Microsoft.Sql

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

Примечание.

Этап повторной регистрации является обязательным для применения блокировки T-SQL к подписке.

Чтобы повторно зарегистрировать поставщик ресурсов Microsoft.Sql на портале Azure, выполните следующие действия.

  1. Перейдите к подписке на портале Azure.
  2. Перейдите на вкладку "Поставщики ресурсов".
  3. Найдите и выберите поставщика ресурсов Microsoft.Sql .
  4. Выберите Повторная регистрация.

Снимок экрана: портал Azure, показывающий, как повторно зарегистрировать поставщика ресурсов Microsoft.Sql.

Удаление блока T-SQL CRUD

Чтобы удалить блокировку на операции создания или изменения в T-SQL в вашей подписке, сначала отмените регистрацию ранее зарегистрированной функции блокировки T-SQL. Затем повторно зарегистрируйте поставщика ресурсов Microsoft.Sql, чтобы удаление вступило в силу.

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

  1. Перейдите к подписке на портале Azure.
  2. В разделе "Параметры" выберите "Предварительные версии функций".
  3. Выберите функцию, регистрацию которой вы хотите удалить.
  4. Выберите "Отменить регистрацию".