Bonjour,
je souhaiterai savoir sous sqlserver 2008, comment je pourrais faire pour donner un accès en lecture seul aux LOGS de bases à un user déjà crée.
le faire appartenir au rôle sysadmin c trop risqué.
merci bcp .
Version imprimable
Bonjour,
je souhaiterai savoir sous sqlserver 2008, comment je pourrais faire pour donner un accès en lecture seul aux LOGS de bases à un user déjà crée.
le faire appartenir au rôle sysadmin c trop risqué.
merci bcp .
Essaye de faire un Grant exécute sur la procédure xp_readerrorlog.
Sinon tu dois pouvoir lui donner un login avec des droits View Server State ça pourrait suffire (je n'ai pas testé)
Je suppose que vous voulez parler des journaux de transaction ?
Si tel est le cas il est possible de les lire via la fonction table sys.fn_dblog(...).
Exemple : SELECT * FROM sys.fn_dblog(NULL, NULL)
ceci donnera lecture de l'intégralité du JT de la base contextuelle.
Il n'est bien entendu pas possible d'écrire dedans !
A +
Bonjour,
merci de votre réponse,
mais juste pour précision,
L'utilisateur que je viens de créer n'a pas le rôle sysadmin ( c'est le but du jeu pour ne pas avoir full access sur sqlserver ), et il est mappé sur toutes les connexions avec les rôle public et dbreader.
Donc pour résumer, je souhaiterai que la personne ait accès aux logs en lecture seuls et aussi aux bases en lectures seul.
mais qd jexecute votre ligne de commande, ça me génère ce message :
Citation:
Msg*9010, Niveau*14, État*1, Procédure*fn_dblog, Ligne*9
L'utilisateur ne dispose pas de l'autorisation appropriée pour interroger la table virtuelle DBLog. Seuls les membres du rôle serveur fixe sysadmin et du rôle de base de données fixe db_owner ont cette autorisation
merci
Quel est l'intérêt pour un utilisateur de lire le journal de transaction ?
Dans le pire des cas encapsulez cela dans une procédure stockée avec du SQL dynamique et appelez la en mode EXECUTE AS OWNER.
A +