none
sql management nouvelle requete et choix bdd RRS feed

  • Question

  • Bonjour,

    lors de la connection a certains serveurs sql, si je clique nouvelle requete sur une des bases de données, il m'ouvre automatiquement la fentre sur la base master.

    j'utilise sql management studio 2008 r2 et ca arrive aussi bien sur des serveurs 2005 que 2008 ou 2008 r2

    est ce que quelq'un sait d'ou vient le probleme, le serveur est mal configure ? une option dans sql managment ?

    merci

    mardi 3 décembre 2013 09:34

Réponses

  • La raison ne vient pas d'une configuration serveur, mais d'une configuration du login avec lequel vous êtes connecté.

    Je m'explique, lors de la création d'un login, le champs "Default database" correspond à la base de donnée sur lequel le login se connecte à chaque nouvelle connexion, par défaut la valeur de ce champs est master. Ce champs correspond au paramètre "DEFAULT_DATABASE" de l'opération CREATE LOGIN.

    Il est possible de lister la base par défaut de chacun des login via la requête suivante :

    SELECT sp.name AS LoginName, db.name AS Default_DB_name
    FROM sys.server_principals sp
    INNER JOIN sys.databases db
    	ON sp.default_database_name = db.name 
    

    Une remarque importante lors d'opération de mise en offline d'une base de donnée :

    il faut vérifier que celle-ci n'est pas la base par défaut d'un login, si c'est le cas et que la base passe en offline le login ne pourra plus se connecter sans changement de sa configuration.

    • Proposé comme réponse Grégory_Nail mardi 3 décembre 2013 13:42
    • Marqué comme réponse DouPs mardi 3 décembre 2013 14:31
    mardi 3 décembre 2013 13:42

Toutes les réponses

  • Ce n'est pas un problème, c'est la base Master qui est prise par défaut.

    Les requêtes suivantes seront sur la nouvelle base choisie auparavant.

    • Proposé comme réponse Romain_G mardi 3 décembre 2013 13:37
    • Non proposé comme réponse Romain_G mardi 3 décembre 2013 13:37
    mardi 3 décembre 2013 13:28
  • La raison ne vient pas d'une configuration serveur, mais d'une configuration du login avec lequel vous êtes connecté.

    Je m'explique, lors de la création d'un login, le champs "Default database" correspond à la base de donnée sur lequel le login se connecte à chaque nouvelle connexion, par défaut la valeur de ce champs est master. Ce champs correspond au paramètre "DEFAULT_DATABASE" de l'opération CREATE LOGIN.

    Il est possible de lister la base par défaut de chacun des login via la requête suivante :

    SELECT sp.name AS LoginName, db.name AS Default_DB_name
    FROM sys.server_principals sp
    INNER JOIN sys.databases db
    	ON sp.default_database_name = db.name 
    

    Une remarque importante lors d'opération de mise en offline d'une base de donnée :

    il faut vérifier que celle-ci n'est pas la base par défaut d'un login, si c'est le cas et que la base passe en offline le login ne pourra plus se connecter sans changement de sa configuration.

    • Proposé comme réponse Grégory_Nail mardi 3 décembre 2013 13:42
    • Marqué comme réponse DouPs mardi 3 décembre 2013 14:31
    mardi 3 décembre 2013 13:42
  • merci, c'etait simplement ca, j'ai change la base par defaut dans le user et ca fonctionne
    mardi 3 décembre 2013 14:32