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 na virtuálním počítači Azure
Tip
Existuje mnoho metod nasazení skupiny dostupnosti. Zjednodušte nasazení a eliminujte potřebu služby Azure Load Balancer nebo názvu distribuované sítě (DNN) pro vaši skupinu dostupnosti AlwaysOn vytvořením virtuálních počítačů s SQL Serverem v několika podsítích ve stejné virtuální síti Azure. Pokud jste skupinu dostupnosti už vytvořili v jedné podsíti, můžete ji migrovat do prostředí s více podsítěmi.
S SQL Serverem na virtuálních počítačích Azure v jedné podsíti směruje název distribuované sítě (DNN) provoz do příslušného clusterovaného prostředku. Poskytuje jednodušší způsob, jak se připojit ke skupině dostupnosti AlwaysOn (AG) než naslouchacímu procesu názvu virtuální sítě (VNN), aniž by bylo potřeba azure Load Balancer.
V tomto článku se naučíte nakonfigurovat naslouchací proces DNN tak, aby nahradil naslouchací proces VNN a směroval provoz do vaší skupiny dostupnosti SQL Serverem na virtuálních počítačích Azure pro zajištění vysoké dostupnosti a zotavení po havárii (HADR).
Pro alternativní možnost připojení zvažte místo toho naslouchací proces sítě VNN a Azure Load Balancer .
Přehled
Naslouchací proces DNN (Distributed Network Name) nahrazuje tradiční naslouchací proces skupiny dostupnosti virtuální sítě (VNN), když se používá se skupinami dostupnosti AlwaysOn na virtuálních počítačích s SQL Serverem. Tato konfigurace odstraní potřebu Azure Load Balanceru pro směrování provozu, zjednodušuje nasazení, údržbu a zlepšuje převzetí služeb při selhání.
Použijte DNN posluchač k nahrazení existujícího VNN posluchače. Případně ho můžete použít společně s existujícím naslouchacím procesem sítě VNN, aby vaše skupina dostupnosti používala dva různé spojovací body – jeden s názvem naslouchacího procesu sítě VNN (a portem, pokud není výchozí) a druhý s názvem a portem naslouchacího procesu DNN.
Upozornění
Chování směrování při použití sítě DNN se při použití sítě VNN liší. Nepoužívejte port 1433. Další informace najdete v části Aspekty portů dále v tomto článku.
Požadavky
Než dokončíte kroky v tomto článku, měli byste už mít:
- SQL Server počínaje SQL Serverem 2019 CU8 a novějším, SQL Serverem 2017 CU25 a novějším nebo SQL Serverem 2016 SP3 a novějším ve Windows Serveru 2016 a novějším.
- Rozhodli jste se, že název distribuované sítě je vhodnou možností připojení pro vaše řešení HADR.
- Nakonfigurovali jste skupinu dostupnosti AlwaysOn.
- Nainstalovali jsme nejnovější verzi PowerShellu.
- Identifikovali jste specifický port, který chcete použít pro sluchátko DNN. Port používaný pro naslouchací proces DNN musí být jedinečný pro všechny repliky skupiny dostupnosti nebo instance clusteru s podporou převzetí služeb při selhání. Žádné jiné připojení nemůže sdílet stejný port.
Poznámka:
Každá skupina dostupnosti nebo instance clusteru s podporou převzetí služeb při selhání v tomtéž clusteru potřebuje svůj vlastní nezávislý přístupový bod, ať už jde o naslouchací zařízení VNN nebo DNN.
Vytvoření skriptu
Pomocí PowerShellu vytvořte prostředek DNN (Distributed Network Name) a přidružte ho ke skupině dostupnosti.
Postup je následující:
Otevřete textový editor, například Poznámkový blok.
Zkopírujte a vložte následující skript:
param ( [Parameter(Mandatory=$true)][string]$Ag, [Parameter(Mandatory=$true)][string]$Dns, [Parameter(Mandatory=$true)][string]$Port ) Write-Host "Add a DNN listener for availability group $Ag with DNS name $Dns and port $Port" $ErrorActionPreference = "Stop" # create the DNN resource with the port as the resource name Add-ClusterResource -Name $Port -ResourceType "Distributed Network Name" -Group $Ag # set the DNS name of the DNN resource Get-ClusterResource -Name $Port | Set-ClusterParameter -Name DnsName -Value $Dns # start the DNN resource Start-ClusterResource -Name $Port $Dep = Get-ClusterResourceDependency -Resource $Ag if ( $Dep.DependencyExpression -match '\s*\((.*)\)\s*' ) { $DepStr = "$($Matches.1) or [$Port]" } else { $DepStr = "[$Port]" } Write-Host "$DepStr" # add the Dependency from availability group resource to the DNN resource Set-ClusterResourceDependency -Resource $Ag -Dependency "$DepStr" # restart the AG resource Stop-ClusterResource -Name $Ag Start-ClusterResource -Name $AgUložte skript jako
.ps1soubor, napříkladadd_dnn_listener.ps1.
Spustit skript
Pokud chcete vytvořit naslouchací proces DNN, spusťte skript předávající parametry pro název skupiny dostupnosti, název naslouchacího procesu a port.
Předpokládejme například, že název skupiny dostupnosti , název naslouchacího ag1procesu a port naslouchacího dnnlsnrprocesu jako 6789, postupujte takto:
Otevřete nástroj pro rozhraní příkazového řádku, například příkazový řádek nebo PowerShell.
Přejděte do umístění, kam jste skript uložili
.ps1, například c:\Documents.Spusťte skript:
add_dnn_listener.ps1 <ag name> <listener-name> <listener port>. Příklad:c:\Documents> .\add_dnn_listener.ps1 ag1 dnnlsnr 6789
Ověření naslouchacího procesu
K potvrzení úspěšného vytvoření naslouchacího procesu DNN použijte SQL Server Management Studio nebo Transact-SQL.
SQL Server Management Studio
Rozbalte naslouchací procesy skupin dostupnosti v aplikaci SQL Server Management Studio (SSMS) a zobrazte naslouchací proces DNN:
Transact-SQL
Stav naslouchacího procesu DNN zobrazíte pomocí jazyka Transact-SQL:
SELECT * FROM SYS.AVAILABILITY_GROUP_LISTENERS
Hodnota pro 1 označení naslouchacího is_distributed_network_name procesu je naslouchací proces DNN (Distributed Network Name):
Aktualizace připojovací řetězec
Aktualizujte připojovací řetězec pro všechny aplikace, které se potřebují připojit k naslouchacímu procesu DNN. Naslouchacímu procesu DNN musí připojovací řetězec zadat číslo portu DNN a zadat MultiSubnetFailover=True v připojovací řetězec. Pokud klient SQL parametr MultiSubnetFailover=True nepodporuje, není kompatibilní s listenerem DNN.
Následuje příklad připojovací řetězec pro název naslouchacího procesu DNN_Listener a port 6789:
DataSource=DNN_Listener,6789;MultiSubnetFailover=True
Test převzetí služeb při selhání
Otestujte převzetí služeb při selhání skupiny dostupnosti, abyste zajistili funkčnost.
K otestování převzetí služeb při selhání postupujte takto:
- Připojte se k naslouchacímu procesu DNN nebo k jedné z replik pomocí aplikace SQL Server Management Studio (SSMS).
- Rozbalte skupinu dostupnosti AlwaysOn v Průzkumník objektů.
- Klikněte pravým tlačítkem na skupinu dostupnosti a zvolte Převzetí služeb při selhání a otevřete Průvodce převzetím služeb při selhání.
- Postupujte podle pokynů a zvolte cíl převzetí služeb při selhání a skupinu dostupnosti převeďte na sekundární repliku.
- Ověřte, že je databáze v synchronizovaném stavu na nové primární replice.
- (Volitelné) Navrácení služeb po obnovení na původní primární nebo jinou sekundární repliku
Test připojení
Otestujte připojení k naslouchacímu procesu DNN pomocí následujícího postupu:
- Otevřete SQL Server Management Studio.
- Připojte se k naslouchacímu procesu DNN.
- Otevřete nové okno dotazu a zkontrolujte, ke které replice jste připojení spuštěním
SELECT @@SERVERNAME. - Převzetí služeb při selhání skupiny dostupnosti na jinou repliku
- Po přiměřené době spusťte
SELECT @@SERVERNAMEověření, že je vaše skupina dostupnosti hostovaná na jiné replice.
Omezení
- Naslouchací procesy DNN musí být nakonfigurované s jedinečným portem. Port nejde sdílet s žádným jiným připojením na žádné replice.
- Klient, který se připojuje k naslouchacímu procesu DNN, musí podporovat
MultiSubnetFailover=Trueparametr v připojovací řetězec. - Při práci s dalšími funkcemi SQL Serveru a skupinou dostupnosti s DNN může být potřeba zvážit další aspekty. Další informace najdete v tématu Skupina dostupnosti s interoperabilitou DNN.
Důležité informace o portech
Naslouchací procesy DNN jsou navržené tak, aby naslouchaly na všech IP adresách, ale na konkrétním jedinečném portu. Položka DNS (Domain Name System) pro název posluchače by se měla přeložit na adresy všech replik ve skupině dostupnosti. Tato konfigurace se provádí automaticky pomocí skriptu PowerShellu uvedeného v části Vytvořit skript . Vzhledem k tomu, že naslouchací procesy DNN přijímají připojení na všech IP adresách, je důležité, aby port naslouchacího procesu byl jedinečný a nepoužíý žádnou jinou replikou ve skupině dostupnosti. Vzhledem k tomu, že SQL Server naslouchá na portu 1433 ve výchozím nastavení přímo nebo prostřednictvím služby SQL Browser, důrazně nedoporučujeme používat port 1433 pro naslouchací proces DNN.
Pokud je port naslouchacího procesu VNN vybraný mezi 49 152 a 65 536 ( výchozí dynamický rozsah portů pro TCP/IP, přidejte pro tento port vyloučení. Tím zabráníte dynamickému přiřazování stejného portu jiným systémům.
Vyloučení portů můžete přidat pomocí následujícího příkazu: netsh int ipv4 add excludedportrange tcp startport=<Listener Port> numberofports=1 store=persistent
Související obsah
- Osvědčené postupy konfigurace HADR (SQL Server na virtuálních počítačích Azure)
- Cluster s podporou převzetí služeb při selhání Windows Serveru s SQL Serverem na virtuálních počítačích Azure
- Skupina dostupnosti AlwaysOn na SQL Serveru na virtuálních počítačích Azure
- Přehled: Co je skupina dostupnosti AlwaysOn?