web-dev-qa-db-fra.com

Comment modifier ma base de données par défaut dans SQL Server sans utiliser MS SQL Server Management Studio?

J'ai abandonné une base de données à partir de SQL Server. Cependant, il s'est avéré que mon identifiant était configuré pour utiliser la base de données supprimée par défaut. Je peux me connecter à SQL Server Management Studio en utilisant le bouton "Options" dans la boîte de dialogue de connexion et en sélectionnant "maître" comme base de données à laquelle se connecter. Cependant, chaque fois que j'essaie de faire quoi que ce soit dans l'objet Explorer, il essaie de se connecter à l'aide de ma base de données par défaut et échoue.

Est-ce que quelqu'un sait comment définir ma base de données par défaut sans utiliser l'objet Explorer?

159
Martin Brown

Alternative à sp_defaultdb (qui sera supprimé dans une future version de Microsoft SQL Server ) qui pourrait être ALTER LOGIN :

_ALTER LOGIN [my_user_name] WITH DEFAULT_DATABASE = [new_default_database]
_

Remarque: contrairement à la solution _sp_defaultdb_, les noms d'utilisateur et de base de données sont fournis sans guillemets. Les crochets sont nécessaires si name a des caractères spéciaux (l'exemple le plus courant est l'utilisateur de domaine qui est domain\username et ne fonctionnera pas sans crochets).

26
Marek

Ce que vous pouvez faire est de définir votre base de données par défaut à l'aide de la procédure stockée système sp_defaultdb. Connectez-vous comme vous l'avez fait puis cliquez sur le bouton Nouvelle requête. Après cela, exécutez simplement la commande sp_defaultdb comme suit:

Exec sp_defaultdb @loginame='login', @defdb='master' 
213
Martin Brown

Pour le faire à l’aide d’une interface graphique, vous devez modifier votre identifiant. L'une de ses propriétés est la base de données par défaut utilisée pour cette connexion. Vous pouvez trouver la liste des connexions sous le nœud Connexions sous le nœud Sécurité. Ensuite, sélectionnez votre nom d'utilisateur, cliquez avec le bouton droit de la souris et choisissez Propriétés. Changez la base de données par défaut et votre vie sera meilleure!

Notez que quelqu'un avec des privilèges sysadmin doit être capable de se connecter pour faire ceci ou pour exécuter la requête du message précédent.

48
Marcus Erickson

Grâce à ce post , j'ai trouvé une réponse plus facile:

  1. Ouvrez SQL Server Management Studio

  2. Aller à l'explorateur d'objets -> Sécurité -> Connexions

  3. Faites un clic droit sur le login et sélectionnez les propriétés

  4. Et dans la fenêtre des propriétés, changez la base de données par défaut et cliquez sur OK.

37
Mattijs

Si vous ne disposez pas des autorisations nécessaires pour modifier votre base de données par défaut, vous pouvez sélectionner manuellement une base de données différente en haut de vos requêtes ...

USE [SomeOtherDb]
SELECT 'I am now using a different DB'

Fonctionne tant que vous avez l'autorisation de la base de données other

13
Greg B
  1. Cliquez sur l'icône Change Connection
  2. Cliquez sur Options <<
  3. Sélectionnez la base de données de la liste déroulante Connect to database
8
Ravishankar S

Je préférerai aussi ALTER LOGIN Commande comme dans la réponse acceptée et décrite ici

Mais pour les amoureux de l'interface graphique

  1. Allez dans [INSTANT DU SERVEUR] -> Sécurité -> Connexions -> [VOTRE LOGIN]
  2. Clic droit sur [VOTRE LOGIN]
  3. Mettre à jour l'option de base de données par défaut au bas de la page

Fatigué de lire !!! il suffit de regarder à suivre

enter image description here

2
Mubashar

Si vous ne pouvez pas vous connecter à SQL Server:

sqlcmd –E -S InstanceName –d master

Référence: https://support.Microsoft.com/en-us/kb/307864

1
gmesorio

Cela peut répondre ou non à la question, mais je me suis heurté à ce problème (et à cette question) lorsque j'ai modifié mon compte pour créer une nouvelle base de données que j'avais créée comme "base de données par défaut". Ensuite, j'ai supprimé cette base de données et je voulais tester mon script de création à partir de rien. Je me suis déconnecté de SSMS et j'y revenais, mais cela a été refusé - impossible de me connecter à la base de données par défaut si l'erreur était commise D'oh!

Dans la boîte de dialogue de connexion pour SSMS, accédez à Options, Propriétés de connexion, puis tapez master dans la liste déroulante "Connexion à la base de données". Cliquez sur Connecter. Me faire entrer. À partir de là, vous pouvez exécuter la commande pour:

ALTER LOGIN [DOMAIN\useracct] WITH DEFAULT_DATABASE=[master]
GO
0
vapcguy