Comment puis-je m'ajouter à l'authentification Windows de mon serveur SQL local?


8

IL a récemment reconfiguré mon ordinateur portable avec des fenêtres 64 bits. Il a installé Sql Server dev edition pour moi et l'a configuré avec un nom d'utilisateur et un mot de passe. Je me suis connecté et j'ai essayé de changer Sql Server en authentification Windows, j'ai redémarré le serveur SQL et maintenant il ne me permet pas de me connecter avec mon compte de domaine.

J'ai essayé de m'ajouter aux groupes SQLServerSQLAgentUser et SQLServerMSSQLUser sur mon système local, mais Sql Server continue de dire que mon compte de domaine n'est pas autorisé. Mon compte est un administrateur système local.

Comment obtenir Sql Server pour me permettre de me connecter?


Vous devez publier le message d'erreur exact.
Justin Helgerson

Le message d'erreur est simplement "Échec de la connexion pour l'utilisateur" DOMAINE \ utilisateur ""
KallDrexx

Quelle version de SQL Server utilisez-vous?
Justin Helgerson

serveur SQL 2008 R2
KallDrexx

1
J'ai demandé parce qu'avant 2008, le compte d'administrateur local était autorisé à accéder aux bases de données par défaut. Mais, ce comportement a changé en 2008 ( msdn.microsoft.com/en-us/library/cc280562.aspx ).
Justin Helgerson

Réponses:


2

Malheureusement, je pense que vous devrez soit:

  1. Demandez à votre ami informatique local et bien-aimé de se connecter à la base de données et de configurer correctement votre compte.
  2. Réinstallez SQL Server sous votre compte afin que vous soyez automatiquement accordé des autorisations de connexion.

Si vous n'avez pas accès à la base de données, vous ne pouvez pas mettre à jour la sécurité pour vous accorder des autorisations.

Pour vous connecter à votre serveur SQL (les autorisations de base de données individuelles peuvent encore être manquantes), la connexion de sécurité doit être créée avec Windows authenticationsélectionné, puis le nom du compte de domaine est le Login name.

entrez la description de l'image ici


J'ai pensé que c'était le cas. Je suis allé à l'informatique et j'ai obtenu l'utilisateur administrateur local avec lequel il a configuré le serveur SQL, réinitialisé le mot de passe sa. Je pensais que puisque j'étais administrateur local, je pouvais le configurer, mais je suppose que non. Je ne sais pas comment l'obtenir pour reconnaître mon compte de domaine pour l'authentification Windows.
KallDrexx

Vous recherchez les connexions de serveur correctes, et non les connexions de base de données? J'ai ajouté une image pour montrer où vous devez configurer la connexion au serveur.
Justin Helgerson

Ah je regardais les propriétés du serveur, pas le nouvel écran de connexion! Merci!
KallDrexx

18

Et aussi, puisque vous êtes un administrateur local.

suivez les instructions pas à pas de microsoft: http://msdn.microsoft.com/en-us/library/dd207004.aspx ou comme ci-dessous:

Arrêtez le service SQL Server.

Ouvrez une invite de commande en tant qu'administrateur et accédez au dossier binn de SQL Server (C: \ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ Binn par défaut)

démarrer SQL Server en mode mono-utilisateur à l'aide de la sortie de la console

sqlservr.exe -c -m

Ensuite, démarrez SSMS ou SQLCMD en tant qu'administrateur, connectez-vous et exécutez la requête suivante:

CRÉER UNE CONNEXION [DOMAINE \ UTILISATEUR] À PARTIR DE WINDOWS

ALLER

EXEC master..sp_addsrvrolemember @loginame = N'DOMAIN \ USER ', @rolename = N'sysadmin'

ALLER


1
La réponse de Shawn n'a pas fonctionné pour moi. Celui-ci l'a fait. +1
Antony Koch

1
Bonne réponse !
AnujKu

8

Étant donné que vous êtes un administrateur local, vous pouvez utiliser la porte dérobée vers l'instance SQL Server pour obtenir l'accès.

Téléchargez psexec.exe (PSTools de TechNet ici ).

Accédez à une invite de commande et au répertoire dans lequel vous avez extrait le fichier (psexec.exe). Exécutez la commande psexec.exe -i -s ssms.exeou psexec.exe -i -s sqlwb.exepour SQL 2005.

Cela va ouvrir SSMS en tant que compte NT AUTHORITY \ SYSTEM, qui par défaut se voit accorder des droits SYSADMIN sur l'instance. Vous devriez alors pouvoir ajouter votre identifiant à l'instance. Si cela ne fonctionne pas, il est probable que l'autorisation du compte système a été supprimée.

REMARQUE: Si vous êtes sous Vista ou Windows 7, vous devrez probablement exécuter l'invite de commande en tant qu'administrateur (cliquez avec le bouton droit sur "exécuter en tant qu'administrateur").

Deuxième remarque: cela ne fonctionnera pas sur SQL Server 2012 ou version ultérieure car le groupe d'administrateurs intégré n'est plus ajouté en tant qu'administrateur sys par défaut. L'exception à cela pourrait être si vous mangez avec une mise à niveau sur place.


2
C'est du mauvais cul! Comment personne ne vous a voté avant?! @KallDrexx, vous devez vraiment marquer cela comme la réponse.
Chris

@Chris a raison, cela fonctionne vraiment bien!
CLJ

NT AUTHORITY \ SYSTEM fonctionne bien, si vous êtes sur 2008R2 ou inférieur. L'installation par défaut en 2012 et versions ultérieures ne permet pas au compte système d'accéder au moteur de base de données.
Spörri

0

Auriez-vous dû vous assurer que votre compte Windows disposait des autorisations suffisantes pour vous connecter avant de le modifier en Windows Auth?


ouais je devrais avoir , mais je pensais que tous les administrateurs locaux auraient accès , donc je ne pensais pas.
KallDrexx
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.