Chyba 401 nebo "přihlášení se nezdařilo pro uživatele (null). Důvod: Chybí přidružení s důvěryhodným připojením SQL Server "při pokusu připojit k bodu správy SMS 2003 klientů

Příznaky

Po instalaci a konfiguraci nový bod správy pro Systems Management Server (SMS) 2003, může dojít jeden nebo více z následujících problémů:
  • Počítače jsou zjištěny a zobrazí se v konzole SMS Administrator console jako rozšířené klienty, ale klientský software serveru SMS není nainstalována do klientských počítačů.
  • Počítače jsou zjištěny a zobrazí se v konzole SMS Administrator console jako rozšířené klienty, ale standardní klientský software serveru SMS je nainstalován v počítači, který je zjištěn.
  • Stávající klienti nejsou údaje stav pro reklamy.
  • V CAS.log v počítači rozšířeného klienta SMS a funkce SQLERROR přihlášení serveru SQL server je zaznamenána následující zpráva:
    Přihlášení se nezdařilo pro uživatele "(null)". Důvod: Chybí přidružení s důvěryhodným připojením SQL Server
  • Do protokolu služby IIS pro bod správy může obsahovat chyby 401.
Následující položky mohou být uvedeny na bod správy v souboru MP_GetAuth.log. V závislosti na tom, zda je nainstalován klient SMS, tento soubor protokolu je umístěn v \ složka% windir %\system32\CCM\Logs\ nebo ve složce \SMS_CCM\Logs\. (% windir % je složka, kde je nainstalován operační systém.)
<![LOG[CMPDBConnection::Init(): IDBInitialize::Initialize() failed with 0x80004005]LOG]!><![LOG[Raising event: [SMS_CodePage(437), SMS_LocaleID(1033)] instance of
MpEvent_ConnectDatabaseFailed {
ClientID = "GUID:F4AB9DD6-362A-44B4-BAFA-6797AD71C79F";
DatabaseName = " SMSDBname ";
DateTime = "20030919053031.203000+000";
ErrorCode = "0x80004005";
MachineName = " MPcomputername ";
ProcessID = 5124;
ServerName = " SMSservername ";
SiteCode = " sitecode ";
ThreadID = 3512;
Win32ErrorCode = 0;
};
]LOG]><time="00:30:31.219+000" date="09-19-2003" component="MP_GetAuth_ISAPI" context="Auth"
type="1" thread="3512" file="event.cpp:522">
CMPDBConnection::Init(): IDBInitialize::Initialize() failed with 0x80040e4d $$<MP_GetAuth_ISAPI><Wed Feb 4 17:19:29.240 2004 Eastern Standard Time><thread=2664 (0xA68)> 

Příčina

Bod správy může být zabráněno připojení k serveru se systémem Microsoft SQL Server. Těmto problémům může dojít z libovolného z následujících důvodů:
  • Bod pro správu serveru SQL server nemá správná oprávnění.
  • Neexistují problémy s registrací SQL hlavního názvu služby (SPN).
  • Neexistují problémy s protokolem Kerberos nebo protokol systému DNS (Domain Name).

Jak potíže obejít

Chcete-li tento problém vyřešit, přepněte připojení TCP pro připojení pojmenovaných kanálů mezi bodem správy a serveru SQL server. Lze použít také k ověření, zda je problém s ověřováním protokolem Kerberos, který používá protokol TCP.

Ověřování protokolem NTLM používá pojmenované kanály. Pokud přepnutí z protokolu TCP pro protokol Named Pipes problém nevyřeší, spusťte sledování sítě zjistit problémy s připojením k síti možné. Pokud tento problém řeší povolení pojmenované kanály pro bod správy, znamená to, že se nezdařilo ověřování pomocí protokolu Kerberos a kroky řešení potíží v tomto článku budou užitečné při zjišťování příčiny.

Chcete-li povolit protokol Named Pipes, následující pro správu bod serveru. Klepněte na tlačítko Start, klepněte na příkaz Spustit, zadejte cliconfga potom klepněte na tlačítko OK. Spustí se nástroj Client Network Utility. Přidáte název NetBIOS serveru SQL pomocí Pojmenovaných kanálů , vybrané na kartě Alias . Toto je výchozí nastavení.

Na serveru SQL server spusťte Server Network Utility a ujistěte se, že protokol Named Pipes je v horní části zásobníku protokolu. Řízení bodu dotazy SQL každých 10 minut. Položka protokolu se zobrazí označující počet bodů správy v lokalitě. Označuje úspěšné připojení.

Další informace

Chcete-li vyřešit tyto příznaky, postupujte podle kroků v uvedeném pořadí.

Kontrola oprávnění

Chcete-li spustit Poradce při potížích s příznaky, ověřte, zda bod správy má správná oprávnění k připojení k databázi SQL. Chcete-li to provést, postupujte takto:
  1. Na serveru správy bod klepněte na tlačítko Start, klepněte na příkaz Spustit, zadejte příkaz cmda klepněte na tlačítko OK. Pokud webu serveru SMS je spuštěn v režimu standardní zabezpečení, přejděte ke kroku 4. Pokud webu serveru SMS je spuštěn v režimu Rozšířené zabezpečení, přejděte ke kroku 2.
  2. Pokud webu serveru SMS je systém rozšířené zabezpečení, start nové okno příkazového řádku, který je spuštěn pod účtem místního systému. Chcete-li to provést, zadejte na příkazovém řádku následující příkaz a stiskněte klávesu ENTER:
    FutureTime / interaktivní cmd
    V době, kterou zadáte otevře se nové okno příkazového řádku spuštěná Svchost.exe.

    Poznámka: FutureTime je vždy, když je novější než aktuální čas v 24hodinovém tvaru.
  3. Na příkazovém řádku zadejte následující příkaz a stiskněte klávesu ENTER:
    osql -S SQLServer -d SMSdbname -E
    Poznámka: SQL Server je název serveru, na kterém je spuštěn SQL Server a název databáze SQL serveru SMS je SMSdbname .

    Pokud je příkaz úspěšný, bod pro správu má správná oprávnění k databázi SQL. Tento příkaz je úspěšný Pokud 1 > řádku. Zadejte příkaz exita stiskněte klávesu ENTER se vrátíte do příkazového řádku. Pokud se zobrazí následující chybová zpráva, přejděte ke kroku 4:
    Přihlášení se nezdařilo pro uživatele "(null)". Důvod: Chybí přidružení s důvěryhodným připojením SQL Server.
  4. Pokud se zobrazí chybová zpráva "Přihlášení se nezdařilo", která je popsána v kroku 3, opakujte příkaz, ale použít plně kvalifikovaný název domény (FQDN). Například zadejte:
    osql -S SQLServer.europe.corp.microsoft.com -d SMSdbname -E
    Pokud se příkaz nezdaří, zobrazení nastavení služby DNS pro doménu, kde je umístěn počítač bodu správy.
  5. Pokud příkaz stále nezdaří, zkontrolujte, zda služba MSSQLSERVER spouštěna pomocí uživatelského účtu, přihlaste se, měnit služby pomocí místního systémového účtu na kartě přihlášení v dialogovém okně Vlastnosti služby a znovu spusťte příkazy. Pokud je nutné spustit službu pomocí uživatelského účtu, ujistěte se, že uživatelský účet je přidán do skupiny správce domény. Budou také muset postupujte podle kroků v následujícím článku znalostní báze Microsoft Knowledge Base:
    829868 serveru systems Management Server 2003 rozšířené zabezpečení pomocí vzdáleného SQL nepřipojí k serveru SQL Server

Řešení dalších problémů

  1. Nebude generován příslušné atributy hlavního názvu služby (SPN) pro účet spuštění služby SQL Server. Chcete-li tento problém vyřešit, musíte ručně vytvořit plně kvalifikovaný název domény (FQDN) a NetBIOS SPN položky. Chcete-li to provést, můžete použít nástroj SetSPN v systému Windows 2000 Server Resource Kit. Chcete-li stáhnout nástroj SetSPN, naleznete na následujícím webu společnosti Microsoft:V počítači, který je umístěn v doméně serveru SQL Server je nutné spustit nástroj SetSPN. Je nutné použít pověření správce domény. Určete, pokud služby SQL Server spustit jako účet domény nebo místní účet. Chcete-li použít nástroj SetSPN odpovídající názvy SPN vytvořit ručně, postupujte takto:

    Při spuštění služby SQL pomocí uživatelského účtu
    • Chcete-li vytvořit FQDN SPN v okně příkazového řádku, zadejte následující příkaz:
      setspn - A MSSQLSvc /SqlHostname.mydomain.com: 1433 SqlServiceAccount
    • Chcete-li vytvořit NetBIOS SPN v okno příkazového řádku, zadejte následující příkaz:
      setspn - A MSSQLSvc /SqlHostname: 1433 SqlServiceAccount
    Při spuštění služby SQL pod účtem Local System

    Pokud je SQL Server spuštěn pod účtem místního systému, není nutné ručně nakonfigurovat hlavní název služby pro SQL Server. Hlavní název služby se vytvoří automaticky při spuštění serveru SQL Server a bude odebrán při zastavení služby SQL. Pokud je SQL Server spuštěn pod účtem uživatele domény, je nutné ručně nakonfigurovat hlavní název služby.

    Odebrání názvu SPN

    Duplicitní název SPN pro počítač, který je spuštěn SQL Server může způsobit problémy s připojením. Následujícím postupem odeberete všechny existující názvy SPN ze serveru SQL Server a přidat nový název SPN:
    1. Zastavte služba MSSQL.
    2. Spuštění příkazu SETSPN -L název počítače Chcete-li vypsat všechny názvy SPN. Výstup je obvykle podobná následující:
      MSSQLSvc/MySQLServer dasaccount1 MSSQLSvc/MySQLServer:1433 
      MSSQLSvc/MySQLServer.MyDomain.com dasaccount1 MSSQLSvc/MySQLServer.MyDomain.com:1433

      Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

      Jak 319723 použití ověřování pomocí protokolu Kerberos na serveru SQL Server


      Pokud služba MSSQL spuštěna pod účtem místního systému, hlavní název služby je odebrán v případě, že je zastavena služba MSSQL. Proto pokud hlavní název služby je uveden ve výstupu příkazu SETSPN -L , je duplicitní název SPN. Pokud služba MSSQL spuštěna pod účtem uživatele domény, hlavní název služby je stále uveden v seznamu po spuštění příkazu SETSPN -L . Proto nelze určit, zda je název SPN duplicitní. V obou případech zajistit, že název SPN není duplicitní, odebrat a nahradit název SPN popsané kroky 1c až 1i.

    3. Pokud nejsou uvedeny žádné položky, které obsahují MSSQLSvc, odeberte tyto položky pomocí příkazu SETSPN -D . Například zadejte následující příkaz:
      SETSPN –D MSSQLSvc/MySQLServer DAS account
      SETSPN -D MSSQLSvc /MySQLServer.MyDomain.com <účet DAS>
    4. Spuštění příkazu SETSPN -L název počítače znovu a ujistěte se, že žádné výpisy pro MSSQLSvc zobrazí.
    5. Pokud služba MSSQL spuštěna pod účtem místního systému, ujistěte se, že spouštěcí účet serveru SQL Server je místní systémový účet. Toto nastavení lze konfigurovat na kartě zabezpečení v dialogovém okně Vlastnosti serveru ve správci SQL Server Enterprise Manager.
    6. Pokud služba MSSQL spuštěna pod účtem uživatele domény, zaregistrujte název SPN pomocí příkazu SETSPN -A , jak již bylo zmíněno dříve.
    7. Restartujte službu MSSQL.
    8. Po replikaci aktualizuje atribut servicePrincipalName na všechny účty domény, ověřte, že názvu SPN jsou zaregistrovány správně. Chcete-li to provést, spusťte následující příkaz:
      SETSPN -L název počítače
    9. Pokud se o názvy SPN jsou zaregistrovány správně, test připojení serveru SMS pomocí metod v části "Ověření oprávnění".
  2. Na každý primární server Ujistěte se, že skupiny zabezpečení SMS_SitetoSQLConnection obsahuje účty počítače nebo účty služby SMS pro všechny podřízené servery zprávy k primární lokalitě. Obvykle se tyto účty jsou přidány do skupiny zabezpečení SMS_SitetoSQLConnection při instalaci sítě. Pokud instalační program nemůže přidat účet, je zaznamenána následující zpráva o stavu serveru v konzole SMS Administrator console:
    4908 - site Component Manager do skupiny přístup SQL nelze přidat účet počítače "%1" "%2" na serveru SQL Server počítač "%3".
  3. Mezipaměť lístků protokolu Kerberos může být nutné obnovit. Vymazání existující mezipaměť lístků protokolu Kerberos pomocí nástroje Kerbtray ze systému Windows 2000 Server Resource Kit. Chcete-li stáhnout nástroj Kerbtray, naleznete na následujícím webu společnosti Microsoft:Další informace o tom, jak pomocí nástroje Kerbtray klepněte na následující číslo článku databáze Microsoft Knowledge Base:

    232179 správy pomocí protokolu Kerberos v systému Windows 2000

  4. Ověřte, že server DNS pro doménu je prvním ve vlastnostech protokolu TCP/IP serveru bodu správy.
  5. V horní části Seznam hledání přípon na serveru správy bod musí být uveden plně kvalifikovaný název domény v cílové doméně. Chcete-li změnit seznam hledání přípon, postupujte takto:
    1. Klepněte na tlačítko Start, klepněte na příkaz Spustit, zadejte příkaz ncpa.cpla potom klepněte na tlačítko OK.
    2. Klepněte pravým tlačítkem myši na připojení, které chcete změnit a potom klepněte na příkaz Vlastnosti.
    3. Vyberte položku Protokol sítě Internet (TCP/IP) ve skupinovém rámečku Toto připojení používá následující položkyv dialogovém okně Vlastnosti název připojení a potom klepněte na příkaz Vlastnosti.
    4. Na kartě Obecné klepněte na tlačítko Upřesnita potom klepněte na kartu DNS .
    5. Klepněte na tlačítko Připojit následující přípony DNS (v pořadí), klikněte na cílovou doménu a pak přesunout do cílové domény do horní části seznamu klepnutím na šipku posuvníku směřující.
    6. Klepněte dvakrát na tlačítko OK a potom klepněte na tlačítko Zavřít.

    =====

    Poznámka: Tento problém byl zaznamenán pouze s Systems Management Server 2003 a System Center Správce konfigurace 2007 neovlivní.

Odkazy

Další informace o spuštění v SMS rozšířené zabezpečení pomocí vzdáleného serveru SQL server klepněte na následující číslo článku databáze Microsoft Knowledge Base:

829868 serveru systems Management Server 2003 rozšířené zabezpečení pomocí vzdáleného SQL nepřipojí k serveru SQL Server

Další informace o načítání názvů SPN ze služby Active Directory klepněte na následující číslo článku databáze Microsoft Knowledge Base:

Jak načíst názvy SPN z adresáře 298718

Další informace o protokolu Kerberos naleznete klepnutím na následující čísla článku zobrazení v článcích znalostní báze Microsoft Knowledge Base:

266080 odpovědi na nejčastější dotazy Kerberos

326985 postup řešení problémů souvisejících s protokolem Kerberos ve službě IIS

Vlastnosti

ID článku: 832109 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor