Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Tento článek obsahuje informace o následujících problémech:
- Základní kroky pro řešení potíží
- Zotavení po selhání clusteru
- Řešení nejběžnějších problémů s clusteringem s podporou převzetí služeb při selhání
- Použijte rozšířené uložené procedury a objekty COM
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
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.
Podle pokynů v průvodci určete servery a testy a spusťte testy. Stránka Souhrn se zobrazí po spuštění testů.
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.htmlse, kde%SystemRoot%je složka, ve které je nainstalovaný operační systém (napříkladC:\Windows).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:
- Doporučené opravy hotfixů a aktualizace pro clustery pro převzetí služeb při selhání založené na Windows Serveru 2012 R2
- Doporučené opravy hotfix a aktualizace pro clustery převzetí služeb při selhání založené na Windows Serveru 2012
- Doporučené opravné balíčky hotfix a aktualizace pro clustery převzetí služeb při selhání založené na systému Windows Server 2008 R2
- Doporučené aktualizace a opravy hotfix pro clustery pro převzetí služeb při selhání systému Windows Server 2008
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:
Selhání hardwaru v jednom uzlu clusteru se dvěma uzly Příčinou tohoto selhání hardwaru může být selhání karty SCSI nebo operačního systému.
Pokud se chcete z tohoto selhání zotavit, odeberte uzel, který selhal, z clusteru s podporou převzetí služeb při selhání pomocí instalačního programu SYSTÉMU SQL Server, vyřešte selhání počítače offline, přeneste počítač zpět a potom přidejte opravený uzel zpět do instance clusteru s podporou převzetí služeb při selhání.
Další informace najdete v tématu Vytvoření nové instance clusteru s podporou převzetí služeb při selhání Always On (nastavení) a zotavení ze selhání instance clusteru s podporou převzetí služeb při selhání.
Selhání operačního systému. V tomto případě je uzel offline, ale není nenávratně poškozený.
Pro zotavení ze selhání operačního systému obnovte uzel a otestujte převzetí služeb při selhání. Pokud instance SQL Serveru nepřejde správně, musíte pomocí instalačního programu SQL Serveru odebrat SQL Server z clusteru s podporou převzetí služeb při selhání, provést potřebné opravy, převést počítač zpět a potom přidat opravený uzel zpět do instance clusteru s podporou převzetí služeb při selhání.
Obnovení z selhání operačního systému tímto způsobem může nějakou dobu trvat. Pokud je možné selhání operačního systému snadno obnovit, vyhněte se použití této techniky.
Další informace najdete v tématu Vytvoření nové instance clusteru s podporou převzetí služeb při selhání Always On (nastavení) a zotavení ze selhání instance clusteru s podporou převzetí služeb při selhání.
Ř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:
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.
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.
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.Na klientském počítači spusťte nástroj SQL Server Configuration Manager.
Vytvořte alias
SQLTEST1pro 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.Připojte se k této instanci pomocí aliasu
SQLTEST1jako 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:
- Odstraňte prostředek disku z clusteru.
- Odstraňte všechny oddíly na disku.
- Ve vlastnostech disku ověřte, že je disk základním diskem.
- Vytvořte na sdíleném disku jeden oddíl, naformátujte disk a přiřaďte tomuto disku písmeno jednotky.
- Přidejte disk do clusteru pomocí správce clusteru (cluadmin).
- 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ě:
V Ovládacích panelech otevřete Nástroje pro správu a pak otevřete Správu počítače.
V levém podokně Správa počítače rozbalte služby a aplikace a pak vyberte Služby.
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.
V okně Koordinátor distribuovaných transakcí vyberte kartu Obecné a pak vyberte zastavit službu.
V okně Koordinátor distribuovaných transakcí vyberte kartu Přihlášení a nastavte přihlašovací účet
NT AUTHORITY\NetworkService.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:
- SQL Server je nainstalován jako instance clusteru pro převzetí služeb při selhání ve více podsítích.
- Instance failover clusteru je výchozí instance.
- Databázový stroj naslouchá na pevném portu TCP jiném než výchozím portu 1433.
- 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
- Na aktivním uzlu otevřete SQL Server Configuration Manager.
- Rozbalte SQL Server Network Configuration a poté vyberte Protocols for MSSQLSERVER.
- Otevřete TCP/IP a vyberte záložku IP adres.
- Pokud je Listen All nastaveno na Yes, všimněte si hodnoty TCP portu pod IPAll.
- 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.
- 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:
- Otevřete konfigurační nástroj pro alias klienta SQL Server, který platí pro nainstalovanou verzi SQL Server.
- Vytvořte nový alias.
- 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.
- Vyberte TCP/IP jako protokol.
- V Serveru zadejte název virtuální sítě instance failover clusteru. Nezadávejte fyzický název uzlu.
- V portu číslo zadejte pevný TCP port identifikovaný v kroku 1.
- 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
- V SQL Server Management Studio se připojte k instanci failover clusteru.
- V Průzkumník objektů rozšířte instanci.
- Klikněte pravým tlačítkem na SQL Server Agent a poté vyberte Vlastnosti.
- Pod Vybrat stránku vyberte Připojení.
- Na lokálním hostitelském serveru Alias zadejte název aliasu vytvořený v kroku 2.
- Vyberte OK.
- Restartujte agenta SQL Serveru.
Pro více informací viz Nastavit alias SQL Server pro službu SQL Server Agent.
Krok 4: Ověřte konfiguraci
- Potvrďte, že SQL Server Agent úspěšně startuje.
- Prohlédněte si log SQL Server Agent a potvrďte, že se Agent připojil k zamýšlené lokální instanci Database Engine.
- Spusť jednoduchou úlohu SQL Server Agent, abys potvrdil, že se úlohy mohou připojit k instanci.
- V době, kdy by to nenarušilo běžné obchodní aktivity, přesuňte instanci failover clusteru na jiný možný vlastník.
- Potvrďte, že SQL Server Agent startuje a testovací úloha na daném uzlu uspěje.
- 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.