Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Gestire passaggi di processo
Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Gestire passaggi di processo

 

Un passaggio di processo è un'operazione eseguita dal processo in un database o in un server.Ogni processo deve essere composto da almeno un passaggio.I passaggi di processo possono essere costituiti dagli elementi seguenti:

  • Programmi eseguibili e comandi del sistema operativo.

  • Istruzioni Transact-SQL, incluse stored procedure e stored procedure estese.

  • Script di PowerShell.

  • Script Microsoft ActiveX.

  • Attività di replica.

  • Attività Analysis Services.

  • Pacchetti Integration Services.

Ogni passaggio di processo viene eseguito in un contesto di sicurezza specifico.Se tramite il passaggio di processo viene specificato un proxy, il passaggio viene eseguito nel contesto di sicurezza della credenziale per il proxy.Se tramite il passaggio di processo non viene specificato un proxy, il passaggio viene eseguito nel contesto dell'account del servizio SQL Server Agent.Solo i membri del ruolo predefinito del server sysadmin possono creare processi in cui non venga specificato esplicitamente un proxy.

Poiché i passaggi di processo vengono eseguiti nel contesto di un utente specifico di Microsoft Windows, l'utente deve disporre delle autorizzazioni e della configurazione necessarie per l'esecuzione del passaggio di processo.Se, ad esempio, si crea un processo che richiede una lettera di unità o un percorso UNC (Universal Naming Convention), i passaggi di processo possono essere eseguiti con l'account utente di Windows durante la verifica delle operazioni.L'utente di Windows per il passaggio di processo, tuttavia, deve inoltre disporre delle autorizzazioni richieste, delle configurazioni della lettera di unità o dell'accesso all'unità necessaria.In caso contrario, il passaggio di processo non verrà eseguito correttamente.Per evitare questo problema, assicurarsi che il proxy per ogni passaggio di processo disponga delle autorizzazioni necessarie per l'operazione eseguita dal passaggio.Per ulteriori informazioni, vedere Centro di sicurezza per il motore di database di SQL Server e il database SQL di Azure.

SQL Server Agent può scrivere output da alcuni passaggi di processo in un file del sistema operativo o nella tabella sysjobstepslogs del database msdb.I tipi di passaggi di processo seguenti consentono la scrittura dell'output in entrambe le destinazioni:

  • Programmi eseguibili e comandi del sistema operativo.

  • Istruzioni Transact-SQL.

  • Attività Analysis Services.

Solo i passaggi di processo eseguiti dagli utenti membri del ruolo predefinito del server sysadmin possono scrivere l'output dei passaggi di processo nei file del sistema operativo.Se i passaggi di processo vengono eseguiti da utenti membri dei ruoli predefiniti del database SQLAgentUserRole, SQLAgentReaderRole o SQLAgentOperatorRole nel database msdb, l'output di questi passaggi può essere scritto solo nella tabella sysjobstepslogs.

I log dei passaggi di processo vengono eliminati automaticamente quando vengono eliminati i processi o i passaggi di processo.

System_CAPS_noteNota

La registrazione delle attività di replica e dei passaggi di processo dei pacchetti Integration Services viene gestita dal rispettivo sottosistema.Non è possibile utilizzare SQL Server Agent per configurare la registrazione di questi tipi di passaggi di processo.

I programmi eseguibili e i comandi del sistema operativo possono essere utilizzati come passaggi di processo.Questi file possono avere estensione bat, cmd, com o exe.

Quando si utilizza un programma eseguibile o un comando del sistema operativo come passaggio di processo, è necessario specificare gli elementi seguenti:

  • Il codice di uscita del processo, restituito se il comando ha esito positivo.

  • Il comando da eseguire.Per eseguire un comando del sistema operativo, è necessario immettere solo il comando specifico.Per un programma esterno, è necessario immettere il nome del programma e gli argomenti del programma, ad esempio: C:\Programmi\Microsoft SQL Server\100\Tools\Binn\sqlcmd.exe -e -q "sp_who"

    System_CAPS_noteNota

    È necessario indicare il percorso completo del programma eseguibile se questo non è incluso in una directory specificata nel percorso di sistema o nel percorso per l'account utente con cui viene eseguito il passaggio di processo.

Quando si crea un passaggio di processo Transact-SQL, è necessario eseguire le operazioni seguenti:

  • Identificare il database in cui eseguire il processo.

  • Digitare l'istruzione Transact-SQL da eseguire.L'istruzione può chiamare una stored procedure o una stored procedure estesa.

In alternativa, è possibile aprire un file Transact-SQL esistente come comando per il passaggio di processo.

I passaggi di processo Transact-SQL non utilizzano proxy di SQL Server Agent.Il passaggio di processo viene invece eseguito come proprietario del passaggio oppure come account del servizio SQL Server Agent se il proprietario è un membro del ruolo predefinito del server sysadmin.I membri del ruolo predefinito del server sysadmin possono inoltre specificare che i passaggi di processo Transact-SQL vengano eseguiti nel contesto di un altro utente tramite il parametro database_user_name della stored procedure sp_add_jobstep.Per ulteriori informazioni, vedere sp_add_jobstep (Transact-SQL).

System_CAPS_noteNota

Un singolo passaggio di processo Transact-SQL può contenere più batch.I passaggi di processo Transact-SQL possono contenere comandi GO incorporati.

Quando si utilizza uno script di PowerShell per creare un passaggio di processo, come comando del passaggio è necessario specificare uno dei due elementi seguenti:

  • Il testo di uno script di PowerShell.

  • Un file script di PowerShell esistente da aprire.

Il sottosistema PowerShell di SQL Server apre una sessione di PowerShell e carica gli snap-in SQL Server PowerShell.Lo script di PowerShell utilizzato come comando del passaggio di processo può fare riferimento al provider e ai cmdlet di PowerShell per SQL Server.Per ulteriori informazioni sulla scrittura di script di PowerShell utilizzando gli snap-in SQL Server PowerShell, vedere SQL Server PowerShell.

System_CAPS_importantImportante

Il passaggio di processo con script ActiveX verrà rimosso da SQL Server in una versione futura di MicrosoftSQL Server.Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.

Quando si crea un passaggio di processo con script ActiveX, è necessario eseguire le operazioni seguenti:

  • Identificare il linguaggio di script con cui scrivere il passaggio di processo.

  • Scrivere lo script ActiveX.

È inoltre possibile aprire un file di script ActiveX esistente come comando per il passaggio di processo.In alternativa, i comandi degli script ActiveX possono essere compilati esternamente, ad esempio tramite Microsoft Visual Basic, e quindi eseguiti come file eseguibili.

Quando un comando di un passaggio di processo è uno script ActiveX, è possibile utilizzare l'oggetto SQLActiveScriptHost per stampare l'output nel log della cronologia dei passaggi di processo o per creare oggetti COM. SQLActiveScriptHost è un oggetto globale introdotto dal sistema di hosting di SQL Server Agent nello spazio dei nomi dello script.All'oggetto sono associati due metodi, ovvero Print e CreateObject.Nell'esempio seguente viene illustrato il funzionamento degli script ActiveX in Visual Basic Scripting Edition (VBScript).

' VBScript example for ActiveX Scripting job step
' Create a Dmo.Server object. The object connects to the
' server on which the script is running.

Set oServer = CreateObject("SQLDmo.SqlServer")
oServer.LoginSecure = True
oServer.Connect "(local)"
'Disconnect and destroy the server object
oServer.DisConnect
Set oServer = nothing

Quando si creano pubblicazioni e sottoscrizioni tramite la replica, i processi di replica vengono creati per impostazione predefinita.Il tipo di processo creato è determinato dal tipo di replica (snapshot, transazionale o di tipo merge) e dalle opzioni utilizzate.

I passaggi dei processi di replica attivano uno degli agenti di replica seguenti:

  • Agente snapshot (processo Snapshot)

  • Agente lettura log (processo LogReader)

  • Agente di distribuzione (processo Distribuzione)

  • Agente di merge (processo Merge)

  • Agente di lettura coda (processo QueueReader)

Durante la configurazione della replica, è possibile specificare di eseguire gli agenti di replica in tre modi diversi: in modo continuativo dopo l'avvio di SQL Server Agent, su richiesta o in base a una pianificazione.Per ulteriori informazioni sugli agenti di replica, vedere Panoramica degli agenti di replica.

SQL Server Agent supporta due tipi diversi di passaggi di processo Analysis Services, ovvero i passaggi di processo con comandi e i passaggi di processo con query.

Quando si crea un passaggio di processo con un comando di Analysis Services, è necessario eseguire le operazioni seguenti:

  • Identificare il server OLAP di database in cui eseguire il passaggio di processo.

  • Digitare l'istruzione da eseguire.È necessario che l'istruzione sia un file XML per il metodo Execute di Analysis Services .L'istruzione non può includere un elemento Envelope SOAP completo o un file XML per il metodo Discover di Analysis Services.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.

Quando si crea un passaggio di processo con una query di Analysis Services, è necessario eseguire le operazioni seguenti:

  • Identificare il server OLAP di database in cui eseguire il passaggio di processo.

  • Digitare l'istruzione da eseguire.L'istruzione deve essere una query MDX.

Per ulteriori informazioni su MDX, vedere Nozioni fondamentali sulle query MDX (Analysis Services).

Quando si crea un passaggio di processo con un pacchetto di Integration Services, è necessario eseguire le operazioni seguenti:

  • Identificare l'origine del pacchetto.

  • Identificare la posizione del pacchetto.

  • Se per il pacchetto sono necessari file di configurazione, identificare i file di configurazione.

  • Se per il pacchetto sono necessari file di comando, identificare i file di comando.

  • Identificare la verifica da utilizzare per il pacchetto.È possibile, ad esempio, specificare che il pacchetto deve essere firmato o deve disporre di un ID pacchetto specifico.

  • Identificare le origini dei dati per il pacchetto.

  • Identificare i provider di log per il pacchetto.

  • Specificare le variabili e i valori da impostare prima di eseguire il pacchetto.

  • Identificare le opzioni di esecuzione.

  • Aggiungere o modificare le opzioni della riga di comando.

Se il pacchetto è stato distribuito a Catalogo SSIS e si specifica Catalogo SSIS come origine del pacchetto, molte di queste informazioni di configurazione vengono ottenute automaticamente dal pacchetto.Nella scheda Configurazione è possibile specificare l'ambiente, i valori dei parametri, i valori della gestione connessione, gli override delle proprietà e se il pacchetto è in esecuzione in un ambiente di runtime a 32 bit.

Per ulteriori informazioni sulla creazione di passaggi di processo eseguiti come pacchetti Integration Services, vedere Processi di SQL Server Agent per i pacchetti.

Descrizione

Argomento

Viene descritto come creare un passaggio di processo con un programma eseguibile.

Creare un passaggio di processo CmdExec

Viene descritto come reimpostare le autorizzazioni di SQL Server Agent.

Configurare un utente per la creazione e la gestione di processi di SQL Server Agent

Viene descritto come creare un passaggio di processo di Transact-SQL Agent.

Creare un passaggio di processo Transact-SQL

Viene descritto come definire le opzioni per i passaggi di processo Transact-SQL di Microsoft SQL Server Agent.

Definire le opzioni del passaggio di processo Transact-SQL

Viene descritto come creare un passaggio di processo dello script ActiveX.

Creare un passaggio di processo con script ActiveX

Viene descritto come creare e definire passaggi di processo di SQL Server Agent tramite cui vengono eseguiti comandi e query di SQL Server Analysis Services.

Creare un passaggio di processo di Analysis Services

Viene descritta quale azione di SQL Server occorre eseguire se si verifica un errore durante l'esecuzione del processo.

Impostare il flusso di interventi in caso di esito positivo o negativo del passaggio di processo

Viene descritto come visualizzare informazioni dettagliate sui passaggi di processo nella finestra di dialogo Proprietà passaggio processo.

Visualizzare informazioni sui passaggi di processo

Viene descritto come eliminare un log dei passaggi di processo di SQL Server Agent.

Eliminare il log di un passaggio di processo

Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2015 Microsoft