Udostępnij za pośrednictwem


Wybieranie konta dla usługi SQL Server Agent

Dotyczy:programu SQL ServerAzure SQL Managed Instance

Ważny

W usługi Azure SQL Managed Instancewiększość, ale nie wszystkie funkcje agenta programu SQL Server są obecnie obsługiwane. Aby uzyskać szczegółowe informacje, zobacz Różnice języka T-SQL usługi Azure SQL Managed Instance z programu SQL Server.

Konto uruchamiania usługi definiuje konto systemu Microsoft Windows, na którym działa program SQL Server Agent i jego uprawnienia sieciowe. Agent programu SQL Server działa jako określone konto użytkownika. Możesz wybrać konto dla usługi SQL Server Agent przy użyciu programu SQL Server Configuration Manager, gdzie można wybrać spośród następujących opcji:

  • wbudowane konto. Możesz wybrać spośród listy następujących wbudowanych kont usług systemu Windows:

    • Konto systemu lokalnego. Nazwa tego konta to NT AUTHORITY\System. jest to zaawansowane konto, które ma nieograniczony dostęp do wszystkich zasobów systemu lokalnego. jest członkiem grupy Administratorzy systemu Windows na komputerze lokalnym.

    Ważny

    Opcja konta systemu lokalnego jest dostępna tylko w celu zapewnienia zgodności z poprzednimi wersjami. Konto systemu lokalnego ma uprawnienia, których agent programu SQL Server nie wymaga. Unikaj uruchamiania agenta programu SQL Server jako konta systemu lokalnego. Aby zwiększyć bezpieczeństwo, użyj konta domeny systemu Windows z uprawnieniami wymienionymi w poniższej sekcji "Uprawnienia do konta domeny systemu Windows".

  • to konto. Umożliwia określenie konta domeny systemu Windows, w którym działa usługa SQL Server Agent. Zalecamy wybranie konta użytkownika systemu Windows, które nie jest członkiem grupy administratorzy systemu Windows . Istnieją jednak ograniczenia dotyczące używania administracji wieloserwerowej, gdy konto usługi SQL Server Agent nie jest członkiem lokalnej grupy administratorów . Aby uzyskać więcej informacji, zobacz "Obsługiwane typy kont usług", które przedstawiono w tym artykule.

Uprawnienia konta domeny systemu Windows

Aby uzyskać lepsze zabezpieczenia, wybierz pozycję To konto, które określa konto domeny systemu Windows. Określone konto domeny systemu Windows musi mieć następujące uprawnienia:

  • We wszystkich wersjach systemu Windows uprawnienie do logowania się jako usługa (SeServiceLogonRight)

    Notatka

    Konto usługi agenta programu SQL Server musi należeć do grupy Dostęp zgodny z obsługą systemu Windows 2000 na kontrolerze domeny, w przeciwnym razie zadania należące do użytkowników domeny, którzy nie są członkami grupy Administratorzy systemu Windows, zakończą się niepowodzeniem.

  • Na serwerach z systemem Windows konto, z którego korzysta usługa agenta programu SQL Server, wymaga następujących uprawnień, aby mogło obsługiwać pełnomocników agenta SQL Server.

    • Uprawnienie do pomijania sprawdzania przechodzenia (SeChangeNotifyPrivilege)
    • Uprawnienie do zastępowania tokenu na poziomie procesu (SeAssignPrimaryTokenPrivilege)
    • Uprawnienie do dostosowywania przydziałów pamięci dla procesu (SeIncreaseQuotaPrivilege)
    • Uprawnienie dostępu do tego komputera z sieci (SeNetworkLogonRight)

Jeśli konto nie ma uprawnień wymaganych do obsługi serwerów proxy, tylko członkowie sysadmin stałej roli serwera mogą tworzyć zadania.

Aby otrzymywać powiadomienia o alercie WMI, konto usługi SQL Server Agent musi mieć przyznane uprawnienia do przestrzeni nazw zawierającej zdarzenia WMI i ALTER ANY EVENT NOTIFICATION.

Członkostwo w roli programu SQL Server

Domyślnie konto usługi agenta programu SQL Server jest mapowane na domyślny identyfikator SID usługi agenta programu SQL Server (NT SERVICE\SQLSERVERAGENT), który jest członkiem roli sysadmin stałej roli serwera. Konto musi być również członkiem roli bazy danych msdbTargetServersRole na serwerze głównym, jeśli jest używane przetwarzanie zadań wieloserwerowych. Kreator serwera głównego automatycznie dodaje konto usługi do tej roli w ramach procesu rejestracji.

Obsługiwane typy kont usług

W poniższej tabeli wymieniono typy kont systemu Windows, których można użyć dla usługi SQL Server Agent.

Typ konta usługi Serwer nieklastrowany Serwer klastrowany Kontroler domeny (nieklastrowany)
Konto domeny systemu Microsoft Windows (członek grupy Administratorzy systemu Windows) Obsługiwane Obsługiwane Obsługiwane
Konto domeny systemu Windows (nie administracyjne) Obsługiwane

Zobacz Ograniczenie 1 w dalszej części tej sekcji.
Obsługiwane

Zobacz Ograniczenie 1 w dalszej części tej sekcji.
Obsługiwane

Zobacz Ograniczenie 1 w dalszej części tej sekcji.
Konto usługi sieciowej (NT AUTHORITY\NetworkService) Obsługiwane

Zobacz Ograniczenia 1, 3 i 4 w dalszej części tej sekcji.
Niewspierane Nieobsługiwane
Konto użytkownika lokalnego (inne niż administracyjne) Obsługiwane

Zobacz Ograniczenie 1 w dalszej części tej sekcji.
Nie jest obsługiwane Nie dotyczy
Konto systemu lokalnego (NT AUTHORITY\System) Obsługiwane

Zobacz Ograniczenie 2 w dalszej części tej sekcji.
Nieobsługiwany Obsługiwane

Zobacz Ograniczenie 2 w dalszej części tej sekcji.
Konto usługi lokalnej (NT AUTHORITY\LocalService) Nieobsługiwane Nieobsługiwany Nieobsługiwane

Ograniczenie 1: Używanie kont innych niż administracyjne do administrowania wieloma serwerami

Rejestrowanie serwerów docelowych na serwerze głównym może zakończyć się niepowodzeniem z następującym komunikatem o błędzie: The enlist operation failed.

Aby rozwiązać ten błąd, uruchom ponownie zarówno program SQL Server, jak i usługi SQL Server Agent. Aby uzyskać więcej informacji, zobacz uruchamianie, zatrzymywanie, wstrzymywanie, wznawianie i ponowne uruchamianie usług programu SQL Server.

Ograniczenie 2: Używanie konta systemu lokalnego do administrowania wieloma serwerami

Administrowanie wieloma serwerami jest obsługiwane, gdy usługa SQL Server Agent jest uruchamiana na koncie systemu lokalnego tylko wtedy, gdy zarówno serwer główny, jak i serwer docelowy znajdują się na tym samym komputerze. Jeśli używasz tej konfiguracji, podczas rejestracji serwerów docelowych na serwerze głównym zostanie zwrócony następujący komunikat:

Ensure the agent start-up account for <target_server_computer_name> has rights to log on as targetServer.

Ten komunikat informacyjny można zignorować. Operacja rejestracji powinna zakończyć się pomyślnie. Aby uzyskać więcej informacji, zobacz Tworzenie środowiska wieloserwerowego.

Ograniczenie 3: Używanie konta usługi sieciowej, gdy jest to użytkownik programu SQL Server

Uruchomienie agenta programu SQL Server może zakończyć się niepowodzeniem, jeśli uruchomisz usługę SQL Server Agent na koncie usługi sieciowej, a konto usługi sieciowej ma jawnie udzielony dostęp do logowania się do wystąpienia programu SQL Server jako użytkownik programu SQL Server.

Aby rozwiązać ten problem, uruchom ponownie komputer, na którym działa program SQL Server. Należy to zrobić tylko raz.

Ograniczenie 4: Używanie konta usługi sieciowej, gdy usługi SQL Server Reporting Services są uruchomione na tym samym komputerze

Uruchomienie agenta programu SQL Server może zakończyć się niepowodzeniem, jeśli uruchomisz usługę SQL Server Agent na koncie usługi sieciowej, a usługi Reporting Services są również uruchomione na tym samym komputerze.

Aby rozwiązać ten problem, uruchom ponownie komputer, na którym jest uruchomiony program SQL Server, a następnie uruchom ponownie zarówno usługi SQL Server, jak i SQL Server Agent. Należy to zrobić tylko raz.

Typowe zadania

Użyj menedżera konfiguracji programu SQL Server, aby określić, że program SQL Server Agent musi zostać uruchomiony po uruchomieniu systemu operacyjnego.