Nadanie użytkownikowi 'sa' roli serveradmin

Waldemar Czarnecki 80 Punkty reputacji
2026-07-03T09:19:09.7366667+00:00

Dzień dobry.

Przy nadawaniu użytkownikowi 'sa' roli serveradmin otrzymuję komunikat błądu:

TYTUŁ: Microsoft SQL Server Management Studio

Operacja Dodaj członka nie powiodła się dla elementu ServerRole „serveradmin”. (Microsoft.SqlServer.Smo) Aby uzyskać pomoc, kliknij: https://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=18.100.1.25&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Dodaj+członka+ServerRole&LinkId=20476

DODATKOWE INFORMACJE: Wystąpił wyjątek podczas wykonywania instrukcji lub partii Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)

Cannot use the special principal 'sa'. (Microsoft SQL Server, Błąd: 15405) Identyfikator połączenia 6fea4cd3-434f-475a-9a20-b2e936dadeb5 w witrynie 2026-07-03 09:14:28Z

Jaka jest przyczyna błędu?

Jak poprawnie nadać użytkownikowi 'sa' role serveradmin?

Pozdrawiam.

W, Czarnecki

Windows dla firm | Windows Server | Środowisko użytkownika | Inne
Komentarze: 0 Brak komentarzy

Odpowiedź zaakceptowana przez autora pytania
Xuan Nhu 1,370 Punkty reputacji Niezależny doradca
2026-07-03T17:04:46.43+00:00

Cześć Waldemar, dobre wieści — nic tu nie jest zepsute. Błąd 15405 ("Nie można użyć specjalnego principal 'sa'") to zachowanie zaprojektowane: sa jest wbudowanym kontem administratora systemu SQL Server i jest na stałe członkiem stałej sysadmin roli serwera, a SQL Server celowo blokuje wszelkie modyfikacje członkostwa w rolach dla tego specjalnego principa, niezależnie od tego, czy dodajesz go lub mapujesz serveradmin jako db_owner bazę danych. Nie ma też nic do zyskania z tej operacji, ponieważ sysadmin jest to nadzbiór każdej innej stałej roli serwera — może wykonywać dowolną aktywność na serwerze, włącznie ze wszystkim, co serveradmin przyznaje (zmiany konfiguracji, wyłączanie itd.) — więc sa już posiada wszystkie te uprawnienia domyślnie i nie może otrzymać więcej.

Właściwe obsługi polegają po prostu na tym, by w ogóle nie przypisywać serveradmin do . sa Jeśli robisz to, aby spełnić wymóg dostawcy aplikacji, że "logowanie musi mieć serweradmina", to wymóg jest już spełniony i przekroczony przez sysadmin. Jeśli faktycznym celem jest logowanie ograniczone do praw konfiguracyjnych na poziomie serwera bez pełnej mocy administratora systemu, stwórz dedykowane logowanie i dodaj go do roli: CREATE LOGIN [AppAdmin] WITH PASSWORD = '<strongpassword>'; ALTER SERVER ROLE [serveradmin] ADD MEMBER [AppAdmin]; — to się powiedzie, ponieważ nie jest to specjalny principal. Jako dodatkową uwagę dotyczącą bezpieczeństwa, Microsoft zaleca wyłączenie sa lub przemianowanie i używanie nazwających się logów administracyjnych do codziennej pracy, ponieważ sa jest to najczęściej atakowana nazwa konta na instancjach SQL Server działających w internecie.

Czy ta odpowiedź była pomocna?

1 osoba uznała tę odpowiedź za pomocną.

Dodatkowe odpowiedzi: 0

Sortuj według: Najnowsze

Twoja odpowiedź

Odpowiedzi mogą być oznaczone jako „Zaakceptowane” przez autora pytań i „Proponowane” przez moderatorów, co pomaga użytkownikom poznać odpowiedź rozwiązującą problem autora.