Microsoft SQL Server
Geplande taak of taak
Zoeken…
Invoering
SQL Server Agent gebruikt SQL Server om taakinformatie op te slaan. Taken bevatten een of meer taakstappen. Elke stap bevat zijn eigen taak, dat wil zeggen: een back-up van een database maken. SQL Server Agent kan een taak volgens een schema uitvoeren, als reactie op een specifieke gebeurtenis of op aanvraag.
Maak een geplande taak
Maak een opdracht
Om eerst een taak toe te voegen, moeten we een opgeslagen procedure gebruiken met de naam sp_add_job
USE msdb ; GO EXEC dbo.sp_add_job @job_name = N'Weekly Job' ; -- the job name
Vervolgens moeten we een taakstap toevoegen met behulp van een opgeslagen procedure met de naam sp_add_jobStep
EXEC sp_add_jobstep @job_name = N'Weekly Job', -- Job name to add a step @step_name = N'Set database to read only', -- step name @subsystem = N'TSQL', -- Step type @command = N'ALTER DATABASE SALES SET READ_ONLY', -- Command @retry_attempts = 5, --Number of attempts @retry_interval = 5 ; -- in minutes
Target de taak op een server
EXEC dbo.sp_add_jobserver @job_name = N'Weekly Sales Data Backup', @server_name = 'MyPC\data; -- Default is LOCAL GO
Maak een planning met behulp van SQL
Om een schema te maken moeten we een systeem opgeslagen procedure gebruiken genaamd sp_add_schedule
USE msdb
GO
EXEC sp_add_schedule
@schedule_name = N'NightlyJobs' , -- specify the schedule name
@freq_type = 4, -- A value indicating when a job is to be executed (4) means Daily
@freq_interval = 1, -- The days that a job is executed and depends on the value of `freq_type`.
@active_start_time = 010000 ; -- The time on which execution of a job can begin
GO
Er zijn meer parameters die kunnen worden gebruikt met sp_add_schedule
u meer kunt lezen in de bovenstaande link.
Schema koppelen aan een JOB
Om een schema aan een SQL- agenttaak toe te voegen, moet u een opgeslagen procedure gebruiken met de naam sp_attach_schedule
-- attaches the schedule to the job BackupDatabase
EXEC sp_attach_schedule
@job_name = N'BackupDatabase', -- The job name to attach with
@schedule_name = N'NightlyJobs' ; -- The schedule name
GO
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow