Créer une étape de travail pour Analysis Services
s’applique à :SQL Server
Azure SQL Managed Instance
Important
Sur Azure SQL Managed Instance, la plupart, mais pas toutes les fonctionnalités de SQL Server Agent sont actuellement prises en charge. Pour plus d’informations, consultez Azure SQL Managed Instance à partir de SQL Server.
Cette rubrique explique comment créer et définir des étapes de travail SQL Server Agent dans SQL Server qui exécutent des commandes et des requêtes SQL Server Analysis Services à l’aide de SQL Server Management Studio, Transact-SQL ou SQL Server Management Objects.
Avant de commencer :
Pour créer les étapes d'un travail SQL Server à l'aide de commandes et/ou de requêtes Analysis Services, avec :
Avant de commencer
Limitations et restrictions
Si l’étape de travail utilise une commande Analysis Services, l’instruction de commande doit être un xml pour Analysis Services méthode Execute. L’instruction ne peut pas contenir une enveloppe SOAP (Simple Object Access Protocol) complète ou une méthode XML for Analysis Discover. Bien que SQL Server Management Studio prenne en charge les enveloppes SOAP complètes et la méthode Découvrir, les étapes de travail de SQL Server Agent ne le font pas. Pour plus d’informations sur XML pour Analysis Services, consultez XML for Analysis Overview (XMLA).
Si l’étape du travail utilise une requête Analysis Services, l’instruction de requête doit être une requête MDX (Multidimensional Expressions). Pour plus d’informations sur MDX, consultez Principes fondamentaux de l’instruction MDX (MDX).
Sécurité
Autorisations
Pour exécuter une étape de travail qui utilise le sous-système Analysis Services, un utilisateur doit être membre de l'sysadmin rôle serveur fixe ou avoir accès à un compte proxy valide défini pour utiliser ce sous-système. En outre, le compte de service SQL Server Agent ou le proxy doit être un administrateur Analysis Services et un compte de domaine Windows valide.
Seuls les membres de l'sysadmin rôle serveur fixe peuvent écrire la sortie de l’étape de travail dans un fichier. Si l’étape de travail est exécutée par des utilisateurs membres du rôle de base de données SQLAgentUserRole dans la base de données msdb, la sortie peut être écrite uniquement dans une table. SQL Server Agent écrit la sortie de l’étape de travail dans la table sysjobstepslog dans la base de données msdb.
Pour des informations détaillées, consultez Implémenter la sécurité de SQL Server Agent.
Utilisation de SQL Server Management Studio
Pour créer une étape de tâche de commande dans Analysis Services
Dans 'Explorateur d’objets, connectez-vous à une instance du moteur de base de données SQL Server, puis développez cette instance.
Développez SQL Server Agent, créez une nouvelle tâche ou cliquez avec le bouton droit sur une tâche existante, puis cliquez sur Propriétés. Pour plus d’informations sur la création d’un travail, consultez Créer des travaux.
Dans la boîte de dialogue Propriétés du travail, cliquez sur la page Étapes, puis sur Nouveau.
Dans la boîte de dialogue nouvelle étape du travail, tapez un nom de tâche étape.
Dans la liste Type de, cliquez sur commande SQL Server Analysis Services.
Dans la liste Exécuter en tant que, sélectionnez un proxy qui a été défini pour utiliser le sous-système de commande Analysis Services. Un utilisateur membre du rôle serveur fixe sysadmin peut également sélectionner compte de service SQL Agent pour exécuter cette étape de travail.
Sélectionnez le serveur où l’étape du travail s’exécutera ou tapez le nom du serveur.
Dans la zone de commande, tapez l’instruction à exécuter, ou cliquez sur Ouvrir pour sélectionner une instruction.
Cliquez sur la page Advanced pour définir les options de cette étape de travail, telles que l’action que SQL Server Agent doit effectuer si l’étape du travail réussit ou échoue, combien de fois l’étape de travail doit être tentée et où la sortie de l’étape de travail doit être écrite.
Pour créer une étape de requête de travail pour Analysis Services
Dans "Explorateur d’objets", connectez-vous à une instance du moteur de base de données SQL Server, puis déroulez cette instance.
Développez SQL Server Agent, créez un nouveau travail ou cliquez avec le bouton droit sur un travail existant, puis cliquez sur Propriétés. Pour plus d’informations sur la création d’un travail, consultez Créer des travaux.
Dans la boîte de dialogue Propriétés du travail, cliquez sur la page Étapes, puis sur Nouveau.
Dans la boîte de dialogue Nouvelle Étape de Travail, tapez un nom pour l'étape de travail .
Dans la liste Type de, cliquez sur Requête de SQL Server Analysis Services.
Dans la liste Exécuter en tant que, sélectionnez un proxy qui a été défini pour utiliser le sous-système de requêtes d’Analysis Services. Un utilisateur membre du rôle serveur fixe sysadmin peut également sélectionner compte de service SQL Agent pour exécuter cette étape de travail.
Sélectionnez l'du serveur et la base de données où l’étape du travail s’exécutera, ou tapez le nom du serveur ou de la base de données.
Dans la zone de commande, tapez l’instruction à exécuter, ou cliquez sur Ouvrir pour sélectionner une instruction.
Cliquez sur la page Advanced pour définir les options de cette étape de travail, telles que l’action que SQL Server Agent doit effectuer si l’étape du travail réussit ou échoue, combien de fois l’étape de travail doit être tentée et où la sortie de l’étape de travail doit être écrite.
Utilisation de Transact-SQL
Pour créer une étape de travail de commande Analysis Services
Dans Explorateur d’objets, connectez-vous à une instance du moteur de base de données.
Dans la barre Standard, cliquez sur Nouvelle requête.
Copiez et collez l’exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.
-- 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
Pour plus d’informations, consultez sp_add_jobstep (Transact-SQL).
Pour créer une étape de travail de requête Analysis Services
Dans Explorateur d’objets, connectez-vous à une instance du moteur de base de données.
Dans la barre d'outils Standard, cliquez sur Nouvelle requête.
Copiez et collez l’exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.
-- 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
Pour plus d’informations, consultez sp_add_jobstep (Transact-SQL).
Utilisation d’objets de gestion SQL Server
Pour créer une étape de tâche de script PowerShell
Utilisez la classe JobStep à l’aide d’un langage de programmation que vous choisissez, tel que XMLA ou MDX. Pour plus d’informations, consultez SQL Server Management Objects (SMO).