Avviare un processo

Si applica a: SQL Server Istanza gestita di SQL di Azure

Importante

In Istanza gestita di SQL di Azure sono attualmente supportate la maggior parte delle funzionalità di SQL Server Agent, ma non tutte. Per informazioni dettagliate, vedere Differenze T-SQL tra Istanza gestita di SQL di Azure e SQL Server.

Questo articolo descrive come avviare l'esecuzione di un processo di Microsoft SQL Server Agent in SQL Server usando SQL Server Management Studio, Transact-SQL o SQL Server Management Objects.

Un processo è una serie specificata di azioni eseguite da SQL Server Agent. I processi di SQL Server Agent possono essere eseguiti in un server locale o in più server remoti.

Prima di iniziare

Sicurezza

Per informazioni dettagliate, vedere Implementazione della sicurezza di SQL Server Agent.

Usare SQL Server Management Studio

  1. In Esplora oggetti connettersi a un'istanza del motore di database di SQL Server e, successivamente, espanderla.

  2. Espandere SQL Server Agent e quindi Processi. In base alla modalità di avvio del processo desiderata, eseguire una delle seguenti operazioni:

    • Se si usa un unico server oppure un server di destinazione, oppure se si esegue un processo del server locale in un server master, fare clic con il pulsante destro del mouse sul processo da avviare e selezionare Avvia processo.

    • Se si vuole avviare più processi, fare clic con il pulsante destro del mouse su Monitoraggio attività processi e selezionare Visualizza attività processi. In Monitoraggio attività processi è possibile selezionare più processi; fare clic con il pulsante destro del mouse sui processi selezionati e selezionare Avvia processi.

    • Se si usa un server master e si vuole eseguire il processo contemporaneamente in tutti i server di destinazione, fare clic con il pulsante destro del mouse sul processo da avviare, selezionare Avvia processo e poi selezionare Avvia su tutti i server di destinazione.

    • Se si usa un server master e si vogliono specificare i server di destinazione in cui eseguire il processo, fare clic con il pulsante destro del mouse sul processo da avviare, selezionare Avvia processo e poi selezionare Avvia sui server di destinazione specificati. Nella finestra di dialogo Invia istruzioni di download selezionare la casella di controllo Solo i server di destinazione seguenti e quindi selezionare i server di destinazione in cui si desidera eseguire il processo.

Usare Transact-SQL

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard selezionare Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui.

    -- starts a job named Weekly Sales Data Backup.
    USE msdb ;
    GO
    
    EXEC dbo.sp_start_job N'Weekly Sales Data Backup' ;
    GO
    

Per altre informazioni, vedere sp_start_job (Transact-SQL).

Usare i linguaggi di programmazione

Chiamare il metodo Avvia della classe Processo tramite un linguaggio di programmazione a scelta, ad esempio Visual Basic, Visual C# o SQL PowerShell.

SQL PowerShell

Ecco uno script di PowerShell che può essere usato in SQL Server Agent con parametri. Questo script illustra come avviare un processo di SQL Server Agent usando i parametri passati nello script.

# Parameters
param(
    [string]$ServerInstance,
    [string]$JobName
)

# Load the SMO assembly
Add-Type -AssemblyName "Microsoft.SqlServer.SMO"

# Create a server object
$server = New-Object Microsoft.SqlServer.Management.Smo.Server $ServerInstance

# Get the job you want to start
$job = $server.JobServer.Jobs[$JobName]

# Start the job
if ($job) {
    $job.Start()
    Write-Output "The job '$JobName' on server '$ServerInstance' has been started successfully."
} else {
    Write-Output "The job '$JobName' was not found on server '$ServerInstance'."
}

Come usare lo script in SQL Server Agent.

  1. Apri SQL Server Management Studio (SSMS).

  2. Eseguire la connessione all'istanza di SQL Server appropriata.

  3. Espandere il nodo SQL Server Agent.

  4. Fare clic con il pulsante destro del mouse su Processi e selezionare Nuovo processo.

  5. Nella finestra di dialogo Nuovo processo immettere il nome del processo e altri dettagli obbligatori.

  6. Passare alla pagina Passaggi e selezionare Nuovo per creare un nuovo passaggio del processo.

  7. Nella finestra di dialogo Nuovo passaggio del processo:

    1. Impostare Tipo su PowerShell.

    2. Nel campo Comando immettere lo script di PowerShell insieme ai parametri, ad esempio:

      .\YourScript.ps1 -ServerInstance "YourServerInstance" -JobName "YourJobName"
      
  8. Impostare qualsiasi altra proprietà del processo come richiesto (pianificazioni, avvisi, notifiche e così via).

  9. Per salvare il processo, seleziona OK.

Spiegazione dello script

  • Parametri: lo script accetta due parametri, $ServerInstance e $JobName, rispettivamente l'istanza di SQL Server e il nome del processo.
  • Caricare SMO: il cmdlet Add-Type viene usato per caricare l'assembly SQL Server Management Objects (SMO).
  • Oggetto server: viene creato un nuovo oggetto server usando il parametro $ServerInstance.
  • Ottieni processo: lo script recupera il processo specificato usando il parametro $JobName.
  • Avvia processo: se il processo viene trovato, viene avviato usando il metodo Avvia. Lo script restituisce un messaggio di operazione riuscita. Se il processo non viene trovato, viene visualizzato un messaggio di errore.

Per altre informazioni, vedere SQL Server Management Objects (SMO).