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ı MSSQLSERVERve DNN ise FCI1DNN (daha önce öğesine FCIbağlı istemciler ve şimdi bağlanırlar FCI1DNN) VNN'yi FCI1 DNN FCI1DNNile 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ı instAve DNN ise FCI1DNN (daha önce öğesine FCI1\instAbağlı istemciler ve şimdi bağlanırlar FCI1DNN\instaA) VNN'yi FCI1\instaA DNN FCI1DNN\instaAile 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 dnnlsnrise 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 dnnlsnrise 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:

SQL Server Yapılandırma Yöneticisi kullanarak DNN DNS adını ağ diğer adı olarak yapılandırın.

Aşağıdaki görüntü örneği gibi adlandırılmış örnek için tam örnek adını kullanın:

Adlandırılmış örnek için bir ağ diğer adı yapılandırırken 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 dnnlsnrise 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 insta1iç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ı vnnnameve DNN adı dnnlsnrgibi, 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\insta1iç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: