382 votes

Connectez un utilisateur Windows différent dans SQL Server Management Studio (2005 ou ultérieur)

Existe-t-il un moyen dans SQL Server Management Studio 2005 (ou ultérieur) de changer l'utilisateur d'authentification Windows (comme c'était le cas dans SQL Server 2000 et les versions antérieures) ?

Voici la boîte de dialogue des propriétés de connexion générales (notez le UID/PWD grisé lors de la sélection de l'authentification Windows) :

dialogue

Remarque - Une solution de contournement consiste à utiliser runas mais je recherche une solution qui me permettra de travailler avec plusieurs comptes Windows sur plusieurs serveurs (et sur plusieurs domaines).

2 votes

Tel que je le sais, Exécuter en tant qu'administrateur est le seul moyen d'y parvenir. Pourquoi ne pas utiliser Exécuter en tant qu'administrateur et simplement démarrer une session différente de studio de gestion pour chaque utilisateur?

4 votes

RunAs ne fonctionne que si vous êtes dans le même domaine et/ou la même forêt. Si vous êtes consultant, vous n'êtes jamais dans le même domaine et/ou la même forêt, donc ce serait une caractéristique intéressante à avoir.

0 votes

Je peux te sentir, Éric. Parfois j'utilise des VM avec des clients afin que la machine virtuelle puisse faire partie du domaine/forêt du client et me permettre de travailler un peu plus facilement, mais si tu travailles activement avec plusieurs domaines, cela peut être fastidieux.

466voto

SqlRyan Points 14999

Alors qu'il n'y a pas de moyen de se connecter à plusieurs serveurs en tant qu'utilisateurs différents dans une seule instance de SSMS, ce que vous cherchez est la syntaxe suivante RUNAS :

runas /netonly /user:domain\username program.exe

Lorsque vous utilisez l'interrupteur /netonly, vous pouvez vous connecter en utilisant des informations d'identification à distance sur un domaine dont vous n'êtes pas actuellement membre, même s'il n'y a pas de relation de confiance établie. Cela indique simplement à runas que les informations d'identification seront utilisées pour accéder à des ressources à distance - l'application interagit avec l'ordinateur local en tant qu'utilisateur actuellement connecté, et interagit avec les ordinateurs distants en tant que l'utilisateur dont vous avez donné les informations d'identification.

Vous devriez toujours exécuter plusieurs instances de SSMS, mais au moins vous pourriez vous connecter en tant qu'utilisateurs différents dans chacune d'elles.


Par exemple : `runas /netonly /user:domain\username ssms.exe`

32 votes

Si vous souhaitez le même domaine mais un utilisateur différent, supprimez l'option /netonly.

5 votes

La chose à propos de l'interrupteur netonly est absolument géniale. Tellement de scénarios où j'avais besoin de celui-ci. Merci.

9 votes

+1 pour la manière la plus pratique de le faire actuellement. C'est toujours extrêmement pénible que MS ne puisse pas simplement intégrer une boîte de dialogue de connexion de type MSTSC / bureau à distance dans SSMS et la configurer par connexion.

191voto

Suresh Points 741

Maintenez la touche shift enfoncée et faites un clic droit sur l'icône de SQL Server Management Studio. Vous pouvez exécuter en tant qu'utilisateur d'un autre compte Windows.

38 votes

Malheureusement, cela ne fonctionne pas lorsque le compte est sur un autre domaine/réseau -- il renvoie un nom d'utilisateur/mot de passe invalide. La commande ci-dessus fonctionne indépendamment du compte se trouvant sur un autre réseau.

1 votes

Cela a fonctionné pour moi! Dans mon cas, j'ai deux comptes sous le même domaine.

0 votes

Fonctionne sous Windows 10.

141voto

Une autre façon que j'ai découverte est d'aller à "Démarrer" > "Panneau de configuration" > "Noms d'utilisateur et mots de passe enregistrés" (Outils d'administration > Gestionnaire d'identification dans Windows 7) et d'ajouter le compte de domaine que vous utiliseriez avec la commande "runas". Dans Windows 7 et plus, assurez-vous de l'ajouter sous "Informations d'identification Windows".

Ensuite, dans SQL Management Studio 2005, il vous suffit de sélectionner "Authentification Windows" et de saisir le serveur auquel vous souhaitez vous connecter (même si l'utilisateur que vous pouvez voir en gris est toujours l'utilisateur local)... et ça marche !

Ne me demandez pas pourquoi ! :)

Éditer : Assurez-vous d'inclure ":1433" après le nom du serveur dans le Gestionnaire d'identification sinon la connexion risque de ne pas se faire à cause de la non-trust du domaine.

23voto

Dave Points 438

Aucune de ces réponses n'a fait ce dont j'avais besoin : Se connecter à un serveur distant en utilisant un compte de domaine différent de celui sur lequel j'étais connecté sur ma machine locale, et c'est le domaine d'un client à travers un VPN. Je ne veux pas être sur leur domaine!

À la place, sur la boîte de dialogue de connexion au serveur, sélectionnez "Authentification Windows", cliquez sur le bouton Options, puis sur l'onglet Paramètres de connexion supplémentaires, entrez

user id=domain\user;password=password

SSMS ne se souviendra pas, mais il se connectera avec ce compte.

14voto

Ricardo Mercado Points 139

La commande runas /netonly /user:domain\username program.exe n'a fonctionné que pour moi sur Windows 10

  • en l'enregistrant en tant que fichier batch
  • en l'exécutant en tant qu'administrateur,

Lorsque j'ai exécuté le fichier batch en tant qu'utilisateur régulier, j'ai rencontré le problème du mot de passe incorrect mentionné par certains utilisateurs dans les commentaires précédents.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X