Řešení problémů s clusterem pro podporu převzetí služeb při selhání

platí pro:SQL Server

Tento článek obsahuje informace o následujících problémech:

Základní postupy při řešení potíží

Prvním krokem diagnostiky je spuštění čerstvého ověření clusteru. Podrobnosti o ověřování najdete v tématu Vytvoření clusteru pro převzetí služeb při selhání: Ověření konfigurace. To je možné dokončit bez přerušení služby, protože nemá vliv na žádné prostředky online clusteru.

Ověření je možné spustit kdykoli po instalaci funkce Clustering s podporou převzetí služeb při selhání, včetně před nasazením clusteru, během vytváření clusteru a během spuštění clusteru. Ve skutečnosti se po použití clusteru spustí další testy, které kontrolují, že se dodržují osvědčené postupy pro úlohy s vysokou dostupností. V těchto desítkách testů má vliv jenom několik z nich na spouštění úloh clusteru a všechny jsou v kategorii úložiště, takže přeskočení celé kategorie je snadný způsob, jak se vyhnout rušivým testům.

Clustering s podporou převzetí služeb při selhání obsahuje integrovanou ochranu, která brání náhodnému výpadku při spouštění testů úložiště během ověřování. Pokud má cluster po zahájení ověření nějaké online skupiny a testy úložiště zůstanou vybrané, vyzve uživatele k potvrzení, jestli chce spustit všechny testy (a způsobit výpadek), nebo přeskočit testování disků všech online skupin, aby se zabránilo výpadkům. Pokud byla celá kategorie úložiště vyloučena z testování, nezobrazí se tato výzva. To umožňuje ověření clusteru bez výpadků.

Jak znovu validovat váš cluster

  1. V modulu snap-in Cluster s podporou převzetí služeb při selhání ve stromu konzoly se ujistěte, že je vybraná správa clusteru s podporou převzetí služeb při selhání , a pak v části Správa vyberte Ověřit konfiguraci.

  2. Podle pokynů v průvodci určete servery a testy a spusťte testy. Stránka Souhrn se zobrazí po spuštění testů.

  3. Na stránce Souhrn vyberte Zobrazit zprávu pro zobrazení výsledků testu.

    Pokud chcete zobrazit výsledky testů po zavření průvodce, podívejte %SystemRoot%\Cluster\Reports\Validation Report date and time.html se, kde %SystemRoot% je složka, ve které je nainstalovaný operační systém (například C:\Windows).

  4. Pokud chcete zobrazit články nápovědy, které vám pomůžou interpretovat výsledky, vyberte Další informace o ověřovacích testech clusteru.

Pokud chcete zobrazit články nápovědy o ověření clusteru po zavření průvodce, v modulu snap-in Cluster s podporou převzetí služeb při selhání vyberte Nápověda, vyberte Témata nápovědy, vyberte kartu Obsah , rozbalte obsah nápovědy clusteru s podporou převzetí služeb při selhání a vyberte Ověření konfigurace clusteru s podporou převzetí služeb při selhání. Po dokončení průvodce ověřením zobrazí souhrnná zpráva výsledky. Všechny testy musí projít buď se zelenou značkou zaškrtnutí, nebo v některých případech žlutým trojúhelníkem (upozornění). Při hledání problémových oblastí (červené Xs nebo žluté otazníky) v části sestavy, která shrnuje výsledky testu, vyberte jednotlivý test a prohlédněte si podrobnosti. Před řešením potíží s SQL Serverem je potřeba vyřešit všechny problémy s červeným X.

Instalace aktualizací

Instalace aktualizací je důležitou součástí zabránění problémům s vaším systémem. Užitečné odkazy:

Obnova po selhání převzetí služeb při selhání v clusteru

Porucha clusteru při převzetí služeb je obvykle výsledkem jedné z následujících dvou příčin:

Řešení běžných problémů

Následující seznam popisuje běžné problémy s používáním a vysvětluje, jak je vyřešit.

Problém: Nesprávné použití syntaxe příkazového řádku k instalaci SQL Serveru

Problém 1: Při použití přepínače z příkazového /qn řádku je obtížné diagnostikovat problémy s nastavením, protože /qn přepínač potlačí všechna dialogová okna instalace a chybové zprávy. /qn Pokud je přepínač zadán, všechny instalační zprávy, včetně chybových zpráv, se zapisují do souborů protokolu instalace. Další informace o souborech protokolu naleznete v tématu Zobrazení a čtení souborů protokolu instalace SYSTÉMU SQL Server.

Rozlišení 1: Použijte /qb přepínač místo /qn přepínače. Pokud použijete /qb přepínač, zobrazí se základní uživatelské rozhraní v každém kroku, včetně chybových zpráv.

Problém: SQL Server se po migraci na jiný uzel nemůže připojit k síti

Problém 1: Účty služby SQL Serveru nemůžou kontaktovat řadič domény.

Řešení 1: V protokolech událostí zkontrolujte známky problémů se sítí, jako jsou selhání adaptérů nebo problémy s DNS. Ověřte, že můžete pingnout váš řadič domény.

Problém 2: Hesla účtů služby SQL Serveru nejsou na všech uzlech clusteru stejná nebo uzel nerestartuje službu SQL Serveru, která se migrovala z uzlu, který selhal.

Řešení 2: Změňte hesla účtu služby SQL Server pomocí nástroje SQL Server Configuration Manager. Pokud ne a změníte hesla účtu služby SQL Server na jednom uzlu, musíte také změnit hesla na všech ostatních uzlech. Sql Server Configuration Manager to dělá automaticky.

Problém: SQL Server nemá přístup k diskům clusteru

Problém 1: Firmware nebo ovladače se neaktualizují na všech uzlech.

Řešení 1: Ověřte, že všechny uzly používají správné verze firmwaru a stejné verze ovladačů.

Problém 2: Uzel nemůže obnovit disky clusteru, které byly migrovány z uzlu, který selhal, na sdíleném disku clusteru s jiným písmenem jednotky.

Řešení 2: Písmena diskových jednotek pro disky clusteru musí být na obou serverech stejná. Pokud nejsou, zkontrolujte původní instalaci operačního systému a služby clusteru Microsoftu (MSCS).

Problém: Selhání služby SQL Serveru způsobuje přepnutí při selhání

Usnesení: Chcete-li zabránit selhání konkrétních služeb v důsledku převzetí služeb při selhání skupiny SYSTÉMU SQL Server, nakonfigurujte tyto služby pomocí správce clusteru ve Windows následujícím způsobem:

  • Zrušte zaškrtnutí políčka Vliv na skupinu na kartě Upřesnit v dialogovém okně Vlastnosti plného textu. Pokud ale SQL Server způsobí převzetí služeb při selhání, služba fulltextového vyhledávání se restartuje.

Problém: SQL Server se nespustí automaticky

Řešení: Použijte Cluster Administrator v MSCS pro automatické spuštění clusteru s převzetím služeb při selhání. Služba SQL Serveru by měla být nastavená tak, aby se spustila ručně; Správce clusteru by měl být v MSCS nakonfigurovaný tak, aby spustil službu SQL Serveru. Další informace naleznete v tématu Správa služeb.

Problém: Název sítě je offline a nemůžete se připojit k SQL Serveru pomocí protokolu TCP/IP

Problém 1: DNS selhává, protože prostředek clusteru je nastaven tak, aby vyžadoval DNS.

Řešení 1: Opravte problémy s DNS.

Problém 2: Duplicitní název je v síti.

Řešení 2: Pomocí nástroje nbtstat vyhledejte duplicitní název a opravte problém.

Problém 3: SQL Server se nepřipojí pomocí pojmenovaných kanálů.

Řešení 3: Pokud se chcete připojit pomocí pojmenovaných kanálů, vytvořte alias pomocí nástroje SQL Server Configuration Manager pro připojení k příslušnému počítači. Pokud máte například cluster se dvěma uzly (Node A a Node B) a instancí clusteru pro převzetí služeb při selhání (Virtsql) s výchozí instancí, můžete se připojit k serveru, který má prostředek názvu sítě, který je offline, pomocí následujícího postupu:

  1. Pomocí správce clusteru určete, na kterém uzlu skupina obsahující instanci SQL Serveru běží. V tomto příkladu je to Node A.

  2. Spusťte službu SQL Serveru na tomto počítači pomocí příkazu net start. Další informace o použití příkazu net start naleznete v tématu Ruční spuštění SQL Serveru.

  3. Spusťte SQL Server SQL Server Configuration Manager na uzlu A. Zobrazte název kanálu, na kterém server naslouchá. Mělo by to být podobné \\.\$$\VIRTSQL\pipe\sql\query.

  4. Na klientském počítači spusťte nástroj SQL Server Configuration Manager.

  5. Vytvořte alias SQLTEST1 pro připojení prostřednictvím pojmenovaných kanálů k tomuto názvu kanálu. Uděláte to tak, že jako název serveru zadáte Uzel A a upravíte název kanálu tak, aby byl \\.\pipe\$$\VIRTSQL\sql\query.

  6. Připojte se k této instanci pomocí aliasu SQLTEST1 jako názvu serveru.

Problém: Instalace SQL Serveru v clusteru selže s chybou 11001

Problém: Osiřelý klíč registru v HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Cluster.

Usnesení: Ujistěte se, že MSSQL.X se registr hive aktuálně nepoužívá, a odstraňte klíč clusteru.

Problém: Chyba instalace clusteru: Instalační program nemá dostatečná oprávnění pro přístup k tomuto adresáři: <jednotka>\Microsoft SQL Server. Instalace nemůže pokračovat. Přihlaste se jako správce nebo se obraťte na správce systému"

Problém: Příčinou této chyby je sdílená jednotka SCSI, která není správně rozdělená na oddíly.

Řešení: Znovu vytvořte jeden oddíl na sdíleném disku pomocí následujícího postupu:

  1. Odstraňte prostředek disku z clusteru.
  2. Odstraňte všechny oddíly na disku.
  3. Ve vlastnostech disku ověřte, že je disk základním diskem.
  4. Vytvořte na sdíleném disku jeden oddíl, naformátujte disk a přiřaďte tomuto disku písmeno jednotky.
  5. Přidejte disk do clusteru pomocí správce clusteru (cluadmin).
  6. Spusťte instalační program SQL Serveru.

Problém: Aplikace nezdaří zařadit prostředky SQL Serveru do distribuované transakce

Vydání: Vzhledem k tomu, že služba MS DTC (Microsoft Distributed Transaction Coordinator) (MS DTC) není v systému Windows zcela nakonfigurován, aplikace mohou selhat při zařazování prostředků SQL Serveru do distribuované transakce. Tento problém může ovlivnit propojené servery, distribuované dotazy a vzdálené uložené procedury, které používají distribuované transakce. Další informace o konfiguraci služby MS DTC naleznete v pokynech Před instalací clustery pro převzetí služeb při selhání.

Usnesení: Chcete-li těmto problémům zabránit, je nutné plně povolit služby MS DTC na serverech, na kterých je nainstalován SQL Server a je nakonfigurován MS DTC.

Pokud chcete plně povolit MS DTC, postupujte následovně:

  1. V Ovládacích panelech otevřete Nástroje pro správu a pak otevřete Správu počítače.

  2. V levém podokně Správa počítače rozbalte služby a aplikace a pak vyberte Služby.

  3. V pravém podokně Správa počítače klikněte pravým tlačítkem myši na Koordinátor distribuovaných transakcí a vyberte Vlastnosti.

  4. V okně Koordinátor distribuovaných transakcí vyberte kartu Obecné a pak vyberte zastavit službu.

  5. V okně Koordinátor distribuovaných transakcí vyberte kartu Přihlášení a nastavte přihlašovací účet NT AUTHORITY\NetworkService.

  6. Výběrem možnosti Použít a OK zavřete okno Koordinátor distribuovaných transakcí . Zavřete okno Správa počítače . Zavřete okno Nástroje pro správu .

Problém: SQL Server Agent se nemůže připojit k instanci vícepodsíťového failover clusteru na vlastním portu

Problém: SQL Server Agent se nemůže připojit k lokálnímu Database Engine, když jsou splněny všechny následující podmínky:

  1. SQL Server je nainstalován jako instance clusteru pro převzetí služeb při selhání ve více podsítích.
  2. Instance failover clusteru je výchozí instance.
  3. Databázový stroj naslouchá na pevném portu TCP jiném než výchozím portu 1433.
  4. SQL Server Agent se připojuje k lokální instanci během startu.

Pro instanci clusteru s podporou převzetí služeb při selhání ve více podsítích se pro počáteční připojení agenta SQL Server používá MultiSubnetFailover=Yes. Toto nastavení způsobí, že klient používá TCP. Spojení se nevrací do sdílené paměti ani pojmenovaných trubek. Když je cílem (local) a není zadán žádný port, spojení se pokusí připojit k portu TCP 1433. Spojení selže, pokud Database Engine na tomto portu neposlouchá.

Můžete vidět podobné spojení jako následující v ODBC trace:

DRIVER=ODBC Driver 17 for SQL Server;SERVER=(local);APP=SQLAgent - Initial Boot Probe;DATABASE=master;MultiSubnetFailover=YES;

Řešení: Vytvořte TCP alias, který nasměruje spojení SQL Server Agent na název virtuální sítě a konfigurovaný TCP port instance failover clusteru. Nakonfigurujte alias na každém uzlu, který může hostovat instanci failover clusteru.

Krok 1: Ověřte konfigurovaný TCP port

  1. Na aktivním uzlu otevřete SQL Server Configuration Manager.
  2. Rozbalte SQL Server Network Configuration a poté vyberte Protocols for MSSQLSERVER.
  3. Otevřete TCP/IP a vyberte záložku IP adres.
  4. Pokud je Listen All nastaveno na Yes, všimněte si hodnoty TCP portu pod IPAll.
  5. Pokud je Listen All nastaveno na Ne, všimněte si hodnoty TCP portu pro každou povolenou IP adresu používanou instancí failover clusteru.
  6. Potvrďte, že protokol chyb SQL Serveru uvádí, že databázový stroj naslouchá na očekávaném portu.

Další informace naleznete v tématu Konfigurace SQL Serveru pro naslouchání na konkrétním portu TCP.

Krok 2: Vytvořte TCP alias na každém uzlu clusteru

Dokončete tyto kroky na každém uzlu, který může hostovat instanci failover clusteru:

  1. Otevřete konfigurační nástroj pro alias klienta SQL Server, který platí pro nainstalovanou verzi SQL Server.
  2. Vytvořte nový alias.
  3. V Alias Name zadejte unikátní název pro lokální připojení SQL Server Agent. Používejte stejný alias na každém uzlu.
  4. Vyberte TCP/IP jako protokol.
  5. V Serveru zadejte název virtuální sítě instance failover clusteru. Nezadávejte fyzický název uzlu.
  6. V portu číslo zadejte pevný TCP port identifikovaný v kroku 1.
  7. Uložte alias.

Pro podrobné instrukce a požadavky na verzi viz Vytvořit nebo smazat serverový alias pro použití klientem.

Important

Alias SQL Server je konfigurace klienta. Vytvořte identický alias na každém uzlu, který může vlastnit instanci failover clusteru. Jinak může SQL Server Agent selhat poté, co instance přejde na uzel, kde alias není nastavený.

Krok 3: Nakonfigurujte SQL Server Agent tak, aby používal alias

  1. V SQL Server Management Studio se připojte k instanci failover clusteru.
  2. V Průzkumník objektů rozšířte instanci.
  3. Klikněte pravým tlačítkem na SQL Server Agent a poté vyberte Vlastnosti.
  4. Pod Vybrat stránku vyberte Připojení.
  5. Na lokálním hostitelském serveru Alias zadejte název aliasu vytvořený v kroku 2.
  6. Vyberte OK.
  7. Restartujte agenta SQL Serveru.

Pro více informací viz Nastavit alias SQL Server pro službu SQL Server Agent.

Krok 4: Ověřte konfiguraci

  1. Potvrďte, že SQL Server Agent úspěšně startuje.
  2. Prohlédněte si log SQL Server Agent a potvrďte, že se Agent připojil k zamýšlené lokální instanci Database Engine.
  3. Spusť jednoduchou úlohu SQL Server Agent, abys potvrdil, že se úlohy mohou připojit k instanci.
  4. V době, kdy by to nenarušilo běžné obchodní aktivity, přesuňte instanci failover clusteru na jiný možný vlastník.
  5. Potvrďte, že SQL Server Agent startuje a testovací úloha na daném uzlu uspěje.
  6. Test zopakujte pro každý možný uzel vlastníka.

Použijte rozšířené uložené procedury a objekty COM

Pokud používáte rozšířené uložené procedury s konfigurací clusteringu s podporou převzetí služeb při selhání, musí být všechny rozšířené uložené procedury nainstalovány na disku clusteru závislém na SQL Serveru. Tím se zajistí, že když uzel převezme služby při selhání, můžete rozšířené uložené procedury dál používat.

Pokud rozšířené uložené procedury používají součásti modelu COM, musí správce zaregistrovat komponenty MODELU COM na každém uzlu clusteru. Informace pro načítání a spouštění komponent modelu COM musí být v registru aktivního uzlu, aby se komponenty vytvořily. V opačném případě zůstanou informace v registru počítače, na kterém byly součásti modelu COM poprvé zaregistrovány.