Iniziare un lavoro
si applica a:SQL Server
Istanza gestita di SQL di Azure
Importante
In Istanza gestita di Azure SQL, sono attualmente supportate la maggior parte, ma non tutte, delle funzionalità di SQL Server Agent. 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 Implementare la sicurezza di SQL Server Agent.
Usare SQL Server Management Studio
In Esplora oggetti, connettersi a un'istanza del Motore di database di SQL Server, e quindi espandere tale istanza.
Espandere SQL Server Agent, ed espandere processi . A seconda di come vuoi che inizi il lavoro, esegui una delle seguenti operazioni:
Se si lavora su un singolo server o si lavora su un server di destinazione o si esegue un processo del server locale in un server master, fare clic con il pulsante destro del mouse sul processo da avviare e quindi selezionare Avvia processo.
Per avviare più lavori, fare clic con il pulsante destro del mouse su Monitoraggio attività lavorie quindi selezionare Visualizza attività lavoro. Nel Monitor attività di lavoro è possibile selezionare più lavori, fare clic con il pulsante destro del mouse sulla selezione e selezionare Avvia lavori.
Se si usa un server master e si vuole che tutti i server di destinazione eseguano il processo contemporaneamente, fare clic con il pulsante destro del mouse sul processo da avviare, selezionare Avvia processoe quindi selezionare Avvia in tutti i server di destinazione.
Se si usa un server master e si desidera specificare i server di destinazione per il processo, fare clic con il pulsante destro del mouse sul processo da avviare, selezionare Avvia processoe quindi selezionare Avvia in server di destinazione specifici. Nella finestra di dialogo Post Download Instructions selezionare la casella di controllo Questi server di destinazione e quindi selezionare ogni server di destinazione in cui deve essere eseguito il processo.
Usare Transact-SQL
In Esplora oggetti connettersi a un'istanza del motore di database.
Sulla barra Standard, selezionare Nuova query.
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 Lavoro usando 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.
Aprire SQL Server Management Studio (SSMS).
Connettersi all'istanza di SQL Server appropriata.
Espandere il nodo SQL Server Agent.
Fare clic con il pulsante destro del mouse su Processi e scegliere Nuovo processo.
Nella finestra di dialogo Nuovo processo immettere il nome del processo e altri dettagli obbligatori.
Passare alla pagina Passaggi e selezionare Nuovo per creare un nuovo passaggio di processo.
Nella finestra di dialogo Nuovo passaggio attività:
Impostare "Type" su PowerShell.
Nel campo Comando immettere lo script di PowerShell insieme ai parametri, ad esempio:
.\YourScript.ps1 -ServerInstance "YourServerInstance" -JobName "YourJobName"
Impostare qualsiasi altra proprietà del processo come richiesto (pianificazioni, avvisi, notifiche e così via).
Selezionare OK per salvare il processo.
Spiegazione dello script
- Parametri: lo script accetta due parametri, $ServerInstance e $JobName, rispettivamente l'istanza di SQL Server e il nome del processo.
- Carica SMO: il cmdlet Add-Type viene usato per caricare l'assembly SMO (SQL Server Management Objects).
- Oggetto server: viene creato un nuovo oggetto server usando il parametro $ServerInstance.
- Recupera processo: lo script recupera il processo specificato usando il parametro $JobName.
- Avvia processo: se il processo viene trovato, viene avviato usando il metodo Start. Lo script restituisce un messaggio di operazione riuscita. Se il lavoro non viene trovato, viene visualizzato un messaggio di errore.
Per altre informazioni, vedere SQL Server Management Objects (SMO).