Funkciók együttműködése az SQL Server FCI> DNN-vel
A következőre vonatkozik:SQL Server azure-beli virtuális gépen
Tipp.
Egy rendelkezésre állási csoport üzembe helyezésének számos módja van. Egyszerűsítse az üzembe helyezést, és szükségtelenné teszi az Azure Load Balancer vagy az elosztott hálózatnév (DNN) használatát az Always On rendelkezésre állási csoport számára azáltal, hogy sql serveres virtuális gépeket (VM-eket) hoz létre több alhálózatban ugyanazon az Azure-beli virtuális hálózaton belül. Ha már létrehozta a rendelkezésre állási csoportot egyetlen alhálózatban, migrálhatja azt egy több alhálózatos környezetbe.
Vannak bizonyos SQL Server-funkciók, amelyek egy rögzített virtuális hálózatnévre (VNN) támaszkodnak. Ezért ha az elosztott hálózati név (DNN) erőforrást a feladatátvevő fürtpéldányával és az Azure-beli virtuális gépeken futó SQL Serverrel használja, további szempontokat is figyelembe kell vennie.
Ebből a cikkből megtudhatja, hogyan konfigurálhatja a hálózati aliast a DNN-erőforrás használatakor, valamint azt, hogy mely SQL Server-funkciók igényelnek további szempontokat.
Hálózati alias létrehozása (FCI)
Egyes kiszolgálóoldali összetevők egy nehezen kódolt VNN-értékre támaszkodnak, és olyan hálózati aliast igényelnek, amely megfelelteti a VNN-t a DNN DNS-nevének megfelelően. A kiszolgálói alias létrehozása lépésekkel hozzon létre egy olyan aliast, amely leképozza a VNN-t a DNN DNS-ének nevére.
Egy alapértelmezett példány esetében a VNN-t közvetlenül a DNN DNS-hez rendelheti, így a VNN = DNN DNS-név.
Ha például a VNN neve FCI1
, akkor a MSSQLSERVER
példány neve, és a DNN FCI1DNN
(az ügyfelek korábban csatlakoztak FCI
hozzá, és most csatlakoznak) FCI1DNN
lesznek, majd képezze le a VNN-t FCI1
a DNN-hez FCI1DNN
.
Egy elnevezett példány esetében a teljes példányhoz el kell végezni a hálózati aliasleképezést, például.VNN\Instance
= DNN\Instance
Ha például a VNN neve FCI1
, akkor a instA
példány neve, és a DNN FCI1DNN
(az ügyfelek korábban csatlakoztak FCI1\instA
hozzá, és most csatlakoznak) FCI1DNN\instaA
lesznek, majd képezze le a VNN-t FCI1\instaA
a DNN-hez FCI1DNN\instaA
.
Ügyfélillesztők
ODBC, OLEDB, ADO.NET, JDBC, PHP és Node.js illesztőprogramok esetén a felhasználóknak explicit módon meg kell adniuk a DNN DNS-nevet a kiszolgáló neveként a kapcsolati sztring. Ha a feladatátvételkor gyors kapcsolatot szeretne biztosítani, adja hozzá MultiSubnetFailover=True
a kapcsolati sztring, ha az SQL-ügyfél támogatja.
Tools
Az SQL Server Management Studio, az sqlcmd, az Azure Data Studio és az SQL Server Data Tools felhasználóinak explicit módon meg kell adniuk a DNN DNS-nevet a kiszolgáló neveként a kapcsolati sztring.
Rendelkezésre állási csoportok és FCI
Az Always On rendelkezésre állási csoportot úgy konfigurálhatja, hogy egy feladatátvevő fürtpéldányt használ a replikák egyikeként. Ebben a konfigurációban az FCI-replikához tartozó tükrözési végpont URL-címének az FCI DNN-t kell használnia. Hasonlóképpen, ha az FCI-t írásvédett replikaként használják, az FCI-replikához való írásvédett útválasztásnak az FCI DNN-t kell használnia.
A tükrözési végpont formátuma: ENDPOINT_URL = 'TCP://<DNN DNS name>:<mirroring endpoint port>'
.
Ha például a DNN DNS-neve dnnlsnr
, és 5022
az FCI tükrözési végpontjának portja, a Végpont URL-címének létrehozásához a Transact-SQL (T-SQL) kódrészlet a következőképpen néz ki:
ENDPOINT_URL = 'TCP://dnnlsnr:5022'
Hasonlóképpen az írásvédett útválasztási URL formátuma a következő: TCP://<DNN DNS name>:<SQL Server instance port>
.
Ha például a DNN DNS-neve dnnlsnr
, és 1444
az írásvédett cél SQL Server FCI által használt port, a csak olvasható útválasztási URL-cím létrehozásához használt T-SQL-kódrészlet a következőképpen néz ki:
READ_ONLY_ROUTING_URL = 'TCP://dnnlsnr:1444'
Ha ez az alapértelmezett 1433-at adja meg, kihagyhatja a portot az URL-címből. Névvel ellátott példány esetén konfiguráljon egy statikus portot az elnevezett példányhoz, és adja meg az írásvédett útválasztási URL-címben.
Replikáció
A replikáció három összetevőből áll: Publisher, Distributor, Subscriber. Ezen összetevők bármelyike lehet feladatátvevő fürtpéldány. Mivel az FCI VNN-t nagy mértékben használják a replikációs konfigurációban, explicit módon és implicit módon is, a replikáció működéséhez szükség lehet egy hálózati aliasra, amely leképezi a VNN-t a DNN-hez.
A replikáció konfigurálása előtt használja a VNN-nevet FCI-névként, de a replikáció konfigurálása előtt hozzon létre egy hálózati aliast a következő távoli helyzetekben:
Replikációs összetevő (FCI DNN-vel) | Távoli összetevő | Hálózati aliastérkép | Kiszolgáló hálózati térképpel |
---|---|---|---|
Publisher | Terjesztő | Publisher VNN–Publisher DNN | Terjesztő |
Terjesztő | Előfizető | TerjesztőI VNN–forgalmazóI DNN | Előfizető |
Terjesztő | Publisher | TerjesztőI VNN–forgalmazóI DNN | Publisher |
Előfizető | Terjesztő | Előfizetői VNN az előfizetőI DNN-nek | Terjesztő |
Tegyük fel például, hogy van egy olyan Közzétevője, amely FCI-ként van konfigurálva egy replikációs topológiában DNN használatával, és a terjesztő távoli. Ebben az esetben hozzon létre egy hálózati aliast a Forgalmazó kiszolgálón a Publisher VNN-nek a Publisher DNN-hez való leképezéséhez:
Használja a teljes példánynevet egy elnevezett példányhoz, például az alábbi példaképhez:
Database mirroring
Az adatbázis-tükrözést az FCI-vel is konfigurálhatja adatbázistükrözési partnerként. Konfigurálja a Transact-SQL (T-SQL) használatával az SQL Server Management Studio grafikus felhasználói felülete helyett. A T-SQL használatával biztosítható, hogy az adatbázis-tükrözési végpont a VNN helyett a DNN használatával legyen létrehozva.
Ha például a DNN DNS-neve dnnlsnr
, és az adatbázis tükrözési végpontja 7022, az alábbi T-SQL-kódrészlet konfigurálja az adatbázis-tükrözési partnert:
ALTER DATABASE AdventureWorks
SET PARTNER =
'TCP://dnnlsnr:7022'
GO
Ügyfélhozzáférés esetén a Feladatátvevő partner tulajdonság képes kezelni az adatbázis-tükrözés feladatátvételét, az FCI-feladatátvételt azonban nem.
MSDTC
Az FCI részt vehet a Microsoft Distributed Transaction Coordinator (MSDTC) által koordinált elosztott tranzakciókban. A fürtözött MSDTC és a helyi MSDTC az FCI DNN-vel támogatott. Az Azure-ban egy Azure Load Balancer szükséges egy fürtözött MSDTC-üzembe helyezéshez.
Tipp.
Az FCI-ben definiált DNN nem helyettesíti a fürtözött MSDTC Azure Load Balancer-követelményét.
FileStream
Bár a FileStream egy FCI-ben lévő adatbázis esetében támogatott, a FileStream vagy a FileTable elérése fájlrendszer API-k és DNN használatával nem támogatott.
Társított kiszolgálók
A csatolt kiszolgáló használata FCI DNN-vel támogatott. Használja közvetlenül a DNN-t egy csatolt kiszolgáló konfigurálásához, vagy használjon hálózati aliast a VNN-nek a DNN-hez való leképezéséhez.
Ha például egy névvel ellátott példányhoz insta1
DNN DNS-névvel dnnlsnr
rendelkező csatolt kiszolgálót szeretne létrehozni, használja a következő Transact-SQL (T-SQL) parancsot:
USE [master]
GO
EXEC master.dbo.sp_addlinkedserver
@server = N'dnnlsnr\inst1',
@srvproduct=N'SQL Server' ;
GO
Alternatív megoldásként létrehozhatja a csatolt kiszolgálót a virtuális hálózat neve (VNN) használatával, de ezután meg kell határoznia egy hálózati aliast a VNN-nek a DNN-hez való leképezéséhez.
Például a példány neve insta1
, a VNN neve vnnname
és a DNN neve dnnlsnr
a következő Transact-SQL (T-SQL) paranccsal hozhat létre csatolt kiszolgálót a VNN használatával:
USE [master]
GO
EXEC master.dbo.sp_addlinkedserver
@server = N'vnnname\inst1',
@srvproduct=N'SQL Server' ;
GO
Ezután hozzon létre egy hálózati aliast a leképezéshez vnnname\insta1
dnnlsnr\insta1
.
Gyakori kérdések
Melyik SQL Server-verzió támogatja a DNN-t?
SQL Server 2019 CU2 és újabb.
Mi a DNN használata esetén várható feladatátvételi idő?
A DNN esetében a feladatátvételi idő csak az FCI feladatátvételi ideje lesz, idő hozzáadása nélkül (például mintavételi idő az Azure Load Balancer használatakor).
Van verziókövetelmény az SQL-ügyfelek számára a DNN OLEDB-vel és ODBC-vel való támogatásához?
Javasoljuk
MultiSubnetFailover=True
kapcsolati sztring DNN támogatását. Az SQL Server 2012 -től (11.x) érhető el.Szükség van az SQL Server konfigurációs módosításaira a DNN használatához?
Az SQL Server nem igényel konfigurációmódosítást a DNN használatához, de egyes SQL Server-funkciók további megfontolást igényelhetnek.
Támogatja a DNN a több alhálózati fürtöket?
Igen. A fürt a DNS-ben lévő DNN-t az alhálózattól függetlenül a fürt összes csomópontjának fizikai IP-címével köti össze. Az SQL-ügyfél az alhálózattól függetlenül megpróbálja a DNS-név összes IP-címét.
További lépések
To learn more, see: