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.
Existují určité funkce SQL Serveru, které spoléhají na pevně zakódovaný název virtuální sítě (VNN). Při použití prostředku DNN (Distributed Network Name) s instancí clusteru s podporou převzetí služeb při selhání a SQL Serveru na virtuálních počítačích Azure je potřeba zvážit několik aspektů.
V tomto článku se dozvíte, jak nakonfigurovat alias sítě při použití prostředku DNN a které funkce SQL Serveru vyžadují další aspekty.
Vytvoření aliasu sítě (FCI)
Některé součásti na straně serveru spoléhají na pevně zakódovanou hodnotu sítě VNN a vyžadují síťový alias, který mapuje síť VNN na název DNS DNN, aby správně fungoval.
Postupujte podle kroků v části Vytvoření nebo odstranění aliasu serveru, který používá klient , a vytvořte alias, který mapuje síť VNN na název DNS DNN.
Pro výchozí instanci můžete virtuální síť VNN namapovat přímo na název DNS DNN, aby název VNN = název DNS DNN.
- Pokud je například název sítě VNN , název
FCI1instance jeMSSQLSERVERa síť DNN jeFCI1DNN(klienti dříve připojeniFCIa nyní se připojují)FCI1DNNpak namapujte síť VNNFCI1na síť DNNFCI1DNN.
Pro pojmenovanou instanci by mělo být mapování aliasů sítě provedeno pro úplnou instanci, například VNN\Instance = DNN\Instance.
- Pokud je například název sítě VNN , název
FCI1instance jeinstAa síť DNN jeFCI1DNN(klienti dříve připojeniFCI1\instAa nyní se připojují)FCI1DNN\instaApak namapujte síť VNNFCI1\instaAna síť DNNFCI1DNN\instaA.
Klientské ovladače
U ovladačů ODBC, OLEDB, ADO.NET, JDBC, PHP a Node.js musí uživatelé explicitně zadat název DNS DNN jako název serveru v připojovací řetězec. Pokud chcete zajistit rychlé připojení při převzetí služeb při selhání, přidejte MultiSubnetFailover=True do připojovací řetězec, pokud ho klient SQL podporuje.
Nástroje
Uživatelé aplikace SQL Server Management Studio, sqlcmd, rozšíření MSSQL pro Visual Studio Code a SQL Server Data Tools musí explicitně zadat název DNS DNN jako název serveru v připojovacím řetězci.
Skupiny dostupnosti a FCI
Skupinu dostupnosti AlwaysOn můžete nakonfigurovat pomocí instance clusteru s podporou převzetí služeb při selhání jako jedné z replik. V této konfiguraci musí adresa URL koncového bodu zrcadlení repliky FCI používat síť FCI DNN. Podobně platí, že pokud se služba FCI používá jako replika jen pro čtení, musí směrování jen pro čtení do repliky FCI používat síť FCI DNN.
Formát koncového bodu zrcadlení je: ENDPOINT_URL = 'TCP://<DNN DNS name>:<mirroring endpoint port>'.
Pokud je dnnlsnrnapříklad název DNS DNN a 5022 je portem koncového bodu zrcadlení FCI, fragment kódu Transact-SQL (T-SQL) pro vytvoření adresy URL koncového bodu vypadá takto:
ENDPOINT_URL = 'TCP://dnnlsnr:5022'
Stejně tak formát adresy URL směrování jen pro čtení je: TCP://<DNN DNS name>:<SQL Server instance port>.
Pokud je dnnlsnrnapříklad název DNS DNN a 1444 je port používaný cílovým sql Serverem jen pro čtení, fragment kódu T-SQL k vytvoření adresy URL směrování jen pro čtení vypadá takto:
READ_ONLY_ROUTING_URL = 'TCP://dnnlsnr:1444'
Port v adrese URL můžete vynechat, pokud se jedná o výchozí port 1433. Pro pojmenovanou instanci nakonfigurujte statický port pro pojmenovanou instanci a zadejte ho v adrese URL směrování jen pro čtení.
Replikace
Replikace má tři komponenty: Publisher, Distributor, Subscriber. Libovolnou z těchto komponent může být instance clusteru s podporou převzetí služeb při selhání. Vzhledem k tomu, že síť FCI VNN se v konfiguraci replikace explicitně i implicitně používá, může být potřeba, aby replikace fungovala, a to jak explicitně, tak implicitně, síťový alias, který mapuje síť VNN na síť DNN.
Před konfigurací replikace dál použijte název sítě VNN jako název FCI, ale před konfigurací replikace vytvořte alias sítě v následujících vzdálených situacích:
| Komponenta replikace (FCI s DNN) | Vzdálená komponenta | Mapa aliasů sítě | Server s mapou sítě |
|---|---|---|---|
| Publisher | Distributor | Vydavatel VNN to Publisher DNN | Distributor |
| Distributor | Odběratel | Distributor VNN na Distributor DNN | Odběratel |
| Distributor | Publisher | Distributor VNN k Distributoru DNN | Publisher |
| Odběratel | Distributor | Odběratel VNN pro předplatitele DNN | Distributor |
Předpokládejme například, že máte Publisher, který je nakonfigurovaný jako FCI pomocí DNN v topologii replikace a distributor je vzdálený. V takovém případě vytvořte na serveru distributora síťový alias, který mapuje síť VNN vydavatele na název DNN vydavatele:
Pro pojmenovanou instanci použijte úplný název instance, například v následujícím příkladu obrázku:
Zrcadlení databáze
Zrcadlení databáze můžete nakonfigurovat pomocí FCI jako partnera pro zrcadlení databáze. Nakonfigurujte ho pomocí jazyka Transact-SQL (T-SQL) místo grafického uživatelského rozhraní aplikace SQL Server Management Studio. Použití T-SQL zajistí, že se koncový bod zrcadlení databáze vytvoří pomocí sítě DNN místo sítě VNN.
Pokud je dnnlsnrnapříklad název DNS DNN a koncový bod zrcadlení databáze je 7022, nakonfiguruje následující fragment kódu T-SQL partnera pro zrcadlení databáze:
ALTER DATABASE AdventureWorks
SET PARTNER = 'TCP://dnnlsnr:7022';
Pro klientský přístup může vlastnost Partner převzetí služeb při selhání zpracovat převzetí služeb při selhání zrcadlení databáze, ale ne převzetí služeb při selhání FCI.
služba MSDTC
FCI se může účastnit distribuovaných transakcí koordinovaných koordinátorem distribuovaných transakcí (MSDTC). Clusterované MSDTC a místní MSDTC jsou podporovány s FCI DNN. V Azure je nástroj Azure Load Balancer nezbytný pro clusterované nasazení MSDTC.
Tip
Síť DNN definovaná v FCI nenahrazuje požadavek Azure Load Balanceru pro clusterovaný MSDTC.
FILESTREAM
I když se fileSTREAM podporuje pro databázi v FCI, přístup k FILESTREAM nebo FileTable pomocí rozhraní API systému souborů s DNN se nepodporuje.
Odkazované servery
Použití propojeného serveru s FCI DNN je podporováno. Buď použijte síť DNN přímo ke konfiguraci propojeného serveru, nebo pomocí síťového aliasu namapujte síť VNN na síť DNN.
Pokud například chcete vytvořit propojený server s názvem dnnlsnr DNS DNN pro pojmenovanou instanci insta1, použijte následující příkaz Transact-SQL (T-SQL):
USE master;
GO
EXECUTE master.dbo.sp_addlinkedserver
@server = N'dnnlsnr\inst1',
@srvproduct = N'SQL Server';
Případně můžete vytvořit propojený server pomocí názvu virtuální sítě (VNN), ale pak musíte definovat alias sítě pro mapování sítě VNN na síť DNN.
Například název instance, název insta1sítě VNN vnnnamea název dnnlsnrDNN použijte následující příkaz Transact-SQL (T-SQL) k vytvoření propojeného serveru pomocí sítě VNN:
USE master;
GO
EXECUTE master.dbo.sp_addlinkedserver
@server = N'vnnname\inst1',
@srvproduct = N'SQL Server';
Potom vytvořte alias sítě pro mapování vnnname\insta1 na dnnlsnr\insta1.
Nejčastější dotazy
Která verze SQL Serveru přináší podporu DNN?
SQL Server 2019 CU2 a novější verze
Jaká je očekávaná doba převzetí služeb při selhání při použití DNN?
Pro DNN je čas převzetí služeb při selhání jenom čas převzetí u FCI, aniž by se přidal čas zjišťování, jako je tomu při použití Azure Load Balanceru.
Existuje nějaký požadavek na verzi, aby klienti SQL podporovali DNN s OLEDB a ODBC?
MultiSubnetFailover=True Doporučujeme připojovací řetězec podporu sítě DNN. Je k dispozici od SQL Serveru 2012 (11.x).
Vyžadují se nějaké změny konfigurace SQL Serveru pro použití DNN?
SQL Server nevyžaduje žádnou změnu konfigurace pro použití sítě DNN, ale některé funkce SQL Serveru můžou vyžadovat další aspekty.
Podporuje síť DNN clustery s více podsítěmi?
Ano. Cluster sváže síť DNN v DNS s fyzickými IP adresami všech uzlů v clusteru bez ohledu na podsíť. Klient SQL zkouší všechny IP adresy názvu DNS bez ohledu na podsíť.
Související obsah
- Cluster s podporou převzetí služeb při selhání Windows Serveru s SQL Serverem na virtuálních počítačích Azure
- Instance clusteru pro automatické selhání s SQL Serverem na virtuálních počítačích Azure
- Přehled instance clusteru s podporou převzetí služeb při selhání
- Osvědčené postupy konfigurace HADR (SQL Server na virtuálních počítačích Azure)