Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server
Azure SQL Управляемый экземпляр
Это важно
В Azure SQL Managed Instanceв настоящее время поддерживается большинство функций агента SQL Server, но не все. Дополнительные сведения см. в разделе отличия Управляемого экземпляра SQL Azure от SQL Server или ограничения заданий SQL Agent в Управляемом экземпляре SQL.
В этом разделе описывается создание и определение шагов задания агента SQL Server в SQL Server, выполняющих команды и запросы служб SQL Server Analysis Services с помощью SQL Server Management Studio, Transact-SQL или объектов управления SQL Server.
Перед началом:
Чтобы создать шаги задания SQL Server с помощью команд служб Analysis Services и (или) запросов, выполните следующие действия.
Перед началом работы
Ограничения и условия
Если на шаге задания используется команда Analysis Services, инструкция команды должна быть методом Execute XML для служб Analysis Services. Инструкция может не содержать полную оболочку протокола SOAP или метод XML для анализа Discover. Хотя Среда управления SQL Server Management Studio поддерживает полные конверты SOAP и метод Discover, шаги задания агента SQL Server этого не поддерживают. Дополнительные сведения о XML для служб Analysis Services см. в разделе "Общие сведения о XML для анализа" (XMLA).
Если на шаге задания используется запрос служб Analysis Services, оператор запроса должен быть запросом MDX (многомерные выражения). Для получения дополнительной информации о MDX обратитесь к разделу "Основы инструкций MDX (многомерных выражений)".
Безопасность
Разрешения
Чтобы выполнить шаг задания, использующего подсистему Служб Analysis Services, пользователь должен быть членом предопределенной роли сервера sysadmin или иметь доступ к валидной учетной записи прокси-сервера, определенной для использования этой подсистемы. Кроме того, учетная запись службы агента SQL Server или прокси должна быть администратором служб Analysis Services и допустимой учетной записью домена Windows.
Только члены предопределенных ролей сервера sysadmin могут записывать выходные данные шага задания в файл. Если шаг задания выполняется пользователями, которые являются членами роли базы данных SQLAgentUserRole в базе данных msdb , выходные данные можно записать только в таблицу. Агент SQL Server записывает выходные данные шага задания в таблицу sysjobstepslog в базе данных msdb .
Подробности см. в разделе Реализация безопасности агента SQL Server.
Использование среды SQL Server Management Studio
Создание шага задания для команды служб Analysis Services
В Обозревателе объектов подключитесь к экземпляру системы управления базами данных SQL Server, а затем разверните этот экземпляр.
Разверните SQL Server Agent, создайте новое задание или нажмите правой кнопкой мыши на существующем задании, а затем нажмите Свойства. Дополнительные сведения о создании задания см. в разделе "Создание заданий".
В диалоговом окне "Свойства задания " щелкните страницу "Шаги " и нажмите кнопку "Создать".
В диалоговом окне "Новый шаг задания " введите имя шага задания.
В списке типов щелкните команду SQL Server Analysis Services.
В списке "Запуск от имени " выберите прокси-сервер, определенный для использования подсистемы команд служб Analysis Services. Пользователь, являющийся членом предопределенных ролей сервера sysadmin , также может выбрать учетную запись службы агента SQL для выполнения этого шага задания.
Выберите сервер , на котором будет выполняться шаг задания, или введите имя сервера.
В командном поле введите инструкцию для выполнения или нажмите кнопку "Открыть ", чтобы выбрать инструкцию.
Щелкните страницу "Дополнительно ", чтобы определить параметры этого шага задания, например действие агента SQL Server, если шаг задания выполнен успешно или завершается сбоем, сколько раз должен быть выполнен шаг задания, а также место записи выходных данных шага задания.
Чтобы создать этап задания запроса для служб Analysis Services
В Обозревателе объектов подключитесь к экземпляру системы управления базами данных SQL Server, а затем разверните этот экземпляр.
Разверните SQL Server Agent, создайте новое задание или нажмите правой кнопкой мыши на существующем задании, а затем нажмите Свойства. Дополнительные сведения о создании задания см. в разделе "Создание заданий".
В диалоговом окне Свойства задания щелкните вкладку Шаги, а затем щелкните Создать.
В диалоговом окне Новый шаг задания введите имя шага .
В списке типов щелкните sql Server Analysis Services Query.
В списке "Запуск от имени " выберите прокси-сервер, который был определен для использования подсистемы запросов служб Analysis Services. Пользователь, являющийся членом предопределенных ролей сервера sysadmin , также может выбрать учетную запись службы агента SQL для выполнения этого шага задания.
Выберите сервер и базу данных , в которой будет выполняться шаг задания, или введите имя сервера или базы данных.
В командном поле введите инструкцию для выполнения или нажмите кнопку "Открыть ", чтобы выбрать инструкцию.
Щелкните страницу "Дополнительно ", чтобы определить параметры этого шага задания, например действие агента SQL Server, если шаг задания выполнен успешно или завершается сбоем, сколько раз должен быть выполнен шаг задания, а также место записи выходных данных шага задания.
Использование Transact-SQL
Создание шага задания для команды служб Analysis Services
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
-- Creates a job step that uses XMLA to create a relational data source that -- references the AdventureWorks2022 Microsoft SQL Server database. USE msdb; GO EXEC sp_add_jobstep @job_name = N'Weekly Sales Data Backup', @step_name = N'Create a relational data source that references the AdventureWorks2022 Microsoft SQL Server database', @subsystem = N'ANALYSISCOMMAND', @command = N' <Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <ParentObject> <DatabaseID>AdventureWorks2022</DatabaseID> </ParentObject> <ObjectDefinition> <DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource"> <ID>AdventureWorks2022</ID> <Name>Adventure Works 2022</Name> <ConnectionString>Data Source=localhost;Initial Catalog=AdventureWorks2022;Integrated Security=True</ConnectionString> <ImpersonationInfo> <ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode> </ImpersonationInfo> <ManagedProvider>System.Data.SqlClient</ManagedProvider> <Timeout>PT0S</Timeout> </DataSource> </ObjectDefinition> </Create>', ; GO
Дополнительные сведения см. в sp_add_jobstep (Transact-SQL).
Чтобы создать этап задания запроса для служб Analysis Services
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
-- Creates a job step that uses MDX to return data USE msdb; GO EXEC sp_add_jobstep @job_name = N'Weekly Sales Data Backup', @step_name = N'Returns the Internet sales amount by state', @subsystem = N'ANALYSISQUERY', @command = N' SELECT [Measures].[Internet Sales Amount] ON COLUMNS, [Customer].[State-Province].Members ON ROWS FROM [AdventureWorks2022]', @retry_attempts = 5, @retry_interval = 5 ; GO
Дополнительные сведения см. в sp_add_jobstep (Transact-SQL).
Использование объектов управления SQL Server
Создание шага задания скрипта PowerShell
Используйте класс JobStep, применяя выбранный вами язык программирования, такой как XMLA или MDX. Дополнительные сведения см. в SQL Server Management Objects (SMO).