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 :

Execution de script à une heure precise


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Points : 48
    Points
    48
    Par défaut Execution de script à une heure precise
    Bonjour

    Je voudrais exécuter un script sql avec insert, update, delete à une heure précise comment je peux faire cela?

    merci

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour

    Vous pouvez planifier un job, avec vos requêtes.

    A moins que vous ne soyez en version express, donc pas de SQL Agent, et donc pas la possibilité de planifier des jobs ?

    Dans ce cas, vous pouvez créer une tache planifiée sous Windows qui lance les requêtes avec sqlcmd.

    Une dernière alternative serait l'utilisation de WAITFOR

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Points : 48
    Points
    48
    Par défaut
    J'ai essayer de cree un job clique droit sur sql agent j'ai configurer un step et un schedule mais je pense que dans la configuration de step>command il faut mettre quelque chose qui va executer le script mais je ne sais pas quoi.

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Citation Envoyé par france38 Voir le message
    je pense que dans la configuration de step>command il faut mettre quelque chose
    En effet !

    mettez vos ordres insert/delete, ou un EXEC de votre SP qui les contient, bref, le code TSQL que vous voulez exécuter !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Points : 48
    Points
    48
    Par défaut
    Ben justement j'ai mit mes insert/update j'ai régler une heure mais rein ne se déclenche.

    Est-ce-que il y aurai quelque chose d'autre a faire?

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    est-ce que le service SQL Agent est bien démarré ?

  7. #7
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Ben justement j'ai mit mes insert/update j'ai régler une heure mais rein ne se déclenche.

    Est-ce-que il y aurai quelque chose d'autre a faire?
    Avez vous vérifié dans l'historique du job qu'il ne s'est pas lancé? peut-être se lance t'il bien et qu'une erreur survient...

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Points : 48
    Points
    48
    Par défaut
    Oui il est bien démarrer.

    Avez vous vérifié dans l'historique du job qu'il ne s'est pas lancé? peut-être se lance t'il bien et qu'une erreur survient...
    Oui justement je viens de le lancer manuellement et il provoque une erreur, donc j'ai étais voir l'historique et il se sont bien exécuter enfaite, cela vien surement de l'insert car il se connecte a un autre serveur et je pense que c'est cela qui fonctionne pas

  9. #9
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    testez votre code "à la main" sous SSMS, puis quand tout est OK, intégrez le dans le job

    bon courage

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Points : 48
    Points
    48
    Par défaut
    Mon code fonctionne je l'utilise depuis 2 semaine.
    Je fais new Query > execute et j'ai pas d'erreur.

    06/09/2011 16:48:04,ACL_SUGARCRM,Error,0,ACL-SUGARCRM,ACL_SUGARCRM,(Job outcome),,The job failed. The Job was invoked by User sa. The last step to run was step 1 (sugarcrm).,00:00:00,0,0,,,,0
    06/09/2011 16:48:04,ACL_SUGARCRM,Error,1,ACL-SUGARCRM,ACL_SUGARCRM,sugarcrm,,Executed as user: NT AUTHORITY\SYSTEM. Incorrect syntax near 'ACL-BITNAMI'. [SQLSTATE 42000] (Error 102) Incorrect syntax near 'ACL-BITNAMI'. [SQLSTATE 42000] (Error 102). The step failed.,00:00:00,15,102,,,,0
    Voila l'erreur je me demande si cela peut pas venir du serveur liè.

    Code insert

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    INSERT INTO sugarcrm_db.dbo.contacts (id,first_name,last_name,primary_address_street,primary_address_city,primary_address_country,primary_address_postalcode,birthdate,title,date_entered,date_modified)
    SELECT MATRICULE,NOM,PRENOM,NUMERO_DANS_VOIE+ ' ' +VOIE,LOCALITE,CODE_PAYS,CODE_POSTAL,DATE_NAISSANCE,EMPLOYEUR,GETDATE(),GETDATE()
    FROM OPENQUERY("ACL-BITNAMI",'SELECT * FROM ACL_CYR.dbo.SOC_SIGNAL') AS S
    LEFT JOIN sugarcrm_db.dbo.contacts AS C ON S.MATRICULE=C.id Collate French_CI_AS
    WHERE C.id IS NULL;

  11. #11
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Je crois que les guillemets ne sont pas nécessaires sur le nom du serveur lié.

    Vous devriez pouvoir exécuter directement :

    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
    INSERT INTO sugarcrm_db.dbo.contacts
    (
    	id
    	, first_name
    	, last_name
    	, primary_address_street
    	, primary_address_city
    	, primary_address_country
    	, primary_address_postalcode
    	, birthdate
    	, title
    	, date_entered
    	, date_modified
    )
    SELECT		MATRICULE
    		, NOM
    		, PRENOM
    		, NUMERO_DANS_VOIE+ ' ' +VOIE
    		, LOCALITE
    		, CODE_PAYS
    		, CODE_POSTAL
    		, DATE_NAISSANCE
    		, EMPLOYEUR
    		, GETDATE()
    		, GETDATE()
    FROM		ACL-BITNAMI.CL_CYR.dbo.SOC_SIGNAL AS S
    LEFT JOIN	sugarcrm_db.dbo.contacts AS C
    			ON S.MATRICULE = C.id Collate French_CI_AS
    WHERE		C.id IS NULL;
    @++

  12. #12
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Déjà, vous avez des guillemets là où vous devriez avoir des apostrophes ("ACL-BITNAMI").

    Citation Envoyé par elsuket Voir le message
    Je crois que les guillemets ne sont pas nécessaires sur le nom du serveur lié.
    lol

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Points : 48
    Points
    48
    Par défaut
    Déjà, vous avez des guillemets là où vous devriez avoir des apostrophes ("ACL-BITNAMI").
    Ben alor je doit pas avoir les mêmes apostrophes car chez moi tous est soulignès en rouge quand j'en met, et la requete s'execute pas.
    Alor que avec les guillemets cela marche très bien.

    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
    INSERT INTO sugarcrm_db.dbo.contacts
    (
    	id
    	, first_name
    	, last_name
    	, primary_address_street
    	, primary_address_city
    	, primary_address_country
    	, primary_address_postalcode
    	, birthdate
    	, title
    	, date_entered
    	, date_modified
    )
    SELECT		MATRICULE
    		, NOM
    		, PRENOM
    		, NUMERO_DANS_VOIE+ ' ' +VOIE
    		, LOCALITE
    		, CODE_PAYS
    		, CODE_POSTAL
    		, DATE_NAISSANCE
    		, EMPLOYEUR
    		, GETDATE()
    		, GETDATE()
    FROM		ACL-BITNAMI.ACL_CYR.dbo.SOC_SIGNAL AS S
    LEFT JOIN	sugarcrm_db.dbo.contacts AS C
    			ON S.MATRICULE = C.id Collate French_CI_AS
    WHERE		C.id IS NULL;
    j'obtiens l'erreur

    Incorrect syntax near '-'.
    sur la ligne FROM ACL-BITNAMI.ACL_CYR.dbo.SOC_SIGNAL AS S

    a+

  14. #14
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Arf, je voulais dire square brackets (crochet en français ?).

    [ACL-BITNAMI]

  15. #15
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Sergejack Voir le message
    Déjà, vous avez des guillemets là où vous devriez avoir des apostrophes ("ACL-BITNAMI").
    Pour l'OPENQUERY, ça marche avec des guillemets aussi bien qu'avec les crochets, en tout cas, en 2005 et 2008 R2.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM OPENQUERY( "MACHINE-666\SQLEXPRESS_2008", 'SELECT @@servername AA, SERVERPROPERTY(''ProductVersion'') BB') 
     
    SELECT * FROM OPENQUERY( [MACHINE-666\SQLEXPRESS_2008], 'SELECT @@servername AA, SERVERPROPERTY(''ProductVersion'') BB')

  16. #16
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Au temps pour moi, j'ignorais que les guillemets avaient le même emploie que les crochets.

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Points : 48
    Points
    48
    Par défaut
    C'est bon ca marche il fallait bien remplacer "ACL-BITNAMI" par [ACL-BITNAMI]

    Je comprend pas pourquoi cela marche dans un cas et pas dans l'autre.

    Merci pour les reponses

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Points : 48
    Points
    48
    Par défaut
    ca marche toujours pas avec les JOB
    j'ai donc utiliser la deuxieme methode et la ca marche que avec les []

    Dans ce cas, vous pouvez créer une tache planifiée sous Windows qui lance les requêtes avec sqlcmd.

  19. #19
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par france38 Voir le message
    ca marche toujours pas avec les JOB
    j'ai donc utiliser la deuxieme methode et la ca marche que avec les []
    C'est bizarre cette histoire de crochets et de guillemets.
    Pour information, quel est votre version ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/08/2008, 15h17
  2. Executer un script à une date précise.
    Par bobchovit dans le forum VBScript
    Réponses: 2
    Dernier message: 12/11/2007, 10h56
  3. Exécuter commande a une heure précise
    Par lastrecrue dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 01/09/2006, 02h27
  4. faire tourner un script à une heure donnée
    Par nebil dans le forum Langage
    Réponses: 2
    Dernier message: 03/07/2006, 13h30
  5. Réponses: 7
    Dernier message: 01/02/2006, 19h50

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