IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

sql server:creation de job


Sujet :

Développement SQL Server

  1. #1
    Membre très actif
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Par défaut sql server:creation de job
    bonsoir à tous,

    comment on crée un job sous sql server?

    merci à tous

  2. #2
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonsoir,

    Soit par la console de management,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sous SQL Server Agent > Dossier job > clic droit et new job
    ou par le code :

    ++

  3. #3
    Membre très actif
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Par défaut
    bnjour,

    sp_add_job [@job_name =] 'job_name'
    [,[@enabled =] enabled]
    [,[@description =] 'description']
    [,[@start_step_id =] step_id]
    [,[@category_name =] 'category']
    [,[@category_id =] category_id]
    [,[@owner_login_name =] 'login']
    [,[@notify_level_eventlog =] eventlog_level]
    [,[@notify_level_email =] email_level]
    [,[@notify_level_netsend =] netsend_level]
    [,[@notify_level_page =] page_level]
    [,[@notify_email_operator_name =] 'email_name']
    [,[@notify_netsend_operator_name =] 'netsend_name']
    [,[@notify_page_operator_name =] 'page_name']
    [,[@delete_level =] delete_level]
    [,[@job_id =] job_id OUTPUT]


    mais je vois pas le parametre qui indique le contenu de la tache et à quelle heure se declenche cette tache?

    merci d'avance

  4. #4
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Les étapes pour créer un job pour vos besoins :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    -- Création du job 
    sp_add_job ... 
     
    -- Création et ajout du contenu des étapes au job
    sp_add_jobstep .....
     
    -- Planification du job
    sp_add_jobschedule ....
    Vous pouvez paramétrer d'autres options. Je vous invite à regarder la documentation sqlserver ou msdn

  5. #5
    Membre très actif
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Par défaut
    bonjour,

    j'ai essayé de faire un job qui consiste à demarrer un service,
    j'ai le message suivant:"Le travail 'myTestJob1' a démarré avec succès."
    mais le service n'a pas eté demarré.
    voici mon code de job
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    EXEC sp_add_job @job_name = 'myTestJob1',
        @enabled = 1,
        @description = 'myTestJob1',
        @owner_login_name = 'sa',
        @notify_level_eventlog = 2,
        @notify_level_email = 0,
        @notify_level_netsend =0,
        @notify_level_page = 0
     
    EXEC sp_add_jobstep
        @job_name = N'myTestJob1',
        @step_name = N'Activer service leger1',
       @step_id=1,
        @subsystem = N'TSQL',
        @command = N'exec DemarrerServiceThin', 
        @retry_attempts = 5,
        @retry_interval = 1 
     
    EXEC sp_add_jobschedule @job_name = 'myTestJob1', 
        @name = 'ScheduledDemarre1',
        @freq_type = 4, -- daily
       @freq_interval = 1,
       @active_start_time = '153800'
     
    EXEC sp_add_jobserver @job_name = 'myTestJob1', 
    	@server_name = N'standard'
    EXEC sp_start_job @job_name = 'myTestJob1'
    si kelk1 peut m'aider..c tres urgent

  6. #6
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    - Avez vous consulté l'historique de votre job ?

    - En exécutant votre code directement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec DemarrerServiceThin
    est ce que votre service démarre ?

    Quel est vote code SQL pour démarrer votre service ?

    ++

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 001
    Billets dans le blog
    6
    Par défaut
    @subsystem = N'TSQL',
    @command = N'exec DemarrerServiceThin',
    Normal, vous indiquez que vous allez utiliser du code Transact SQL et vous lancez une commande OS !

    Soyez cohérent !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Membre très actif
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Par défaut
    bonjour,

    Normal, vous indiquez que vous allez utiliser du code Transact SQL et vous lancez une commande OS !
    Soyez cohérent !
    mais j'ai executé la commande dos dans le code t_sql à l'aide ce la commnde xp_cmdshell
    et parsuite c'est logic d'utiliser
    @subsystem = N'TSQL',
    @command = N'q_cbs_p_testThin',
    j'ai executé mon job de cette façon:
    -creer procedure q_cbs_p_testThin
    -EXEC sp_add_job
    -EXEC sp_add_jobstep
    -EXEC sp_add_jobschedule
    -sp_add_jobserver
    -sp_start_job
    mais j'ai aucun résultat malgré que si j'execute la procedure sans job ...j'aurai mon resultat.
    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    alter procedure q_cbs_p_testThin
    as
    begin	
    	declare @cmd varchar(500)
    	set @cmd = 'COPY C:\abcde.sql C:\haykel ';
    	Exec master.dbo.xp_cmdshell @cmd	
    end
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
     
    use msdb
    	EXEC sp_add_job @job_name = N'myTest',
    		@enabled = 1,
    		@description = 'myTest',
    		@owner_login_name = N'sa',
    		@notify_level_eventlog = 2
     
    	EXEC sp_add_jobstep
    		@job_name = N'myTest',
    		@step_name = N'Activer copie',
    		@step_id=1,
    		@subsystem = N'TSQL',
    		@command = N'q_cbs_p_testThin', 
    		@retry_attempts = 5,
    		@retry_interval = 1,
    		@on_success_action = 2,
            @on_fail_action= 2
     
    	EXEC sp_add_jobschedule
        	@job_name = 'myTest', 
    		@name = 'myTest',
    		@freq_type = 4, -- daily
    		@freq_interval = 1,
    		@active_start_date = 20081225,
    		@active_start_time = 100800, 
    		@freq_subday_type=4, 
    		@freq_subday_interval=1
     
    	EXEC sp_add_jobserver @job_name = 'myTest', @server_name = N'standard\base_instance'
    	EXEC sp_start_job @job_name = 'myTest'
    Merci d'avance..c trés urgent..je me suis bloqué

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 001
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET @cmd = 'COPY "C:\abcde.sql" "C:\haykel\"';
    serait mieux !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  10. #10
    Membre très actif
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Par défaut
    bonjour,

    quand j'execute la requette :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT next_run_date,next_run_time 
    FROM
    	dbo.sysjobs
    INNER JOIN dbo.sysjobschedules
    	ON dbo.sysjobs.job_id = dbo.sysjobschedules.job_id
    WHERE name = 'myTest3'
    jobtient comme résultat:
    next_run_date = 0 et next_run_time = 0

    malgré que j 'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @active_start_date = 20081225, 
    @active_start_time = 124800
    j'ai pas compris de kel zero il parle..si minuit ...alors ma date ou est elle rejettée....

    merci d'avance

  11. #11
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonjour,

    -1-

    Vous n'avez pas préciser la base de données dans laquelle vous avez créer votre procédure stockée. Si vous ne précisez pas , par défaut il prend la base de données "master".
    Modifier également le paramètre @on_success_action à 1 (La valeur 2 signifiant "sortir avec une erreur")


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    EXEC sp_add_jobstep
    		@job_name = N'myTest',
    		@step_name = N'Activer copie',
    		@step_id=1,
    		@subsystem = N'TSQL',
                             @database_name = N'<nomBase>',
    		@command = N'q_cbs_p_testThin', 
    		@retry_attempts = 5,
    		@retry_interval = 1,
    		@on_success_action = 1, 
            @on_fail_action= 2
    Est ce qu'avec ces modifs votre job fonctionne mieux ?


    -2-

    quand j'execute la requette :

    Code :

    SELECT next_run_date,next_run_time
    FROM
    dbo.sysjobs
    INNER JOIN dbo.sysjobschedules
    ON dbo.sysjobs.job_id = dbo.sysjobschedules.job_id
    WHERE name = 'myTest3'

    jobtient comme résultat:
    next_run_date = 0 et next_run_time = 0
    Essayez ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    USE msdb
    GO
     
    SELECT jobs.name,
               activity.last_executed_step_date,
               activity.next_scheduled_run_date
    FROM    dbo.sysjobs jobs
               INNER JOIN dbo.sysjobactivity activity
                       ON jobs.job_id = activity.job_id

  12. #12
    Membre très actif
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Par défaut
    Bonjour à tous,

    Merci beaucoup MikeDavem.....il faut preciser le nom de la base...le problème est résolu.

Discussions similaires

  1. [2008R2] sql server agent failed job
    Par scazikiss dans le forum Administration
    Réponses: 9
    Dernier message: 09/08/2013, 15h53
  2. sql server:creation backup d'une base de donnée
    Par yucf_miagiste dans le forum Administration
    Réponses: 3
    Dernier message: 25/09/2007, 15h41
  3. problem SQL server Agent et job package SSIS
    Par housni dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/08/2007, 11h11
  4. Creation de Requete Croisée sous SQL Server 2K
    Par Fabby69 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/08/2005, 17h14
  5. probleme avec creation requete sql server
    Par Firas_tn dans le forum MS SQL Server
    Réponses: 19
    Dernier message: 15/04/2005, 12h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo