2011-03-29 8 views

risposta

113
  1. Espandere il nodo SQL Server Agent e fare clic destro sul nodo Lavoro in SQL Server Agent e selezionare 'New Job'

  2. Nella finestra 'New Job' immettere il nome del lavoro e una descrizione della scheda 'General'.

  3. Selezionare 'Steps' sul lato sinistro della finestra e fare clic su 'New' nella parte inferiore.

  4. Nella finestra immettere un nome di passaggio e selezionare il database su cui si desidera eseguire la query.

  5. Incollare il comando T-SQL che si desidera eseguire nella finestra di comando e fare clic su 'OK'.

  6. Fare clic sul menu 'Schedule' a sinistra della finestra Nuovo lavoro e immettere le informazioni sulla pianificazione (ad esempio, ogni giorno e una volta).

  7. Click 'OK' - e che dovrebbe essere esso.

(Ci sono naturalmente altre opzioni che si possono aggiungere - ma direi che è il minimo indispensabile è necessario per ottenere un posto di lavoro impostato e programmato)

+0

come fare su sql server express? l'agente viene fornito con SQL Server Express con servizi avanzati '?' –

+4

Inutile dire che, a seconda di chi si connette come, potrebbe non essere possibile vedere il nodo SQL Server Agent del tutto ... Non tutti si collegano come sa. Ulteriori informazioni (piuttosto secche) qui. Http://msdn.microsoft.com/en-us/library/ms188283.aspx –

+0

se il nodo Agente SQL Server non è espandibile con un'etichetta "Agent XP disabilitato", eseguire questo codice sp_configure 'mostra opzioni avanzate', 1; GO RICONFIGURA; GO sp_configure 'Agent XPs', 1; GO RECONFIGURE GO spiegazione è in questo link: https://msdn.microsoft.com/en-us/library/ms178127.aspx –

0

Ecco un esempio di codice:

Exec sp_add_schedule 
    @schedule_name = N'SchedulName' 
    @freq_type = 1 
    @active_start_time = 08300 
+18

aggiungere una spiegazione del tuo codice nella tua risposta è solitamente una buona idea (anche se è evidente per te). –

+0

Questa risposta non contiene una spiegazione sufficiente. Senza una sufficiente spiegazione, i lettori non possono capire questa risposta. –

-2

se si desidera che Backup quotidiano // seguente archivio script SQL in C: \ Users \ admin \ Desktop \ DBSCRIPT \ DBBackUpSQL.sql

DECLARE @pathName NVARCHAR(512), 
@databaseName NVARCHAR(512) SET @databaseName = 'Databasename' SET @pathName = 'C:\DBBackup\DBData\DBBackUp' + Convert(varchar(8), GETDATE(), 112) + '_' + Replace((Convert(varchar(8), GETDATE(), 108)),':','-')+ '.bak' BACKUP DATABASE @databaseName TO DISK = @pathName WITH NOFORMAT, 
INIT, 
NAME = N'', 
SKIP, 
NOREWIND, 
NOUNLOAD, 
STATS = 10 
GO 

aprire l'Utilità di pianificazione

creare attività-> selezionare la scheda Triggers Selezionare New.

Bottone Seleziona Quotidiano Radio

click Ok pulsante

quindi fare clic su Action scheda selezionare Nuovo.

pulsante Carica "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" -S ADMIN-PC -i "C:\Users\admin\Desktop\DBScript\DBBackUpSQL.sql" nella casella di testo del programma/script (assicurarsi che i file Partita percorso e mettere il percorso doppio citato in start casella di ricerca> e se si trovano quindi fare clic su di esso e vedere il backup è lì o no)

- il percorso di cui sopra può essere invece 100 Scrivi 90 "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE" -S ADMIN-PC -i"C:\Users\admin\Desktop\DBScript\DBBackUpSQL.sql"

quindi fare clic su OK

lo script venga eseguito in tempo, che si seleziona sulla scheda trigger su base giornaliera base

divertiti .............

7

Per fare ciò in t-sql, è possibile utilizzare le seguenti stored procedure di sistema per pianificare un lavoro giornaliero. Questo esempio pianifica ogni giorno alle 1:00 AM. Consultare la guida di Microsoft per dettagli sulla sintassi delle singole stored procedure e intervallo valido di parametri.

DECLARE @job_name NVARCHAR(128), @description NVARCHAR(512), @owner_login_name NVARCHAR(128), @database_name NVARCHAR(128); 

SET @job_name = N'Some Title'; 
SET @description = N'Periodically do something'; 
SET @owner_login_name = N'login'; 
SET @database_name = N'Database_Name'; 

-- Delete job if it already exists: 
IF EXISTS(SELECT job_id FROM msdb.dbo.sysjobs WHERE (name = @job_name)) 
BEGIN 
    EXEC msdb.dbo.sp_delete_job 
     @job_name = @job_name; 
END 

-- Create the job: 
EXEC msdb.dbo.sp_add_job 
    @[email protected]_name, 
    @enabled=1, 
    @notify_level_eventlog=0, 
    @notify_level_email=2, 
    @notify_level_netsend=2, 
    @notify_level_page=2, 
    @delete_level=0, 
    @[email protected], 
    @category_name=N'[Uncategorized (Local)]', 
    @[email protected]_login_name; 

-- Add server: 
EXEC msdb.dbo.sp_add_jobserver @[email protected]_name; 

-- Add step to execute SQL: 
EXEC msdb.dbo.sp_add_jobstep 
    @[email protected]_name, 
    @step_name=N'Execute SQL', 
    @step_id=1, 
    @cmdexec_success_code=0, 
    @on_success_action=1, 
    @on_fail_action=2, 
    @retry_attempts=0, 
    @retry_interval=0, 
    @os_run_priority=0, 
    @subsystem=N'TSQL', 
    @command=N'EXEC my_stored_procedure; -- OR ANY SQL STATEMENT', 
    @[email protected]_name, 
    @flags=0; 

-- Update job to set start step: 
EXEC msdb.dbo.sp_update_job 
    @[email protected]_name, 
    @enabled=1, 
    @start_step_id=1, 
    @notify_level_eventlog=0, 
    @notify_level_email=2, 
    @notify_level_netsend=2, 
    @notify_level_page=2, 
    @delete_level=0, 
    @[email protected], 
    @category_name=N'[Uncategorized (Local)]', 
    @[email protected]_login_name, 
    @notify_email_operator_name=N'', 
    @notify_netsend_operator_name=N'', 
    @notify_page_operator_name=N''; 

-- Schedule job: 
EXEC msdb.dbo.sp_add_jobschedule 
    @[email protected]_name, 
    @name=N'Daily', 
    @enabled=1, 
    @freq_type=4, 
    @freq_interval=1, 
    @freq_subday_type=1, 
    @freq_subday_interval=0, 
    @freq_relative_interval=0, 
    @freq_recurrence_factor=1, 
    @active_start_date=20170101, --YYYYMMDD 
    @active_end_date=99991231, --YYYYMMDD (this represents no end date) 
    @active_start_time=010000, --HHMMSS 
    @active_end_time=235959; --HHMMSS 
12

Ho creato una GIF animata dei passaggi nella risposta accettata. Questo è da MSSQL Server 2012

Schedule SQL Job

Problemi correlati