Korzystam z SQL Server 2008 Management Studio. Bieżące konto logowania należy do lokalnej grupy administratorów komputera. Korzystam z trybu zintegrowanych zabezpieczeń systemu Windows w programie SQL Server 2008.
Mój problem polega na tym, że po zalogowaniu się do SQL Server Management Studio wybieram swoją nazwę logowania w obszarze Bezpieczeństwo / Loginy, następnie wybieram kartę Role serwera, a następnie ostatni element - sysadmin, aby dołączyć do tej grupy / roli, ale mówi nie mam wystarczającej zgody. Wszelkie pomysły, co jest nie tak? Myślę, że lokalny administrator powinien być w stanie zrobić wszystko. :-)
sql-server
security
sql-server-2008
George2
źródło
źródło
Odpowiedzi:
Login sesji, w której próbujesz ustawić uprawnienia, musi mieć uprawnienia.
Więc login, którego używasz, to lokalny administrator? Oznacza to, że lokalna grupa administracyjna nie ma wystarczających uprawnień.
GUI uruchomi to zbyt sp_addsrvrolemember . Chociaż to mówi
Tak więc lokalna grupa administracyjna nie jest członkiem sysadmin.
Edytować:
Aby rozwiązać: Użyj loginu, który ma uprawnienia. możesz go znaleźć, używając sp_helpsrvrolemember
źródło
W innym dobrym artykule Rozwiązywanie problemów: Łączenie z SQL Server, gdy administratorzy systemu są zablokowani , autor mówi nam, że wszystko, co musimy zrobić, aby odzyskać kontrolę nad naszym SQL Server, to
Niestety, co oznacza uruchomienie w trybie pojedynczego użytkownika, nie jest intuicyjną sprawą. Ponadto, przynajmniej z mojego doświadczenia, członkostwo w lokalnej grupie Administratora mojego komputera nie przyznało statusu sysadmin mojemu kontowi „użytkownika”.
Ta historia zaczęła się, gdy zajmując się problemem członkostwa w mojej domenie przez serwer inny niż DC (konsekwencja zmiany ISP), przebudowałem DC na Windows Server 2008 R2 od 2008 roku. To rozwiązało kilka drobnych problemów, ale nie rozwiązało kwestia członkostwa przez błędny serwer. Aby to osiągnąć, potrzebna była poprawka sugerowana w ServerFault (w moim przypadku chodziło o zresetowanie winsock i tcpip).
SQL Server 2008 znajduje się na tym drugim serwerze, teraz będącym członkiem domeny. Oto problem. Jak ktoś wskazuje na ServerFault, często instaluje się serwer „pozwól, aby bieżący użytkownik został sysadminem” podczas instalowania Server 2008. Często nie bierze się pod uwagę nikogo innego. Ponieważ ta tożsamość pojedynczego użytkownika była członkiem domeny, która już nie istniała, nikt nie miał uprawnień do administrowania serwerem SQL.
Zalogowałem się jako administrator serwera lokalnego, który istniał już podczas instalacji Sql Server, ale chociaż pozwoliło mi to na dostęp do Management Studio, szybko odkryłem, że BUILTIN \ Administratorzy pełnią tylko rolę „publicznego” serwera.
Po wielu badaniach i eksperymentach natknąłem się na artykuł podający specyfikę logowania dla jednego użytkownika http://technet.microsoft.com/en-us/library/ms180965.aspx :
Aby przygotować się do wykonania tego kroku, należy zamknąć serwer Sql (który domyślnie działa w większości przypadków). Użyj SQL Configuration Manager, aby zatrzymać „Sql Server”.
Następnie w wierszu polecenia przejdź do lokalizacji pliku programu (lub odpowiednika na komputerze) i wydaj polecenie „sqlservr.exe -m”. Jeśli zobaczysz strumień aktywności zarejestrowany w wierszu polecenia, oznacza to, że odnosi sukces. Jeśli się nie uruchomi, prawdopodobnie masz już uruchomiony program SQL Server. Zamknij to.
Zezwól instancji jednego użytkownika na dołączenie jego baz danych. Po zakończeniu działania dziennika otwórz Management Studio. Będziesz automatycznie w trybie pojedynczego użytkownika, a zatem każde konto, które reprezentujesz, będzie administratorem systemu. Skorzystaj z tej mocy, aby dostosować loginy zabezpieczeń i role serwera.
W moim przypadku musiałem odtworzyć konta domeny w nowej domenie, a następnie usunąć ich nazwy w programie SQL Server i zrekonstruować je (z powodu sytuacji SID / GUID), w razie potrzeby ponownie przypisując uprawnienia do określonych baz danych.
źródło
To prawda, ALE w takim przypadku możesz odzyskać sytuację po uruchomieniu usługi SQL Server w trybie pojedynczego użytkownika (tryb awaryjny), a każdy lokalny administrator będzie mógł się zalogować.
Zobacz MSDN .
źródło
Domyślnie SQL dodaje grupę BUILTIN \ Administrators do roli sysadmin, co oznacza, że każdy lokalny administrator NT jest automatycznie administratorem SQL. W systemie Vista ze względu na kontrolę konta użytkownika należy uruchomić w trybie „jako administrator”, aby skorzystać z tego uprawnienia.
źródło
Domyślnie SQL Server 2008 nie dodaje już BUILTIN \ Administrators jako członków stałej roli serwera sysadmin. Podczas przechodzenia przez instalatora pojawia się pytanie, które konto lub konta powinny mieć uprawnienia sysadmin. Jest przycisk, który w zasadzie mówi „uczyń mnie sysadminem”, który doda konto użytkownika wykonującego instalację jako sysadmin.
Jeśli nie dodali żadnych innych użytkowników jako sysadmins, wówczas tylko ten użytkownik jest obecnie sysamdin. Musisz mieć tę osobę zalogowaną do SQL Server i przyznać uprawnienia administratora systemu DBA.
źródło
Zastanawiałem się nad tym samym problemem po nowej instalacji, dopóki nie zarejestrowałem serwera na SQL Server 2008, a potem wszystko poszło jak należy
źródło