Create an Analysis Services Job Step
Questo argomento descrive come creare e definire i passaggi del processo SQL Server Agent in SQL Server 2014 che eseguono comandi e query SQL Server Analysis Services usando SQL Server Management Studio, Transact-SQL o SQL Server Oggetti di gestione.
Prima di iniziare:
Per creare i passaggi di un processo di SQL Server utilizzando i comandi e/o le query di Analysis Services con:
Prima di iniziare
Limitazioni e restrizioni
Se il passaggio del processo utilizza un comando di Analysis Services, l'istruzione del comando deve essere un metodo Execute di Servizi di XML for Analysis Services. L'istruzione non può includere un elemento Envelope SOAP (Simple Object Access Protocol) completo o un metodo Discover di XML for Analysis. A differenza di SQL Server Management Studio, i passaggi di processo di SQL Server Agent non supportano le buste SOAP complete e il metodo Discover. Per altre informazioni su XML for Analysis Services, vedere Panoramica di XML for Analysis (XMLA).
Se il passaggio del processo utilizza una query di Analysis Services, l'istruzione della query deve essere una query di espressioni MDX. Per altre informazioni su MDX, vedere Nozioni fondamentali sulle query MDX (Analysis Services).
Sicurezza
Autorizzazioni
Per eseguire un passaggio di processo in cui viene utilizzato il sottosistema Analysis Services, è necessario che l'utente sia membro del ruolo predefinito del server sysadmin o che sia autorizzato ad accedere a un account proxy valido definito per l'utilizzo di questo sottosistema. L'account del servizio SQL Server Agent o l'account proxy deve inoltre essere amministratore di Analysis Services, nonché un account di dominio Windows valido.
Solo i membri del ruolo predefinito del server sysadmin sono autorizzati a scrivere l'output di un passaggio del processo in un file. Se il passaggio del processo viene eseguito da utenti appartenenti al ruolo di database SQLAgentUserRole nel database msdb , sarà possibile scrivere l'output solo in una tabella. SQL Server Agent scrive l'output del passaggio di processo nella tabella sysjobstepslog del database msdb.
Per informazioni dettagliate, vedere Implementazione della sicurezza di SQL Server Agent.
Uso di SQL Server Management Studio
Per creare un passaggio di processo di un comando di Analysis Services
In Esplora oggetticonnettersi a un'istanza del motore di database di SQL Server e, successivamente, espanderla.
Espandere SQL Server Agent, creare un nuovo processo oppure fare clic con il pulsante destro del mouse su un processo esistente e quindi scegliere Proprietà. Per altre informazioni sulla creazione di un processo, vedere Creazione di processi.
Nella finestra di dialogo Proprietà processo fare clic sulla pagina Passaggi e quindi su Nuovo.
Nella finestra di dialogo Nuovo passaggio di processo digitare il nome del passaggio del processo nella casella Nome passaggio.
Nell'elenco Tipo fare clic su Comando di SQL Server Analysis Services.
Nell'elenco Esegui come selezionare un proxy definito per l'utilizzo del sottosistema Comando di Analysis Services. Un utente membro del ruolo predefinito del server sysadmin è inoltre autorizzato a selezionare Account del servizio SQL Server Agent per l'esecuzione di questo passaggio del processo.
Selezionare il Server in cui verrà eseguito il passaggio del processo oppure digitare il nome del server desiderato.
Nella casella Comando immettere l'istruzione da eseguire oppure fare clic su Apri per selezionare l'istruzione desiderata.
Fare clic sulla pagina Avanzate per definire le opzioni relative al passaggio del processo, ad esempio l'azione che dovrà essere eseguita da SQL Server Agent in caso di esito positivo o negativo del passaggio del processo, il numero di tentativi di esecuzione del passaggio del processo e il percorso in cui scrivere l'output del passaggio del processo.
Per creare un passaggio del processo di una query di Analysis Services
In Esplora oggetticonnettersi a un'istanza del motore di database di SQL Server e, successivamente, espanderla.
Espandere SQL Server Agent, creare un nuovo processo oppure fare clic con il pulsante destro del mouse su un processo esistente e quindi scegliere Proprietà. Per altre informazioni sulla creazione di un processo, vedere Creazione di processi.
Nella finestra di dialogo Proprietà processo fare clic sulla pagina Passaggi e quindi su Nuovo.
Nella finestra di dialogo Nuovo passaggio di processo digitare il nome del passaggio del processo nella casella Nome passaggio.
Nell'elenco Tipo fare clic su Query di SQL Server Analysis Services.
Nell'elenco Esegui come selezionare un proxy definito per l'utilizzo del sottosistema Query di Analysis Services. Un utente membro del ruolo predefinito del server sysadmin è inoltre autorizzato a selezionare Account del servizio SQL Server Agent per l'esecuzione di questo passaggio del processo.
Selezionare il Server e il Database in cui verrà eseguito il passaggio del processo oppure digitare il nome del server o del database desiderato.
Nella casella Comando immettere l'istruzione da eseguire oppure fare clic su Apri per selezionare l'istruzione desiderata.
Fare clic sulla pagina Avanzate per definire le opzioni relative al passaggio del processo, ad esempio l'azione che dovrà essere eseguita da SQL Server Agent in caso di esito positivo o negativo del passaggio del processo, il numero di tentativi di esecuzione del passaggio del processo e il percorso in cui scrivere l'output del passaggio del processo.
Uso di Transact-SQL
Per creare un passaggio di processo di un comando di Analysis Services
In Esplora oggetti connettersi a un'istanza del motore di database.
Sulla barra Standard fare clic su Nuova query.
Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.
-- Creates a job step that uses XMLA to create a relational data source that references the AdventureWorks2012 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 AdventureWorks2012 Microsoft SQL Server database ', @subsystem = N'ANALYSISCOMMAND', @command = N' <Create xmlns="https://schemas.microsoft.com/analysisservices/2003/engine"> <ParentObject> <DatabaseID>AdventureWorks2012</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>AdventureWorks2012</ID> <Name>Adventure Works 2012</Name> <ConnectionString>Data Source=localhost;Initial Catalog=AdventureWorks2012;Integrated Security=True</ConnectionString> <ImpersonationInfo> <ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode> </ImpersonationInfo> <ManagedProvider>System.Data.SqlClient</ManagedProvider> <Timeout>PT0S</Timeout> </DataSource> </ObjectDefinition> </Create>', ; GO
Per altre informazioni, vedere sp_add_jobstep (Transact-SQL).
Per creare un passaggio del processo di una query di Analysis Services
In Esplora oggetti connettersi a un'istanza del motore di database.
Sulla barra Standard fare clic su Nuova query.
Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.
-- 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 [AdventureWorks2012]', @retry_attempts = 5, @retry_interval = 5 ; GO
Per altre informazioni, vedere sp_add_jobstep (Transact-SQL).
Utilizzo di SQL Server Management Objects
Per creare un passaggio di processo di uno script di PowerShell
Utilizzare la classe JobStep
tramite un linguaggio di programmazione, come XMLA o MDX. Per altre informazioni, vedere SQL Server Management Objects (SMO).