2009-08-05 10 views
31

Tworzę replikację SQL Server za pomocą skryptu. Kiedy próbuję wykonaćNie można uzyskać informacji o użytkowniku grupy Windows NT

The job failed. Unable to determine if the owner (STAR\moorer7) of job L3BPT2M-Atlas-14 has server access (reason: Could not obtain information about Windows NT group/user 'STAR\moorer7', error code 0x5. [SQLSTATE 42000] (Error 15404)).

To jest zadanie utworzone przez skrypt, który określa replikacji.

Jak mogę to debugować?

+2

Zmieniłem właściciela we właściwościach pracy na "sa", a problem został rozwiązany. – Alex

+2

Heh. Poprosiłeś o to 7 lat temu i nadal pomagasz ludziom takim jak ja dzisiaj. – PowerUser

+0

Czy ktoś może mi powiedzieć, dlaczego, gdy właściciel planu pracy lub planu konserwacji jest w AD i administrator w polu SQL, ten błąd nadal występuje? Zawsze muszę wrócić do konta sa, aby uzyskać cokolwiek do uruchomienia. –

Odpowiedz

33

Usługa Active Directory odmawia dostępu do Twojego agenta SQL. Agent powinien działać pod kontem rozpoznawanym przez kontroler domeny STAR.

+1

@Remus Rusanu: Agent działa pod kontem lokalnego komputera jako MyWorkstation \ SqlServerAccount –

+8

@Raj: Właściwie ponieważ to sam serwer SQL, który łączy się z usługą AD, musisz zmienić konto, pod którym działa SQL. Musi to być konto AD uwierzytelniające się, takie jak konto domeny lub konto NETWORK SERVICE (pod warunkiem, że komputer jest przyłączony do domeny). Systemy SSMS lub EM mogą mieć opcję zmiany konta usługi. –

+2

+1 za uniemożliwienie mi rozmowy z moją bazą dba (zapisanie kilku godzin) – DancesWithBamboo

5

Napotkaliśmy podobne błędy w środowisku testowym na maszynie wirtualnej. Jeśli nazwa komputera zmieni się z powodu klonowania maszyny wirtualnej z szablonu, możesz uzyskać ten błąd.

Jeśli nazwa komputera została zmieniona z OLD na NOWĄ.

Zadanie używa tej procedury przechowywanej:

msdb.dbo.sp_sqlagent_has_server_access @login_name = 'OLD\Administrator' 

który korzysta z tego:

EXECUTE master.dbo.xp_logininfo 'OLD\Administrator' 

Co daje ten błąd SQL 15404

select text from sys.messages where message_id = 15404; 
Could not obtain information about Windows NT group/user '%ls', error code %#lx. 

co chyba jest poprawna, pod okoliczności. Dodaliśmy skrypt do procesu klonowania/wdrażania VM, który ponownie tworzy login SQL.

3

W moim przypadku otrzymałem ten błąd, próbując użyć funkcji IS_ROLEMEMBER() na SQL Server 2008 R2. Ta funkcja nie jest ważny przed SQL Server 2012.

Zamiast tej funkcji I skończył przy użyciu

select 1 
from sys.database_principals u 
inner join sys.database_role_members ur 
    on u.principal_id = ur.member_principal_id 
inner join sys.database_principals r 
    on ur.role_principal_id = r.principal_id 
where r.name = @role_name 
and u.name = @username 

Znacznie bardziej rozwlekły, ale dostaje zadanie.

1

Właśnie rozwiązałem ten problem. W moim przypadku kontroler domeny nie był dostępny, ponieważ oba serwery DNS to google dns.

po prostu dodać do listy kontrolnej dotyczącej tego problemu: kontroler domeny

  • wyboru jest dostępny
1

miałem ten sam problem, który okazał się być spowodowany przez logowania do domeny, która prowadzi Usługa SQL jest zablokowana w AD. Blokowanie zostało spowodowane przez niepowiązane użycie konta usługi w innym celu z nieprawidłowym hasłem.

Błędy otrzymane z dzienników programu SQL Agent nie zawierały nazwy konta usługi, tylko nazwa użytkownika (właściciela zadania), która nie mogła zostać uwierzytelniona (ponieważ używa konta usługi do sprawdzenia z usługą AD).

1

Musiałem połączyć się z VPN dla skryptu publikowania, aby pomyślnie wdrożyć DB.

8

Dla mnie prace były wykonywane w domenie DOMAIN \ Administrator i nie powiodło się z komunikatem o błędzie "The job failed. Unable to determine if the owner (DOMAIN\administrator) of job Agent history clean up: distribution has server access (reason: Could not obtain information about Windows NT group/user 'DOMAIN\administrator', error code 0x5. [SQLSTATE 42000] (Error 15404)). Aby to naprawić, Zmieniłem właściciela każdego nieudanego zadania na sa. Pracowałem bezbłędnie po tym. Zadania były związane z oczyszczaniem replikacji, ale nie jestem pewien, czy zostały one dodane ręcznie, czy zostały dodane jako część konfiguracji replikacji - nie brałem w tym udziału, więc nie jestem pewien.

Powiązane problemy