SQL Server FCI ve DNN ile özellik birlikte çalışabilirliği
Şunlar için geçerlidir: Azure VM'de SQL Server
İpucu
Kullanılabilirlik grubu dağıtmak için birçok yöntem vardır. Dağıtımınızı basitleştirin ve aynı Azure sanal ağı içindeki birden çok alt ağda SQL Server sanal makinelerinizi (VM' ler) oluşturarak Always On kullanılabilirlik grubunuz için Azure Load Balancer veya dağıtılmış ağ adı (DNN) gereksinimini ortadan kaldırın. Kullanılabilirlik grubunuzu zaten tek bir alt ağda oluşturduysanız, bunu çok alt ağlı bir ortama geçirebilirsiniz.
Sabit kodlanmış sanal ağ adını (VNN) kullanan bazı SQL Server özellikleri vardır. Bu nedenle, dağıtılmış ağ adı (DNN) kaynağını yük devretme kümesi örneğinizle ve Azure VM'lerinde SQL Server ile birlikte kullanırken dikkat edilmesi gereken bazı ek noktalar vardır.
Bu makalede, DNN kaynağını kullanırken ağ diğer adını yapılandırmayı ve hangi SQL Server özelliklerinin ek dikkate alınmasını gerektirdiğini öğrenin.
Ağ diğer adı oluşturma (FCI)
Bazı sunucu tarafı bileşenleri sabit kodlanmış bir VNN değerine dayanır ve düzgün çalışması için VNN'yi DNN DNS adıyla eşleyen bir ağ diğer adı gerektirir. VNN'yi DNN DNS adıyla eşleyen bir diğer ad oluşturmak için Sunucu diğer adı oluşturma'daki adımları izleyin.
Varsayılan örnek için, VNN'yi doğrudan DNN DNS adıyla eşleyebilirsiniz; örneğin, VNN = DNN DNS adı.
Örneğin, VNN adı FCI1
, örnek adı MSSQLSERVER
ve DNN ise FCI1DNN
(daha önce öğesine FCI
bağlı istemciler ve şimdi bağlanırlar FCI1DNN
) VNN'yi FCI1
DNN FCI1DNN
ile eşleyin.
Adlandırılmış örnek için ağ diğer adı eşlemesi tam örnek için yapılmalıdır, örneğin: VNN\Instance
= DNN\Instance
.
Örneğin, VNN adı FCI1
, örnek adı instA
ve DNN ise FCI1DNN
(daha önce öğesine FCI1\instA
bağlı istemciler ve şimdi bağlanırlar FCI1DNN\instaA
) VNN'yi FCI1\instaA
DNN FCI1DNN\instaA
ile eşleyin.
İstemci sürücüleri
ODBC, OLEDB, ADO.NET, JDBC, PHP ve Node.js sürücüleri için kullanıcıların DNN DNS adını bağlantı dizesi sunucu adı olarak açıkça belirtmesi gerekir. Yük devretme sırasında hızlı bağlantı sağlamak için SQL istemcisinin destekleyip desteklemediğini bağlantı dizesi ekleyinMultiSubnetFailover=True
.
Araçlar
SQL Server Management Studio, sqlcmd, Azure Data Studio ve SQL Server Veri Araçları kullanıcılarının bağlantı dizesi sunucu adı olarak DNN DNS adını açıkça belirtmeleri gerekir.
Kullanılabilirlik grupları ve FCI
Çoğaltmalardan biri olarak bir yük devretme kümesi örneği kullanarak Always On kullanılabilirlik grubunu yapılandırabilirsiniz. Bu yapılandırmada, FCI çoğaltmasının yansıtma uç noktası URL'sinin FCI DNN'sini kullanması gerekir. Benzer şekilde, FCI salt okunur çoğaltma olarak kullanılıyorsa, FCI çoğaltmasına salt okunur yönlendirmenin FCI DNN'sini kullanması gerekir.
Yansıtma uç noktasının biçimi: ENDPOINT_URL = 'TCP://<DNN DNS name>:<mirroring endpoint port>'
.
Örneğin, DNN DNS adınız dnnlsnr
ise ve 5022
FCI'nin yansıtma uç noktasının bağlantı noktasıysa, uç nokta URL'sini oluşturmak için Transact-SQL (T-SQL) kod parçacığı şöyle görünür:
ENDPOINT_URL = 'TCP://dnnlsnr:5022'
Benzer şekilde, salt okunur yönlendirme URL'sinin biçimi şöyledir: TCP://<DNN DNS name>:<SQL Server instance port>
.
Örneğin, DNN DNS adınız dnnlsnr
ise ve 1444
salt okunur hedef SQL Server FCI tarafından kullanılan bağlantı noktasıysa, salt okunur yönlendirme URL'sini oluşturmak için T-SQL kod parçacığı şöyle görünür:
READ_ONLY_ROUTING_URL = 'TCP://dnnlsnr:1444'
Varsayılan 1433 bağlantı noktasıysa URL'deki bağlantı noktasını atlayabilirsiniz. Adlandırılmış örnek için, adlandırılmış örnek için statik bir bağlantı noktası yapılandırın ve bunu salt okunur yönlendirme URL'sinde belirtin.
Çoğaltma
Çoğaltmanın üç bileşeni vardır: Yayımcı, Dağıtımcı, Abone. Bu bileşenlerden herhangi biri bir yük devretme kümesi örneği olabilir. FCI VNN, çoğaltma yapılandırmasında hem açıkça hem de örtük olarak yoğun bir şekilde kullanıldığından, çoğaltmanın çalışması için VNN'yi DNN'ye eşleyen bir ağ diğer adı gerekebilir.
Çoğaltma içinde FCI adı olarak VNN adını kullanmaya devam edin, ancak çoğaltmayı yapılandırmadan önce aşağıdaki uzak durumlarda bir ağ diğer adı oluşturun:
Çoğaltma bileşeni (DNN ile FCI) | Uzak bileşen | Ağ diğer adı eşlemesi | Ağ eşlemeli sunucu |
---|---|---|---|
Publisher | Dağıtımcı | Publisher VNN'sini Publisher DNN'sine | Dağıtımcı |
Dağıtımcı | Abone | Dağıtımcı VNN'yi Dağıtımcı DNN'ye | Abone |
Dağıtımcı | Publisher | Dağıtımcı VNN'yi Dağıtımcı DNN'ye | Publisher |
Abone | Dağıtımcı | Abone VNN'sini Abone DNN'ye | Dağıtımcı |
Örneğin, çoğaltma topolojisinde DNN kullanılarak FCI olarak yapılandırılmış bir Yayımcınız olduğunu ve Dağıtımcının uzak olduğunu varsayalım. Bu durumda, Publisher VNN'sini Publisher DNN'sine eşlemek için Dağıtımcı sunucusunda bir ağ diğer adı oluşturun:
Aşağıdaki görüntü örneği gibi adlandırılmış örnek için tam örnek adını kullanın:
Veritabanı yansıtma
FCI ile veritabanı yansıtmayı, veritabanı yansıtma iş ortağı olarak yapılandırabilirsiniz. Sql Server Management Studio GUI yerine Transact-SQL (T-SQL) kullanarak yapılandırın. T-SQL kullanmak, veritabanı yansıtma uç noktasının VNN yerine DNN kullanılarak oluşturulmasını sağlar.
Örneğin, DNN DNS adınız dnnlsnr
ise ve veritabanı yansıtma uç noktası 7022 ise, aşağıdaki T-SQL kod parçacığı veritabanı yansıtma ortağını yapılandırılır:
ALTER DATABASE AdventureWorks
SET PARTNER =
'TCP://dnnlsnr:7022'
GO
İstemci erişimi için Yük Devretme İş Ortağı özelliği veritabanı yansıtma yük devretmesini işleyebilir, ancak FCI yük devretmesini işleyebilir.
MSDTC
FCI, Microsoft Dağıtılmış İşlem Düzenleyicisi (MSDTC) tarafından koordine edilen dağıtılmış işlemlere katılabilir. Kümelenmiş MSDTC ve yerel MSDTC, FCI DNN ile desteklenir. Azure'da, kümelenmiş bir MSDTC dağıtımı için Azure Load Balancer gereklidir.
İpucu
FCI'de tanımlanan DNN, kümelenmiş MSDTC için Azure Load Balancer gereksiniminin yerini almaz.
FileStream
FileStream, FCI'daki bir veritabanı için destekleniyor olsa da, DNN ile Dosya Sistemi API'lerini kullanarak FileStream veya FileTable'a erişim desteklenmez.
Bağlı sunucular
FCI DNN ile bağlantılı sunucu kullanılması desteklenir. Bağlantılı sunucuyu yapılandırmak için doğrudan DNN'yi veya VNN'yi DNN'ye eşlemek için bir ağ diğer adı kullanın.
Örneğin, adlandırılmış örnek insta1
için DNN DNS adıyla dnnlsnr
bağlantılı bir sunucu oluşturmak için aşağıdaki Transact-SQL (T-SQL) komutunu kullanın:
USE [master]
GO
EXEC master.dbo.sp_addlinkedserver
@server = N'dnnlsnr\inst1',
@srvproduct=N'SQL Server' ;
GO
Alternatif olarak, bunun yerine sanal ağ adını (VNN) kullanarak bağlı sunucuyu oluşturabilirsiniz, ancak daha sonra VNN'yi DNN ile eşlemek için bir ağ diğer adı tanımlamanız gerekir.
Örneğin, örnek adı insta1
, VNN adı vnnname
ve DNN adı dnnlsnr
gibi, VNN kullanarak bağlantılı bir sunucu oluşturmak için aşağıdaki Transact-SQL (T-SQL) komutunu kullanın:
USE [master]
GO
EXEC master.dbo.sp_addlinkedserver
@server = N'vnnname\inst1',
@srvproduct=N'SQL Server' ;
GO
Ardından, ile eşlemek vnnname\insta1
dnnlsnr\insta1
için bir ağ diğer adı oluşturun.
Sık sorulan sorular
Hangi SQL Server sürümü DNN desteği getirir?
SQL Server 2019 CU2 ve üzeri.
DNN kullanıldığında beklenen yük devretme süresi nedir?
DNN için yük devretme süresi, herhangi bir zaman eklenmeden yalnızca FCI yük devretme süresidir (Azure Load Balancer kullanırken yoklama süresi gibi).
SQL istemcilerinin OLEDB ve ODBC ile DNN'yi desteklemesi için herhangi bir sürüm gereksinimi var mı?
DNN için bağlantı dizesi destek öneririz
MultiSubnetFailover=True
. SQL Server 2012 (11.x) ile başlayarak kullanılabilir.DNN'yi kullanabilmem için sql server yapılandırma değişiklikleri gerekiyor mu?
SQL Server, DNN kullanmak için herhangi bir yapılandırma değişikliği gerektirmez, ancak bazı SQL Server özellikleri daha fazla dikkate alınmasını gerektirebilir.
DNN birden çok alt ağ kümelerini destekliyor mu?
Evet. Küme, alt ağdan bağımsız olarak DNS'deki DNN'yi kümedeki tüm düğümlerin fiziksel IP adresleriyle bağlar. SQL istemcisi, alt ağdan bağımsız olarak DNS adının tüm IP adreslerini dener.
Sonraki adımlar
Daha fazla bilgi edinmek için şu makalelere bakın: