Jak utworzyć login do Sql Server dla konta domeny?

14

Wszystko,

Mam Sql Server 2008 zainstalowany na serwerze (powiedzmy Server1 ) w domenie (powiedzmy AD ). Mam również konto domeny o nazwie AD \ Sql1 . To nie jest konto administratora w domenie ( AD ), ale chcę, aby to był administrator na serwerze Server1 . A następnie utwórz login na serwerze Sql dla tego konta domeny (nie konta lokalnego).

Jak mogę to zrobić?

Pytania:

  1. Użytkownik AD \ Sql1 , chcę go jako administratora na serwerze Server1 . W tym celu po prostu utworzę konto lokalne o tej samej nazwie użytkownika (powiedzmy Server1 \ Sql1 ) i ustawię konto lokalne jako administrator na komputerze. Czy to konto lokalne zostanie automatycznie zamapowane na konto domeny o tej samej nazwie? Być może powinienem dodać tutaj, że CREATE LOGIN [AD\Sql1] FROM WINDOWSto nie działało dla mnie. Próbowałem i wystąpił błąd mówiąc user does not exist in Windows(coś takiego)
  2. Teraz, jeśli powyższa technika działa. Załóżmy, AD \ Sql1 , staje się administratorem Sever1 . Więc teoretycznie nie muszę tworzyć logowania do Sql dla tego konta domeny Windows na serwerze Sql, prawda? Wszyscy lokalni administratorzy wchodzący w skład BUILTIT \ Admins automatycznie mają dostęp sysadmin do Sql Server, prawda?

Gdzie popełniłem błąd? Udostępnij wszelkie adresy URL, które mogłyby lepiej wyjaśnić tę koncepcję.

Edycja: Powinienem również dodać, że pytania 1 i 2 są ważne niezależnie. Wiem, jak dodać konto domeny / systemu Windows jako sysadmin. Ale interesuje mnie, jak działa mapowanie między domeną a kontami lokalnymi. Moim celem tutaj nie jest dodanie konta lokalnego jako sysadmin, mogę to zrobić dość szybko. Moim zamiarem nie jest być niegrzecznym, ale być tak jasne, jak to możliwe. Jeśli moje pytanie nadal nie jest jasne, daj mi znać, żebym mógł dodać więcej szczegółów.

Dzięki,
_UB

Edycja: gramatyka

UB01
źródło

Odpowiedzi:

13

Nie twórz konta lokalnego o tej samej nazwie co konto domeny. Jeśli chcesz dodać login domeny jako administrator SQL, wykonaj następujące czynności:

  • utwórz login do konta domeny: create login [AD\Sql1] from windows;
  • dodaj login do grupy sysadmin: exec sp_addsrvrolemember 'AD\Sql1', 'sysadmin';

Gotowy. Osiągnąłbyś ten sam wynik, gdybyś po prostu dodał AD\Sqlkonto do lokalnych administratorów za pośrednictwem net localgroup Administrators /add AD\Sql1(z powłoki CMD), ale nie jest to właściwe rozwiązanie, ponieważ przyznaje ono AD\Sql1wszystkie uprawnienia administratora NT oprócz przyznania mu administratora SQL, który nie jest podany jako wymóg jest zatem niepotrzebnym podniesieniem. BTW zasada, że ​​członkowie lokalnej grupy Administratorzy są administratorami SQL, nie jest niejawna, jest jawnym przywilejem przyznawanym domyślnie podczas instalacji SQL i może zostać odwołana, więc musisz ją sprawdzić.

Remus Rusanu
źródło
Dziękuję, ten komentarz zawiera informacje, które mogłem wykorzystać. Ale mam pytanie uzupełniające. gdy próbowałem dodać login Sql przy użyciu CREATE LOGIN [AD\Sql1] FROM WINDOWS, pojawia się błąd informujący, że użytkownik nie istnieje w systemie Windows. Musiałem więc dodać go jako używanego do lokalnej maszyny (wtedy to działa).
UB01
Zajmę się kwestią, o której wspomniałeś o „… lokalnych administratorach domyślnie sysasminsna komputerze”. Dziękuję, przeczytam o tym. Ale jak działa mapowanie? Między kontami domeny a kontami lokalnymi o tej samej nazwie.
UB01
Jeśli komputer, na którym zainstalowano wystąpienie programu SQL Server, jest częścią domeny, powinno być możliwe dodanie konta domeny bez żadnych problemów.
JackLock
Dobrze, że to, co myślę, ale trzymałem się następujący błąd: ...user could not be found in windows. Być może dzieje się coś innego. Sprawdzę jeszcze raz.
UB01
1
Wystąpił błąd informujący, że użytkownik nie istnieje w systemie Windows : oznacza to, że maszyna hosta SQL nie należy do domen AD ani do domeny zaufanej AD. Powinieneś dodać maszynę do domeny AD. Stosujesz teraz tak zwaną metodę „kont lustrzanych NT” (być może bez wiedzy, że to robisz ...) i jest to niewłaściwe podejście. Dodaj maszynę hostingową SQL do domeny AD.
Remus Rusanu
2

Połącz się z instancją w SSMS. Rozwiń zabezpieczenia / loginy. Rt-kliknij dodaj nowy login, wprowadź informacje. Na rolach serwera udziel mu sysadmin, jeśli chcesz, aby miał całkowitą kontrolę nad instancją SQL. Gotowy. To konto nie musi być administratorem lokalnym na komputerze z systemem Windows, aby być sysadminem w programie SQL Server.

Eric Higgins
źródło
Dziękuję za szybki komentarz. Rozumiem pojęcie, które przedstawiłeś w swojej odpowiedzi. Moje pytanie (może nie być bardzo jasne) dotyczy zrozumienia, w jaki sposób działa relacja (lub mapowanie) między kontami domeny a kontami lokalnymi. I jak to wpływa na Sql Server.
UB01
Identyfikator SID jest tworzony w głównym pliku db dla wszystkich kont, domen lub kont SQL Server.
Eric Higgins
SID created for each account..to koncepcja, którą rozumiem. Dam ci przykład: czy konto jest takie AD\Sql1samo jak Server1\Sql1na serwerze. Czy każdy z nich ma oddzielny identyfikator zabezpieczeń, który jest mapowany, aby system operacyjny wiedział, że są one takie same? Czy to się w ogóle dzieje? (Zgaduję tylko, nie wiem)
UB01
Widzę. Myślę, że bardziej próbujesz zrozumieć kredyty systemu Windows. AD i lokalne konta Windows nie są takie same (nawet jeśli nazwa jest taka sama). Oto kilka informacji o tym, jak działają identyfikatory SID domeny i tokeny dostępu. Mam nadzieję, że to pomoże: technet.microsoft.com/en-us/library/cc785913(v=ws.10).aspx
Eric Higgins
Dziękuję, przeczytam ten artykuł i zobaczę, czy to pomoże mi lepiej zrozumieć pojęcia.
UB01