Meilleur auteur de réponses
sql management nouvelle requete et choix bdd

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
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
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.
-
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
-