Создание, настройка и управление заданиями обработки эластичных баз данных

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

В этой статье приведены действия, необходимые для создания, настройки и управления эластичными заданиями для База данных SQL Azure. Вы можете выполнить многие из этих действий в портал Azure и с помощью T-SQL, PowerShell и REST API. Задания обработки эластичных баз данных позволяют выполнять скрипты Transact-SQL (T-SQL) в нескольких базах данных одновременно. Дополнительные сведения о концепциях автоматизации заданий см. в База данных SQL Azure или дополнительные сведения о заданиях Elastic в База данных SQL Azure.

Создание и настройка агента эластичных заданий

  1. Создайте или определите пустую База данных SQL Azure S1 или более поздней версии с помощью модели покупки DTU. Эта база данных должна находиться на том же сервере, что и агент задания. Эта база данных используется в качестве базы данных заданий во время создания агента эластичных заданий. Вы можете создать отдельную базу данных с помощью портал Azure, Azure CLI, Azure CLI (sql up) или PowerShell.

  2. Создайте агент эластичного задания в портал Azure или PowerShell.

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

    1. В портал Azure найдите агенты заданий Elastic. Выберите "Создать", чтобы начать подготовку нового ресурса агента эластичных заданий. Или следуйте этой ссылке, чтобы создать агент эластичного задания в портал Azure.
    2. Укажите имя агента заданий Elastic.
    3. Выберите подпискуи группу ресурсов для агента. При необходимости создайте новую группу ресурсов. Эластичное задание может использовать базы данных в других группах ресурсов, подписках, даже в других регионах Azure.
    4. Выберите База данных SQL Azure логический сервер, который будет сервером агента эластичных заданий.
    5. Выберите базу данных задания на логическом сервере, чтобы быть базой данных агента эластичных заданий. Некоторые проверки гарантируют, что база данных подходит.
    6. В разделе "Уровень служб" выберите JA 100.
    7. Нажмите кнопку "Далее": удостоверение.
    8. Существует два метода проверки подлинности агента заданий для целевых серверов или баз данных, проверки подлинности Microsoft Entra с управляемым удостоверением, назначаемого пользователем (UMI), или учетных данных область базы данных.
      1. Создайте UMI за пределами процесса подготовки агента эластичных заданий или используйте существующий UMI. Выберите "Добавить управляемое удостоверение, назначаемое пользователем". Выберите UMI. Выберите Добавить.
      2. Сведения об использовании учетных данных область базы данных см. далее в этом руководстве.
    9. Нажмите кнопку "Далее": теги.
    10. Рассмотрите возможность использования тегов Azure. Например, тег "Владелец" или "CreatedBy", чтобы определить, кто создал ресурс, и тег среды, чтобы определить, находится ли этот ресурс в рабочей среде, разработке и т. д. Дополнительные сведения см. в статье "Разработка стратегии именования и тегов для ресурсов Azure".
    11. Выберите Review + create (Просмотреть и создать).
    12. Проверьте выбор нового агента эластичных заданий на странице проверки и создания , а затем нажмите кнопку "Создать".
    13. Дальнейшие действия необходимы для проверки подлинности на целевых серверах или базах данных. Выполните действия, описанные в следующих разделах этой статьи.

Создание проверки подлинности агента задания

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

Существует два варианта проверки подлинности агента эластичного задания для целевых объектов:

Использование проверки подлинности Microsoft Entra с управляемым удостоверением, назначаемое пользователем (UMI)

Используйте проверку подлинности Microsoft Entra (ранее Azure Active Directory) с управляемым удостоверением, назначаемое пользователем (UMI). Это рекомендуемый метод проверки подлинности.

  1. Включите проверку подлинности Microsoft Entra (ранее Azure Active Directory) на всех целевых логических серверах или базах данных задания и на логическом сервере задания.
  2. Создайте управляемое удостоверение, назначаемое пользователем (UMI) или используйте уже существующий UMI.
  3. Назначьте UMI созданному агенту эластичных заданий.
    • Рекомендуется назначить UMI при создании агента эластичного задания, см. инструкции по созданию и настройке агента эластичных заданий. При создании агента задания в портал Azure на вкладке Identity назначьте агенту эластичного задания.
    • Чтобы обновить существующий агент эластичных заданий для использования UMI, на странице портал Azure агента эластичного задания перейдите в меню "Безопасность" в меню ресурсов. Выберите и назначьте UMI агенту эластичного задания.
    • При создании или обновлении агента эластичного задания с New-AzSqlElasticJobAgentSet-AzSqlElasticJobAgent помощью командлетов PowerShell используйте следующие параметры: -IdentityType UserAssigned -IdentityID <identity resource path> Например:
      $parameters = @{
          Name = '<job agent name>'
          ResourceGroupName = '<Resource_Group_Name>'
          IdentityType = 'UserAssigned'
          IdentityID = '/subscriptions/fa58cf66-caaf-4ba9-875d-f1234/resourceGroups/<resource group name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<UMI name here>'
      }
      Set-AzSqlElasticJobAgent @parameters
      
    • REST API также можно использовать для создания или обновления агента эластичных заданий.
  4. Создайте целевую группу и добавьте целевые объекты для заданий. Определите целевую группу и целевые объекты (базы данных, для которой требуется запустить задание) с помощью PowerShell или определите целевую группу и целевые объекты с помощью T-SQL.
  5. В каждом из целевых серверов или баз данных создайте автономного пользователя, сопоставленного с учетными данными UMI или базой данных, область с помощью T-SQL или PowerShell:
    1. Создайте проверку подлинности задания с помощью T-SQL.
    2. Создайте проверку подлинности задания с помощью PowerShell.
  6. В выходной базе данных создайте и назначьте разрешения пользователю задания UMI. Подключение в выходную базу данных и выполните следующий пример скрипта для пользователя с именемjobuserUMI:
    CREATE USER [jobuserUMI] FROM EXTERNAL PROVIDER; 
    GO 
    
  7. Если выходные параметры указаны в вызове sp_add_jobstepthe @output_table_name argument, то учетные данные агента заданий или учетные данные, область базы данных, должны быть предоставлены разрешения на создание данных TABLE и INSERT в эту выходную таблицу.
    GRANT CREATE TABLE TO [job_user];
    GRANT SELECT,INSERT,UPDATE,DELETE ON [dbo].[output_table_name] TO job_user;
    
  8. В каждом из целевых серверов или баз данных предоставьте пользователю базы данных необходимые разрешения для выполнения скриптов заданий. Эти разрешения зависят от требований запроса T-SQL.

Использование учетных данных область базы данных

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

Примечание.

Если UMI назначен агенту задания, проверка подлинности SQL не будет использоваться для подключения к его целевым объектам. Агент заданий будет использовать проверку подлинности Microsoft Entra только с UMI для подключения ко всем целевым базам данных.

  1. Создайте учетные данные область базы данных в базе данных задания.
    1. Создание учетных данных с область базой данных с помощью PowerShell
    2. Используйте T-SQL для создания учетных данных область базы данных.
  2. Определите целевую группу (базы данных, для которой требуется запустить задание) с помощью PowerShell или определите целевые объекты с помощью T-SQL.
  3. Создайте имя входа или пользователя агента заданий в каждой целевой базе данных, где будет выполняться задание. Имя входа или пользователя на каждом целевом сервере или базе данных должно иметь то же имя, что и удостоверение учетных данных, область базы данных для пользователя задания, и тот же пароль, что и учетные данные, область базы данных для пользователя задания.
    1. Используйте PowerShell, чтобы добавить учетные данные и пользователя в каждую целевую базу данных.
    2. Дополнительные сведения о добавлении пользователей см. в разделе "Авторизация сервера" и доступа к базе данных с помощью учетных записей входа и учетных записей пользователей.
  4. В выходной базе данных создайте и назначьте разрешения пользователю задания.
    1. Подключение в master базу данных логического сервера, на котором размещена выходная база данных. Если он еще не существует, создайте имя для входа с проверкой подлинности SQL с таким же именем, что и удостоверение учетных данных, область базы данных для пользователя задания, и тот же пароль, что и учетные данные, область базы данных для пользователя задания.
      CREATE LOGIN [job_user] WITH PASSWORD '<same_password_as_database-scoped_credential>'
      GO 
      
    2. Подключение в выходную базу данных и выполните следующий пример скрипта для пользователя с именемjob_user:
      CREATE USER [job_user] FROM LOGIN [job_user]; 
      GO 
      
    3. Если выходные параметры указаны в вызове в sp_add_jobstep аргументе @output_table_name, то учетные данные агента заданий или учетные данные, область базы данных, должны быть предоставлены разрешения на создание данных TABLE и INSERT в эту выходную таблицу.
      GRANT CREATE TABLE TO [job_user];
      GRANT SELECT,INSERT,UPDATE,DELETE ON [dbo].[output_table_name] TO job_user;
      
  5. В каждом из целевых серверов или баз данных предоставьте пользователю базы данных необходимые разрешения для выполнения скриптов заданий. Эти разрешения зависят от требований запроса T-SQL.

Создание, запуск заданий и управление ими

  1. Используйте PowerShell для создания задания или использования T-SQL для создания задания.
  2. Добавьте шаги в каждое эластичное задание. Целевая группа должна быть выбрана для каждого шага задания. Используйте PowerShell для добавления шагов задания или использования T-SQL для добавления шагов задания.
  3. Используйте PowerShell для запуска задания или использования T-SQL для выполнения задания.
  4. Отслеживайте состояние выполнения задания с помощью портал Azure, отслеживайте задания с помощью PowerShell или отслеживайте задания с помощью T-SQL.

Настройка частной конечной точки эластичных заданий SQL Azure

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

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

  1. В меню навигации агента эластичных заданий в разделе "Безопасность" выберите частные конечные точки.
  2. Выберите " Добавить сервер" и создайте частную конечную точку.
  3. Откроется окно создания частной конечной точки .
    1. Вы можете выбрать целевой сервер из любой подписки в любой точке Azure.
    2. Выберите целевой База данных SQL Azure логический сервер в этой подписке.
    3. Укажите имя частной конечной точки.
  4. Выберите Создание частной конечной точки. Развертывание займет несколько минут. Вскоре состояние Подключение ion на странице "Частные конечные точки" будет отображаться в ожидании.
  5. В портал Azure перейдите к целевому База данных SQL Azure логическому серверу.
  6. Администратор этого целевого База данных SQL Azure логического сервера в меню навигации SQL Server в разделе "Безопасность" выберите "Сеть".
  7. Выберите Закрытый доступ.
  8. Утвердить ожидающий запрос частной конечной точки.
  9. Состояние Подключение на странице "Частные конечные точки" отображается "Утверждено". Теперь любая связь между агентом заданий и любыми базами данных или эластичными пулами в этом целевом База данных SQL Azure логическим сервером будет проходить через частную конечную точку, управляемую службой.
  10. Администратор этого целевого База данных SQL Azure логического сервера в меню навигации SQL Server в разделе "Безопасность" выберите "Сеть". Для назначения эластичных заданий не требуется включить общедоступный доступ .

Настройка оповещений агента заданий с помощью Azure Monitor

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

Оповещения агента эластичных заданий можно создавать с помощью портал Azure, PowerShell или REST API.

Создание оповещений агента заданий с помощью портал Azure

Создайте правила генерации оповещений Azure Monitor с помощью портал Azure, Azure CLI, PowerShell и REST API. Правила генерации оповещений для эластичных заданий работают аналогично другим правилам генерации оповещений, например для База данных SQL Azure.

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

  1. В меню ресурсов портал Azure агента эластичных заданий перейдите в меню "Мониторинг" и выберите "Оповещения".
  2. В разделе "Настройка правил генерации оповещений" в этом запросе ресурса выберите "Создать правило генерации оповещений".
  3. На странице "Создание правила генерации оповещений" откроется страница выбора сигнала. Выберите метрики эластичных заданий сбоем, выполнение эластичных заданий успешно или время ожидания выполнения эластичных заданий. Снимок экрана: портал Azure с страницей создания правила генерации оповещений.
  4. В разделе "Логика оповещения" оставьте пороговое значение, тип агрегирования, оператор и единицу по умолчанию.
  5. Задайте для порогового значения0значение . Оставьте другие параметры по умолчанию.
  6. Нажмите кнопку "Далее": действия.
  7. Выберите "Создать группу действий" или выберите существующую группу действий.
    1. Создайте группы действий оповещений Azure Monitor в портал Azure, чтобы задать параметры уведомлений, например администраторам электронной почты или разработчикам сбоя.
    2. Проверьте группу действий генерации оповещений.
  8. Нажмите кнопку "Далее": сведения.
  9. Укажите подписку и группу ресурсов в качестве сведений о проекте.
  10. Укажите сведения о правиле генерации оповещений для связи с оповещениями. Укажите имя правила генерации оповещений.
  11. Выберите теги и укажите метаданные, такие как CreatedBy или Environment для этого оповещения.
  12. Выберите Review + Create (Просмотреть и создать). Нажмите кнопку создания. Для отображения правила генерации оповещений в портал Azure может потребоваться несколько минут.
  13. При необходимости создайте правила обработки оповещений Azure Monitor с помощью портал Azure, Azure CLI или PowerShell. Используйте правила обработки оповещений, чтобы решить, что происходит при активации оповещения, например подавление уведомлений или применение конкретных действий к определенным типам оповещений.

Масштабирование агента задания

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

Если требуется более 100 одновременных выполнений агентов эластичных заданий, доступны более высокие уровни обслуживания, см . раздел "Параллельные уровни емкости". В настоящее время можно изменить уровень обслуживания агента задания с помощью портал Azure, PowerShell или REST API.

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

Масштабирование агента эластичного задания с помощью портал Azure

  1. Перейдите на страницу агента эластичных заданий в портал Azure.
  2. Выберите ценовую категорию или выберите "Увеличить или уменьшить" в контекстном меню.
  3. Выберите новый уровень служб в раскрывающемся списке уровня служб.
  4. Просмотрите карта затрат.
  5. Выберите Обновить.

Масштабирование агента эластичных заданий с помощью PowerShell

Необязательный -ServiceObjective параметр для можно использовать для Set-AzSqlElasticJobAgent указания новой цели службы. Например:

$parameters = @{
    Name = '<job agent name>'
    ResourceGroupName = '<Resource_Group_Name>'
    ServiceObjective = 'JA200'
}
Set-AzSqlElasticJobAgent @parameters

Масштабирование агента эластичных заданий с помощью REST API

Rest API агента заданий можно использовать для масштабирования агента задания. Например:

{ 
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1", 
"name": "agent1", 
"type": "Microsoft.Sql/servers/jobAgents", 
"location": "southeastasia", 
"sku": {
"name": "JA100  ", 
"capacity": 100 
}, 
"properties": {  
"databaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db1"
}  
}