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 :

Job SQL - Utilisateurs


Sujet :

Développement SQL Server

  1. #1
    Membre habitué Avatar de crashyear
    Homme Profil pro
    Responsable d’exploitation informatique
    Inscrit en
    Janvier 2006
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Responsable d’exploitation informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 267
    Points : 176
    Points
    176
    Par défaut Job SQL - Utilisateurs
    Bonjour,

    Je souhaiterais retrouver dans la première étape de mon job SQL l'utilisateur qui a appelé le job (je précise bien "UTILISATEUR QUI APPEL LE JOB").
    J'ai essayé les fonctions
    - SUSER_NAME()
    - NT_CLIENT()
    Mais ces 2 fonctions me retournent l'utilisateur qui exécute le job.
    Dans l'historique de mon job j'ai :
    - Le travail a été appelé par Utilisateur DOMAINE\MonUser. La dernière étape exécutée est l'étape 1
    - Exécuté en tant qu'utilisateur*: DOMAINE\SQL_Agent_Dev. L'étape a réussi.
    Ce que je voudrais récupérer dans la première étape de mon Job c'est bien DOMAINE\MonUser et via les 2 fonctions précédentes je récupère DOMAINE\SQL_Agent_Dev, connaissez-vous un moyen d'avoir l'utilisateur qui appel le job SQL, svp ?
    -> N'oubliez pas de mettre résolu
    http://collinalexis.free.fr

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    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 : 21 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    C'est dans les tables de métadonnées de msdb....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select p.name
    from   msdb.dbo.sysjobs AS j
           INNER JOIN sys.server_principals AS p
                 ON j.owner_sid = p.sid
    A +

    Citation Envoyé par crashyear Voir le message
    Bonjour,

    Je souhaiterais retrouver dans la première étape de mon job SQL l'utilisateur qui a appelé le job (je précise bien "UTILISATEUR QUI APPEL LE JOB").
    J'ai essayé les fonctions
    - SUSER_NAME()
    - NT_CLIENT()
    Mais ces 2 fonctions me retournent l'utilisateur qui exécute le job.
    Dans l'historique de mon job j'ai :
    - Le travail a été appelé par Utilisateur DOMAINE\MonUser. La dernière étape exécutée est l'étape 1
    - Exécuté en tant qu'utilisateur*: DOMAINE\SQL_Agent_Dev. L'étape a réussi.
    Ce que je voudrais récupérer dans la première étape de mon Job c'est bien DOMAINE\MonUser et via les 2 fonctions précédentes je récupère DOMAINE\SQL_Agent_Dev, connaissez-vous un moyen d'avoir l'utilisateur qui appel le job SQL, svp ?
    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/ * * * * *

  3. #3
    Membre habitué Avatar de crashyear
    Homme Profil pro
    Responsable d’exploitation informatique
    Inscrit en
    Janvier 2006
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Responsable d’exploitation informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 267
    Points : 176
    Points
    176
    Par défaut
    Merci pour votre réponse.

    Mais le "owner_sid" c'est le propriétaire du job et pas forcement celui qui appel le job.

    Dans la table dbo.sysjobhistory de la msdb on retrouve ce message pour mon job :
    - Exécuté en tant qu''utilisateur*: DOMAINE\SQL_Agent_Dev. L'étape a réussi.
    - Le travail a réussi. Le travail a été appelé par Utilisateur DOMAINE\MonUser. La dernière étape exécutée est l'étape 1.
    Comment SQL SERVER fait pour récupérer l'information DOMAINE\MonUser et l'écrire dans la colonne "message" de cette table sysjobhistory ?
    Doit bien y avoir une fonction que je pourrais réutiliser dans un step de mon job pour récupérer cette valeur DOMAINE\MonUser et en faire ce que je veux non ?
    -> N'oubliez pas de mettre résolu
    http://collinalexis.free.fr

Discussions similaires

  1. Back up des jobs SQL
    Par Maroxye dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 31/01/2008, 15h02
  2. job SQL Server avec parametres
    Par Knightrider76 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/06/2007, 13h13
  3. probleme job sql
    Par bibi_forever dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 30/05/2007, 11h04
  4. [job] SQL Server 2005 , C#
    Par baptistehk dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/12/2006, 18h04
  5. Transferts de jobs SQL
    Par usf70 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 07/11/2006, 16h00

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