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

Administration SQL Server Discussion :

Interdire le shrink à un utilisateur


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Interdire le shrink à un utilisateur
    Hello.
    Je cherche un moyen simple d'interdire le shrink qui est lancé quotidiennement par voie applicative en même temps que des sauvegardes.
    L'application utilise un utilisateur local qui a bien « évidemment » les droits sysadmin sur l'instance.
    Je ne voudrais pas trop jouer avec les rôles parce que je ne connais pas l'étendue réelle de cet utilisateur et je ne veux pas créer de problème sur l'application qui est en prod et tourne sans problème.
    Bref, je cherche une solution de fainéant, clef en main et sans problème qui prépare même le café
    Est-ce que l'on pourrait gérer ça par un déclencheur ou un droit très spécifique ?
    L'instance est une version 2008R2 Express.
    Merci de vos contributions.

  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
    22 010
    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 010
    Billets dans le blog
    6
    Par défaut
    ça n'est pas possible sans passer par une gestion des privilèges.

    Un déclencheur peut intercepter un SHRINK après exécution, mais comme il ne s'agit pas d'une commande logique, mais physique, il n'est pas possible d'en annuler l'exécution.

    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/ * * * * *

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    ça n'est pas possible sans passer par une gestion des privilèges.
    Merci, même si ce n'est pas ce que je voulais lire
    As-tu une idée du privilège à retirer qui comprend le shrink ?

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 010
    Billets dans le blog
    6
    Par défaut
    ça n'est pas possible par ce biais. En effet tant que vos utilisateurs sont sysadmin ils peuvent rétablir tous les privilèges. Les enlever n'a donc aucun effet !

    Il faut créer des utilisateurs qui n'ont pas de droit de vie ou de mort sur le serveur et gérer finement les privilèges. Il n'y a AUCUNE autre alternative !

    Vous pouvez cependant conserver l'utilisateur sa si c'est par ce biais que les applications se connectent.

    Il suffit de passer par exemple le script suivant :

    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
    33
    34
    35
    ----------------------------------------
    ---> SE CONNECTER AVEC sa :
    ----------------------------------------
    -- création d'un utilisateur super admin
    CREATE LOGIN SUPER_ADMIN WITH PASSWORD = '{#~[€fds128/';
    GO
    ALTER SERVER ROLE sysadmin ADD MEMBER SUPER_ADMIN;
    GO
     
    ----------------------------------------
    ---> SE CONNECTER AVEC SUPER_ADMIN : 
    ----------------------------------------
     
    -- retrait du role sysadmin à SA
    ALTER SERVER ROLE sysadmin DROP MEMBER sa;
     
    -- ajout du rôle de serveur vrasemblement nécessaire à SA 
    ALTER SERVER ROLE [bulkadmin] ADD MEMBER sa;
     
    ----------------------------------------
    ---> passer dans la base de production
    ----------------------------------------
    -- créer le nouvel utilisateur SQL lié à sa (ce ne sera plus dbo)
    CREATE USER usa FROM LOGIN sa;
    -- lui donner les privilèges adéquats :
    GRANT BACKUP DATABASE,
          BACKUP LOG,
          SELECT,
          INSERT,
          UPDATE,
          DELETE,
          REFERENCES,
          EXECUTE,
          VIEW DATABASE STATE,
          VIEW DEFINITION TO usa;
    À bien, bien, bien tester !!!!!


    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/ * * * * *

Discussions similaires

  1. interdire toute action à l'utilisateur
    Par NikoBe dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 13/11/2006, 09h31
  2. Interdire Internet à utilisateur sans débrancher le fil
    Par KimChen dans le forum Sécurité
    Réponses: 5
    Dernier message: 22/06/2006, 05h52
  3. [RegEx] Quels caractères interdire pour les logins utilisateurs ?
    Par Death83 dans le forum Langage
    Réponses: 24
    Dernier message: 15/05/2006, 21h45
  4. Réponses: 1
    Dernier message: 14/09/2005, 11h22
  5. Réponses: 5
    Dernier message: 22/05/2005, 22h28

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