Een taak starten
van toepassing op:SQL Server
Azure SQL Managed Instance
Belangrijk
Op Azure SQL Managed Instanceworden de meeste, maar niet alle FUNCTIES van SQL Server Agent momenteel ondersteund. Zie T-SQL-verschillen tussen Azure SQL Managed Instance en SQL Server voor meer informatie.
In dit artikel wordt beschreven hoe u een Microsoft SQL Server Agent-taak in SQL Server uitvoert met behulp van SQL Server Management Studio, Transact-SQL of SQL Server-beheerobjecten.
Een taak is een opgegeven reeks acties die door SQL Server Agent worden uitgevoerd. SQL Server Agent-taken kunnen worden uitgevoerd op één lokale server of op meerdere externe servers.
Voordat u begint
Veiligheid
Zie SQL Server Agent Securityimplementeren voor gedetailleerde informatie.
SQL Server Management Studio gebruiken
Maak in Objectverkenner verbinding met een exemplaar van de SQL Server Database Engine en vouw dat exemplaar vervolgens uit.
Vouw SQL Server Agent uit en vouw Jobsuit. Voer een van de volgende handelingen uit, afhankelijk van hoe u de taak wilt starten:
Als u op één server werkt of op een doelserver werkt of een lokale servertaak uitvoert op een hoofdserver, klikt u met de rechtermuisknop op de taak die u wilt starten en selecteert u vervolgens Taak starten.
Als u meerdere taken wilt starten, klikt u met de rechtermuisknop op taakactiviteitcontroleen selecteert u Taakactiviteit weergeven. In de taakactiviteitcontrole kunt u meerdere taken selecteren, met de rechtermuisknop op uw selectie klikken en Taken startenselecteren.
Als u op een hoofdserver werkt en alle doelservers tegelijkertijd de taak moeten uitvoeren, klikt u met de rechtermuisknop op de taak die u wilt starten, selecteert u Taak startenen selecteert u vervolgens Starten op alle doelservers.
Als u op een hoofdserver werkt en doelservers voor de taak wilt opgeven, klikt u met de rechtermuisknop op de taak die u wilt starten, selecteert u Taak startenen selecteert u vervolgens Beginnen op specifieke doelservers. Schakel in het dialoogvenster Instructies voor downloaden het selectievakje Deze doelservers in en selecteer vervolgens elke doelserver waarop deze taak moet worden uitgevoerd.
Gebruik Transact-SQL
Maak in Objectverkennerverbinding met een exemplaar van Database Engine.
Selecteer op de standaardbalk Nieuwe query.
Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren.
-- starts a job named Weekly Sales Data Backup. USE msdb ; GO EXEC dbo.sp_start_job N'Weekly Sales Data Backup' ; GO
Zie sp_start_job (Transact-SQL)voor meer informatie.
Programmeertalen gebruiken
Roep de Start methode van de -klasse Job aan met behulp van een programmeertaal die u kiest, zoals Visual Basic, Visual C# of SQL PowerShell.
SQL PowerShell
Hier volgt een PowerShell-script dat kan worden gebruikt in SQL Server Agent met parameters. Dit script laat zien hoe u een SQL Server Agent-taak start met behulp van parameters die zijn doorgegeven aan het 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'."
}
Het script gebruiken in SQL Server Agent.
Open SQL Server Management Studio (SSMS).
Maak verbinding met het juiste SQL Server-exemplaar.
Vouw het SQL Server Agent-knooppunt uit.
Klik met de rechtermuisknop op Jobs en selecteer Nieuwe taak.
Voer in het dialoogvenster Nieuwe taak de naam van de taak en andere vereiste gegevens in.
Ga naar de pagina Stappen en selecteer Nieuw om een nieuwe taakstap te maken.
In het dialoogvenster Nieuwe taakstap:
Stel het type in op PowerShell.
Voer in het veld Opdracht het PowerShell-script in, samen met de parameters, bijvoorbeeld:
.\YourScript.ps1 -ServerInstance "YourServerInstance" -JobName "YourJobName"
Stel desgewenst andere taakeigenschappen in (planningen, waarschuwingen, meldingen, enzovoort).
Selecteer OK om de taak op te slaan.
Uitleg van het script
- Parameters: Het script accepteert twee parameters, $ServerInstance en $JobName, die respectievelijk het SQL Server-exemplaar en de taaknaam zijn.
- SMO laden: de cmdlet Add-Type wordt gebruikt om de SMO-assembly (SQL Server Management Objects) te laden.
- Serverobject: Er wordt een nieuw serverobject gemaakt met behulp van de parameter $ServerInstance.
- Taak ophalen: Het script haalt de opgegeven taak op met behulp van de parameter $JobName.
- Taak starten: als de taak wordt gevonden, wordt deze gestart met de startmethode. Het script voert een bericht uit dat het is gelukt. Als de taak niet wordt gevonden, wordt er een foutbericht weergegeven.
Zie SMO-(SQL Server Management Objects) voor meer informatie.
Verwante inhoud
- een opdracht maken
- SQL PowerShell-installeren