Comment créer une connexion Sql Server pour un compte de domaine?

14

Tout,

J'ai Sql Server 2008 installé sur un serveur (disons Server1 ) dans un domaine (disons AD ). J'ai également un compte de domaine appelé AD \ Sql1 . Ce n'est pas un compte administrateur sur le domaine ( AD ), mais je veux que ce soit un administrateur sur le serveur1 . Et puis créez une connexion sur Sql Server pour ce compte de domaine (pas de compte local).

Comment je fais ça?

Des questions:

  1. L'utilisateur AD \ Sql1 , je le veux en tant qu'administrateur sur Server1 . Pour cela, dois-je simplement créer un compte local avec le même nom d'utilisateur (disons, Server1 \ Sql1 ) et faire du compte local un administrateur sur la machine. Ce compte local sera-t-il automatiquement mappé au compte de domaine avec le même nom? Peut-être devrais-je ajouter ici qui CREATE LOGIN [AD\Sql1] FROM WINDOWSn'a pas fonctionné pour moi. J'ai essayé et j'ai eu une erreur en disantuser does not exist in Windows (quelque chose comme ça)
  2. Maintenant, si la technique ci-dessus fonctionne. Supposons que AD \ Sql1 devient un administrateur sur Sever1 . Donc, en théorie, je n'ai pas besoin de créer une connexion Sql pour ce compte de domaine Windows sur le serveur Sql, non? Tous les administrateurs locaux qui font partie de BUILTIT \ Admins ont automatiquement un accès sysadmin à Sql Server, non?

Où est-ce que je me suis trompé? Veuillez partager toutes les URL qui pourraient mieux expliquer ce concept.

Edit: Je dois également ajouter que les questions 1 et 2 sont importantes indépendamment. Je sais comment ajouter un compte de domaine / windows en tant que sysadmin. Mais je suis intéressé par le fonctionnement du mappage entre le domaine et les comptes locaux. Mon objectif ici n'est pas de savoir comment ajouter un compte local en tant que sysadmin, je peux le faire assez rapidement. Mon intention n'est pas d'être impoli, mais d'être aussi clair que possible. Si ma question n'est toujours pas claire, veuillez me le faire savoir, afin que je puisse ajouter plus de détails.

Merci,
_UB

Edit: Grammaire

UB01
la source

Réponses:

13

Ne créez pas de compte local avec le même nom que le compte de domaine. Si vous souhaitez ajouter une connexion de domaine en tant qu'administrateur SQL, procédez comme suit:

  • créer une connexion pour le compte de domaine: create login [AD\Sql1] from windows;
  • ajoutez la connexion au groupe sysadmin: exec sp_addsrvrolemember 'AD\Sql1', 'sysadmin';

Terminé. Vous obtiendriez le même résultat si vous ajoutiez simplement le AD\Sqlcompte aux administrateurs locaux via net localgroup Administrators /add AD\Sql1(à partir d'un shell CMD) mais ce n'est pas la bonne solution car il accorde AD\Sql1tous les privilèges d'administrateur NT en plus de lui accorder l'administrateur SQL, ce qui n'est pas déclaré comme une exigence est donc une élévation inutile. BTW la règle selon laquelle les membres du groupe Administrateurs local sont des administrateurs SQL n'est pas implicite, est un privilège explicite accordé par défaut lors de l'installation de SQL et il peut être révoqué , vous devez donc le vérifier.

Remus Rusanu
la source
Merci, ce commentaire contient des informations que je pourrais utiliser. Mais j'ai une question complémentaire. lorsque j'ai essayé d'ajouter une connexion SQL à l'aide de CREATE LOGIN [AD\Sql1] FROM WINDOWS, j'ai reçu une erreur indiquant que l'utilisateur n'existe pas dans Windows. J'ai donc dû l'ajouter comme d'habitude à la machine locale (alors ça marche).
UB01
Je vais examiner le point que vous avez mentionné à propos de «..les administrateurs locaux étant par défaut sysasminssur la machine». Merci, je vais vous lire à ce sujet. Mais comment fonctionne la cartographie? Entre les comptes de domaine et les comptes locaux du même nom.
UB01
Si la machine sur laquelle l'instance de SQL Server est installée fait partie du domaine, vous devriez pouvoir ajouter un compte de domaine sans aucun problème.
JackLock
D' accord, c'est ce que je pensais, mais je continuais à obtenir cette erreur: ...user could not be found in windows. Il se peut qu'il se passe autre chose. Je vais vérifier à nouveau.
UB01
1
J'ai reçu une erreur disant que l'utilisateur n'existe pas dans Windows : cela signifie que votre machine hôte SQL n'est pas membre des domaines AD, ou membre d'un domaine qui fait confiance AD. Vous devez ajouter la machine au domaine AD. Vous poursuivez maintenant l'approche dite des «comptes miroirs NT» (peut-être sans savoir que vous le faites ...) et c'est une mauvaise approche. Ajoutez la machine d'hébergement SQL au domaine AD.
Remus Rusanu
2

Connectez-vous à votre instance dans SSMS. Développez sécurité / connexions. Rt-click ajouter une nouvelle connexion, mettre les informations. Sur les rôles de serveur, accordez-lui sysadmin si vous souhaitez qu'il dispose d'une puissance totale sur l'instance SQL. Terminé. Ce compte n'a pas besoin d'être administrateur local sur votre machine Windows pour être administrateur système dans SQL Server.

Eric Higgins
la source
Merci pour le commentaire rapide. Je comprends le concept que vous avez véhiculé dans votre réponse. Ma question (peut-être pas très claire) est de comprendre comment fonctionne la relation (ou le mappage) entre les comptes de domaine et les comptes locaux. Et comment cela affecte Sql Server.
UB01
Un SID est créé dans la base de données principale pour tous les comptes, domaines ou comptes SQL Server uniquement.
Eric Higgins
SID created for each account..est un concept que je comprends. Permettez-moi de vous donner un exemple: le compte est-il le AD\Sql1même que Server1\Sql1sur le serveur. Chacun a-t-il un ID de sécurité distinct qui est mappé afin que le système d'exploitation sache qu'ils sont identiques? Est-ce que cela arrive même? (Je ne fais que deviner, je ne sais pas)
UB01
Je vois. Vous essayez plutôt de comprendre les crédits Windows, je pense. Les comptes AD et Windows locaux ne sont pas identiques (même si le nom est le même). Voici quelques informations sur le fonctionnement des SID de domaine et des jetons d'accès. J'espère que cela aide: technet.microsoft.com/en-us/library/cc785913(v=ws.10).aspx
Eric Higgins
Merci, je vais lire cet article et voir si cela m'aide à mieux comprendre les concepts.
UB01