Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server w Windows
Podsumowanie
Ten artykuł pomaga rozwiązywać problemy z niepowodzeniami kroków zadań agenta SQL Server, które zaczynają występować po zmianie konta usługi agenta SQL Server na grupowe konto usługi zarządzanej (gMSA). Dotyczy to kroków zadań SQL Server Integration Services (SSIS), planów konserwacji, kopii zapasowej, PowerShell i CmdExec, które kończą się niepowodzeniem, ponieważ nowe konto wykonywania nie ma wymaganych uprawnień do udziału sieciowego, systemu plików NTFS, serwera proxy, poświadczeń lub pakietu.
Przed rozpoczęciem zapoznaj się z wymaganiami wstępnymi i uruchom krótką listę kontrolną sprawdzania poprawności opisaną w artykule Rozwiązywanie problemów z konfiguracją, uruchamianiem i błędami uwierzytelniania w programie SQL Server z użyciem kont gMSA.
Symptoms
- Program SQL Server Agent uruchamia się, ale kroki zadania typu SSIS, planu obsługi, kopii zapasowej, PowerShell lub CmdExec kończą się niepowodzeniem.
- Etapy zadania zaczęły kończyć się niepowodzeniem po zmianie konta usługi SQL Server Agent na grupowe zarządzane konto usługi (gMSA).
- Błędy wskazują na brakujący składnik, plik, serwer proxy, poświadczenia, udział lub uprawnienia NTFS.
Przyczyna
Niepowodzenie kroku zadania, które następuje po zmianie konta usługi, jest zwykle problemem z dostępem dla nowej tożsamości, a nie problemu z zarządzaniem hasłami gMSA. Kroki zadania, które nie używają konta proxy, są uruchamiane na koncie usługi SQL Server Agent, więc przyznaj kontu gMSA wszystkie uprawnienia do udziałów, systemu plików NTFS i lokalizacji docelowych, które miało poprzednie konto.
Diagnozowanie błędów zadań SQL Server Agent
- Zidentyfikuj podsystem kroku zadania, który zakończył się niepowodzeniem, oraz pierwszy błąd wymagający działania w historii zadania.
- Potwierdź, która tożsamość faktycznie uruchamia krok: konto usługi SQL Server Agent lub konto serwera proxy. Więcej informacji można znaleźć w artykule Utworzenie agenta SQL Server proxy.
- W przypadku ścieżek sieciowych i zasobów docelowych upewnij się, że uprawnienia udziału i systemu plików NTFS zostały przyznane kontu gMSA w postaci
<DomainName>\<GmsaName>$, z uwzględnieniem końcowego znaku dolara. Zastąp<DomainName>i<GmsaName>nazwami domeny i konta. - Upewnij się, że konto gMSA ma wymagane uprawnienia do usługi docelowej, na przykład lokalizacji docelowej kopii zapasowej, serwera połączonego lub udziału plików.
Oczekiwany wynik: tożsamość uruchomieniowa ma jawne uprawnienia do wszystkich zasobów wykorzystywanych przez ten krok zadania.
Rozwiązywanie problemów z niepowodzeniami zadań programu SQL Server Agent
Użyj rozwiązania odpowiadającego pierwszemu błędowi w historii zadania, dla którego można podjąć działanie.
Przyznaj uprawnienia do zasobu docelowego tożsamości wykonawczej
Określ konto, na którym jest uruchamiany krok zadania, w którym wystąpił błąd:
- Krok zadania CmdExec, który nie określa konta proxy, jest uruchamiany przy użyciu konta usługi SQL Server Agent.
- Krok zadania określający serwer proxy agenta SQL Server jest uruchamiany przy użyciu konta systemu Windows zapisanego w poświadczeniu serwera proxy.
- Krok zadania Transact-SQL nie używa konta proxy programu SQL Server Agent. Jest on uruchamiany w kontekście zabezpieczeń właściciela zadania. Jeśli właściciel zadania jest członkiem stałej
sysadminroli serwera, krok jest uruchamiany w ramach konta usługi SQL Server Agent, chyba że określono innego użytkownika bazy danych.
Nadaj wymagane uprawnienia tożsamości wykonawczej:
- Jeśli krok zadania jest uruchamiany przy użyciu konta usługi SQL Server Agent, a to konto jest kontem gMSA, określ formę tożsamości odpowiadającą kontu komputera gMSA, która zawiera końcowy znak dolara (
$). Na przykładCONTOSO\SQLAgentSvc$. - Jeśli krok zadania używa serwera proxy, nadaj uprawnienia kontu systemu Windows skojarzonemu z poświadczeniem serwera proxy, a nie automatycznie kontu usługi SQL Server Agent lub gMSA.
- W przypadku udziału sieciowego przyznaj tożsamości uruchomieniowej tylko wymagane uprawnienia, zarówno do udziału SMB, jak i do bazowego folderu systemu plików NTFS.
- Jeśli krok zadania jest uruchamiany przy użyciu konta usługi SQL Server Agent, a to konto jest kontem gMSA, określ formę tożsamości odpowiadającą kontu komputera gMSA, która zawiera końcowy znak dolara (
Aby zweryfikować tożsamość i udostępniony dostęp, tymczasowo uruchom następujące polecenia w kroku zadania CmdExec, który używa tej samej konfiguracji Run as co krok zakończony niepowodzeniem.
whoami dir "\\FileServer\BackupShare"Oczekiwany wynik: polecenie
whoamizwraca oczekiwaną tożsamość, z którą jest wykonywane, a poleceniedirwyświetla zawartość udziału.Usuń tymczasowy krok diagnostyczny po przetestowaniu.
Popraw serwer proxy programu SQL Server Agent, poświadczenie lub kontekst wykonywania kroku zadania
Przeanalizuj krok zadania, który zakończył się niepowodzeniem, i sprawdź jego podsystem oraz ustawienie Run as. W przypadku podsystemu obsługującego serwery proxy utwórz lub użyj serwera proxy spełniającego następujące warunki:
- Wskazuje poświadczenie wymaganego konta systemu Windows.
- Jest włączona dla podsystemu krok-zadania.
- Jest dostępny dla konta logowania lub roli agenta SQL Server, które są właścicielem zadania lub je uruchamiają.
- Używa konta z uprawnieniami wymaganymi przez krok zadania.
Przypisz serwer proxy do kroku zadania. Utworzenie serwera proxy nie przyznaje uprawnień do zasobów kontu przechowywanemu w jego poświadczeniu. Przyznaj te uprawnienia oddzielnie i postępuj zgodnie z zasadą najniższych uprawnień. Więcej informacji można znaleźć w artykule Utworzenie agenta SQL Server proxy.
Rozwiązywanie problemów z uprawnieniami usług SSIS lub błędami dostępu do pakietów
Jeśli krok zadania SSIS nie powiedzie się z powodu błędów uprawnień lub dostępu do pakietu, sprawdź, czy konto uruchamiające krok zadania SSIS może uzyskać dostęp do następujących zasobów:
- Lokalizacja pakietu usług SSIS.
- Pliki konfiguracji i pliki poleceń, jeśli są używane.
- Pliki i foldery, do których odwołuje się pakiet.
- Udziały sieciowe.
- Bazy danych i inne źródła danych.
- Inne zasoby zewnętrzne wymagane przez pakiet.
Jeśli pakiet używa poufnych informacji chronionych przez ustawienie SSIS ProtectionLevel, sprawdź, czy konto wykonawcze może odszyfrować wymagane informacje. Zmiana konta uruchamiania programu SQL Server Agent może spowodować niepowodzenie wykonania pakietu SSIS, gdy nowe konto nie może odszyfrować poufnych danych pakietu lub nie ma uprawnień do uzyskania dostępu do zasobu zewnętrznego. Aby uzyskać więcej informacji, zobacz temat Pakiet SSIS nie jest uruchamiany po wywołaniu z poziomu kroku zadania Agenta programu SQL Server.
Instalowanie lub naprawianie potwierdzonych brakujących składników
Instaluj lub naprawiaj tylko komponenty, których brak został potwierdzony, a zgodność wdrożenia SSIS lub środowiska uruchomieniowego koryguj oddzielnie od zmiany konta. Jeśli historia zadań identyfikuje brakujący składnik, przed zmianą uprawnień sprawdź, czy składnik jest zainstalowany i dostępny dla tożsamości wykonywania. Oto kilka przykładów:
- Komponenty SSIS.
- Moduły programu PowerShell wymagane przez zadanie.
- Niestandardowe pliki wykonywalne lub skrypty, do których odwołuje się procedura zadania CmdExec.
- Wymagani dostawcy lub inne składniki środowiska uruchomieniowego.
Rozwiązuj błędy związane z brakującymi komponentami lub błędy środowiska uruchomieniowego oddzielnie od błędów uprawnień. Po zainstalowaniu lub naprawieniu składnika uruchom ponownie zadanie. Jeśli problem nadal występuje, sprawdź pierwszy błąd wymagający działania w historii zadania.
Zbieranie danych diagnostycznych
Jeśli krok zadania nadal kończy się niepowodzeniem po wykonaniu tych kroków, zbierz historię zadań zakończonych niepowodzeniem i inne dane diagnostyczne dla tego samego interwału niepowodzenia. Informacje o danych specyficznych dla gMSA i standardowych dziennikach programu SQL Server, które należy zebrać, można znaleźć w sekcji Zbieranie danych diagnostycznych w omówieniu rozwiązywania problemów z usługą gMSA. Użyj tych danych, aby kontynuować dochodzenie lub otworzyć zgłoszenie do działu pomocy technicznej.
Treści powiązane
- Rozwiązywanie problemów z instalacją, uruchamianiem i niepowodzeniami uwierzytelniania w SQL Server przy użyciu gMSA
- Tworzenie serwera proxy programu SQL Server Agent
- Pakiet usług SSIS nie jest uruchamiany po wywołaniu z kroku zadania programu SQL Server Agent
- Konfigurowanie kont i uprawnień systemu Windows