İstemcileri Veritabanı Yansıtma Oturumuna (SQL Server) Bağlayın

Şunlar için geçerlidir: SQL Server

Bir veritabanı aynalama oturumuna bağlanmak için, istemci SQL Server Native Client veya .NET Framework Veri Sağlayıcısı for SQL Server kullanabilir. Bir SQL Server veritabanı için yapılandırıldığında, bu veri erişim sağlayıcıları veritabanı aynasını tam olarak destekler. Aynalı veritabanı kullanımı için programlama hususları hakkında bilgi için bkz. Veritabanı Aynalaması Kullanımı. Ayrıca, mevcut ana sunucu örneği mevcut olmalı ve istemcinin girişi sunucu örneğinde oluşturulmuş olmalıdır. Daha fazla bilgi için Troubleshoot Orphaned Users (SQL Server) bölümüne bakınız. Veritabanı aynalama oturumuna istemci bağlantıları, varsa tanık sunucu örneğini içermez.

Veritabanı Yansıtma Oturumuna İlk Bağlantıyı Yapmak

Yansıtılmış bir veritabanına ilk bağlantı için, bir istemcinin sunucu örneğinin adını minimum düzeyde sağlayan bir bağlantı dizesi sağlaması gerekir. Bu gerekli sunucu adı, mevcut ana sunucu örneğini tanımlamalıdır ve ilk ortak adı olarak bilinir.

Isteğe bağlı olarak, bağlantı dizesi başka bir sunucu örneğinin adını da sağlayabilir; bu örnek, ilk bağlantı girişiminde ilk partner müsait değilse kullanılmak üzere mevcut aynalı sunucu örneğini tanımlamalıdır. İkinci isim failover partner adı olarak bilinir.

Bağlantı dizesi ayrıca bir veritabanı adı da sağlamalıdır. Bu, veri erişim sağlayıcısının failover denemelerini etkinleştirmek için gereklidir.

Bir bağlantı dizesi alındığında, veri erişim sağlayıcısı birincil iş ortağının adını ve belirtilmişse yük devretme iş ortağının adını istemcinin uçucu belleğindeki bir önbellekte depolar (yönetilen kodda önbellek, uygulama etki alanı kapsamındadır). Önbelleğe alındıktan sonra, ilk ortak adı veri erişim sağlayıcısı tarafından asla güncellenmez. İstemci yük devretme ortağının adını belirttiğinde, veri erişim sağlayıcısı da sağlayıcının ilk ortak adıyla bağlantı kuramaması durumunda kullanmak üzere bu yük devretme ortağının adını geçici olarak depolar.

Veritabanı aynalama oturumu, istemcilere özgü sunucu erişim sorunlarına karşı koruma sağlamaz; örneğin bir istemci bilgisayarın ağla iletişim sorunu yaşaması gibi. Yansıtılmış bir veritabanına bağlantı girişimi, veri erişim sağlayıcısıyla ilgisi olmayan çeşitli nedenlerle de başarısız olabilir; Örneğin, ana sunucu örneği aktif olmadığı için bir bağlantı girişimi başarısız olabilir; veritabanı arızalandığında veya ağ hatası nedeniyle olabilir.

Bağlantı kurmaya çalışırken, veri erişim sağlayıcısı başlangıç ortak adını kullanarak işe başlar. Belirtilen sunucu örneği mevcutsa ve mevcut ana sunucu örneğiyse, bağlantı girişimi genellikle başarılı olur.

Note

Mirroring oturumu duraklatılırsa, istemci genellikle ana sunucuya bağlanır ve partner adını indirir. Ancak, yansıtma yeniden başlayana kadar veritabanına istemci tarafından erişilemez.

Bu girişim başarısız olursa, veri erişim sağlayıcısı, mevcutsa yük devretme iş ortağının adını dener. Eğer herhangi bir partner adı mevcut ana sunucuyu doğru şekilde tanımlıyorsa, veri erişim sağlayıcısı genellikle ilk bağlantıyı açmayı başarır. Bu bağlantı tamamlandığında, veri erişim sağlayıcısı mevcut ayna sunucusunun sunucu örneği adını indirir. Bu isim, önbellekte devre ortağı adı olarak saklanır ve varsa, istemci tarafından sağlanan devre ortağı adının üzerine yazılır. Bundan sonra, .NET Framework’ün SQL Server Veri Sağlayıcısı yük devretme iş ortağının adını güncellemez. Buna karşılık, SQL Server Native Client, sonraki bir bağlantı ya da bağlantı sıfırlama işlemi farklı bir iş ortağı adı döndürdüğünde önbelleği günceller.

Aşağıdaki şekil, Partner_A adlı ilk iş ortağına, Db_1 adlı aynalı veritabanı için yapılan bir istemci bağlantısını göstermektedir. Bu şekil, istemci tarafından sağlanan ilk ortak adının mevcut ana sunucuyu doğru şekilde tanımladığı Partner_A durumu göstermektedir. İlk bağlantı girişimi başarılı olur ve veri erişim sağlayıcısı, ayna sunucusunun adını (şu anda Partner_B) yerel önbellekte devretme ortağı adı olarak saklar. Son olarak, istemci Db_1 veritabanının ana kopyasına bağlanır.

İlk ortak asıl ise istemci bağlantısı

Örneğin, ilk bağlantı girişimi bir ağ hatası veya aktif olmayan bir sunucu örneği nedeniyle başarısız olabilir. Birincil ortak kullanılamadığından, veri erişim sağlayıcısının yük devretme ortağına bağlanmayı denemesi için istemcinin bağlantı dizesinde yük devretme ortağının adını belirtmiş olması gerekir.

Bu durumda, yük devretme ortağının adı kullanılamıyorsa, özgün bağlantı denemesi ağ bağlantısı zaman aşımına uğrayana ya da bir hata döndürülene kadar devam eder (tıpkı yansıtılmamış bir veritabanında olduğu gibi).

Yük devretme iş ortağının adı bağlantı dizesinde belirtildiğinde, veri erişim sağlayıcısının davranışı istemcinin ağ protokolüne ve işletim sistemine bağlı olarak aşağıdaki gibi değişir:

  • TCP/IP için, bağlantı girişimleri, veritabanı yansıtmaya özel bir bağlantı yeniden deneme algoritması tarafından düzenlenir. Bağlantı yeniden deneme algoritması, belirli bir bağlantı denemesinde bağlantı açmak için ayrılan maksimum süreyi (tekrar deneme süresi) belirler.

  • Diğer ağ protokolleri için

    Bir hata oluşursa veya ilk ortak müsait değilse, ilk bağlantı girişimi ağ bağlantı zaman aşımının veya veri erişim sağlayıcısının giriş süresi dolana kadar bekler. Genellikle, bu bekleme süresi 20 ila 30 saniye civarındadır. Bunun ardından, veri erişim sağlayıcısı zaman aşımına uğramamışsa yük devretme iş ortağına bağlanmayı dener. Bağlantı başarılı olmadan önce bağlantı zaman aşımı süresi dolarsa veya yük devretme ortağı kullanılamıyorsa, bağlantı girişimi başarısız olur. Yük devretme ortağı, oturum açma zaman aşımı süresi içinde kullanılabilir durumdaysa ve artık birincil sunucuysa, bağlantı girişimi genellikle başarılı olur.

Yansıtılmış Veritabanı için Bağlantı Dizileri

İstemci tarafından sağlanan bağlantı dizesi, veri erişim sağlayıcısının veritabanına bağlanmak için kullandığı bilgileri içerir. Bu bölümde, SQL Server Native Client ODBC Driver Connection kullanılarak aynalı veritabanına bağlanmak için özel olarak ilgili anahtar kelimeler tartışılır.

Ağ Özniteliği

Ağ protokolünü belirtmek için connection string, Network niteliğini içermelidir. Bu, belirtilen ağ protokolünün farklı partnerlere olan bağlantılar arasında devam etmesini sağlar. Aynalı veritabanına bağlanmak için en iyi protokol TCP/IP'dir. İstemcinin iş ortaklarına yapılan her bağlantı için TCP/IP istemesini sağlamak amacıyla, bağlantı dizesi aşağıdaki özniteliği içerir:

Network=dbmssocn;   

Important

TCP/IP'nin istemcinin protokol listesinin en üstünde tutulmasını öneririz. Ancak, connection string Network özniteliğini belirtiyorsa, bu liste sırasını geçersiz kılar.

Alternatif olarak, istemcinin iş ortaklarına yönelik her bağlantıda adlandırılmış kanallar istemesini sağlamak için, bir bağlantı dizesi aşağıdaki özniteliği sağlar:

Network=dbnmpntw;   

Important

Adlandırılmış kanallar TCP/IP yeniden deneme algoritmasını kullanmadığından, birçok durumda adlandırılmış kanallar üzerinden yapılan bir bağlantı girişimi, yansıtılmış veritabanına bağlanmadan önce zaman aşımına uğrayabilir.

Sunucu Özniteliği

Bir bağlantı dizesi, mevcut ana sunucu örneğini tanımlaması gereken ilk ortak adını sağlayan bir Server özniteliği içermelidir.

Sunucu örneğini tanımlamanın en basit yolu, adını belirtmektir< server_name>[\<SQL_Server_instance_name>]. Örneğin:

Server=Partner_A;

veya

Server=Partner_A\Instance_2;

Ancak, sistem adı kullanıldığında, istemci sunucunun IP adresini almak için DNS araması ve ortağın bulunduğu sunucunun port numarasını almak için SQL Server Tarayıcısı sorgusu yapmalıdır. Bu sorgulamalar ve sorgular, sunucu adını belirtmek yerine Server özniteliğinde ortağın IP adresi ve port numarası belirtilerek atlanabilir. Bu, o partnerle bağlantı kurarken dış gecikme olasılığını en aza indirmek için önerilir.

Note

SQL Server Browser sorgusu, bağlantı dizesi adı verilen örnek adını belirtiyorsa ve portu belirtmiyorsa, gereklidir.

IP adresi ve portu belirtmek için Server özniteliği şu biçimde olur,< örneğin ip_address>,<port>: Server=

Server=123.34.45.56,4724;   

Note

IP adresi IP Sürüm 4 (IPv4) veya IP Sürüm 6 (IPv6) olabilir.

Veritabanı Özniteliği

Ayrıca, bağlantı dizesi, yansıtılan veritabanının adını sağlamak için Database özniteliğini belirtmelidir. İstemci bağlanmaya çalıştığında veritabanı kullanılamazsa, bir istisna ortaya çıkar.

Örneğin, asıl sunucu Partner_A üzerindeki AdventureWorks veritabanına açıkça bağlanmak için, bir istemci aşağıdaki bağlantı dizesini kullanır:

" Server=Partner_A; Database=AdventureWorks "

Note

Bu dizide kimlik doğrulama bilgisi yok.

Important

Protokol önekini Server özniteliği (Server=tcp:<sunucu adı>) ile birleştirmek özniteliğiyle uyumlu değildir ve protokolü her iki yerde de belirtmek muhtemelen bir hata ile sonuçlanacaktır. Bu nedenle, bir bağlantı dizesi'in protokolü Network özniteliği kullanarak belirtmesini ve sunucu özniteliğinde ("Network=dbmssocn; Server=<sunucu adı>") yalnızca sunucu adını belirtmesini öneririz.

Yedekleme Ortağı Özniteliği

İlk ortak adına ek olarak, istemci mevcut ayna sunucu örneğini tanımlaması gereken geçici eşlik ortak adını da belirtebilir. Yük devretme ortağı, yük devretme ortağı özniteliğine ait anahtar sözcüklerden biriyle belirtilir. Bu özniteliğin anahtar kelimesi, kullandığınız API'ye bağlıdır. Aşağıdaki tablo bu anahtar kelimeleri listelemektedir:

API Failover partner özniteliği için anahtar sözcük
OLE DB Sağlayıcısı Yedekleme Ortağı
ODBC Sürücüsü Failover_Partner
ActiveX Veri Nesneleri (ADO) Yük Devretme İş Ortağı

Sunucu örneğini tanımlamanın en basit yolu sistem adıyla server_name<>[\<SQL_Server_instance_name>].

Alternatif olarak, IP adresi ve port numarası Failover Partner özniteliğinde sağlanabilir. İlk bağlantı girişimi veritabanına ilk bağlantı sırasında başarısız olursa, yedekleme ortağına bağlanma girişimi DNS ve SQL Server Browser'a bağımlılıktan kurtulur. Bir bağlantı kurulduğunda, yük devretme iş ortağının adı bu adla üzerine yazılır; bu nedenle bir yük devretme gerçekleşirse, yeniden yönlendirilen bağlantılar DNS ve SQL Server Browser gerektirir.

Note

Yalnızca ilk iş ortağı adı sağlandığında, uygulama geliştiricilerinin yeniden nasıl bağlanılacağı dışında herhangi bir işlem yapmaları veya herhangi bir kod yazmaları gerekmez.

Note

Yönetilen kod uygulaması geliştiricileri, SqlConnection nesnesinin ConnectionString içinde yük devretme iş ortağının adını belirtir. Bu bağlantı dizesi kullanımı hakkında bilgi için, Microsoft .NET Framework SDK'nın bir parçası olan ADO.NET dokümantasyonundaki ".NET Framework Veri Sağlayıcısı for SQL Server"de Veritabanı Yansıtma Desteği'ne bakınız.

Örnek Bağlantı Dizesi

Örneğin, TCP/IP ile Partner_A veya Partner_B üzerindeki AdventureWorks veritabanına açıkça bağlanmak için, ODBC Sürücüsü kullanan bir istemci uygulaması aşağıdaki bağlantı dizesi sağlayabilir:

"Server=Partner_A; Failover_Partner=Partner_B; Database=AdventureWorks; Network=dbmssocn"  

Alternatif olarak, istemci IP adresi ve port numarasını kullanarak ilk ortağı tanımlayabilir, Partner_A; örneğin, IP adresi 250.65.43.21 ve port numarası 4734 ise, bağlantı dizesi şöyle olurdu:

"Server=250.65.43.21,4734; Failover_Partner=Partner_B; Database=AdventureWorks; Network=dbmssocn"  

Bağlantı Yeniden Deneme Algoritması (TCP/IP Bağlantıları İçin)

TCP/IP bağlantısı için, her iki partner isimi önbellekte olduğunda, veri erişim sağlayıcısı bağlantı yeniden deneme algoritmasına uyar. Bu hem oturuma ilk bağlantıyı kurmak hem de kurulmuş bir bağlantıyı kaybettikten sonra yeniden bağlanmak için geçerlidir. Bağlantı açıldıktan sonra, ön giriş ve giriş adımlarını tamamlamak ek zaman alır.

Note

Bağlantı açma süresi, DNS aramalarının yavaşı, yavaş alan kontrolcüsü/Kerberos Anahtar Dağıtım Merkezi (KDC), SQL Server Tarayıcısı ile iletişim için harcanan zaman, ağ tıkanıklığı gibi harici faktörler nedeniyle tekrar deneme süresini aşabilir. Bu tür dış faktörler, istemcinin aynalı bir veritabanına bağlanmasını engelleyebilir. Ayrıca, dış faktörler bağlantının açılmasının ayrılan tekrar deneme süresinden daha uzun sürmesine neden olabilir. DNS ve SQL Server Browser'ı atlayarak ilk partnere bağlantı girişimi hakkında bilgi için, bu konunun başındaki Veritabanı Yansıtma Oturumuna İlk Bağlantıyı Yapma bölümüne bakınız.

Bir bağlantı girişimi başarısız olursa veya bağlantı başarılı olmadan önce yeniden deneme süresi dolarsa, veri erişimi sağlayıcısı diğer iş ortağını dener. Bu noktaya kadar bir bağlantı açılmazsa, sağlayıcı bir bağlantı açılana veya oturum açma zaman aşımı süresi dolana kadar ilk sunucu adı ile yük devretme iş ortağı adını dönüşümlü olarak dener. Varsayılan oturum açma zaman aşımı süresi 15 saniyedir. Giriş süresinin en az 5 saniye olmasını öneriyoruz. Daha kısa bir zaman aşımı belirtmek, bağlantı girişimlerinin başarılı olmasını engelleyebilir.

Yeniden deneme süresi, giriş süresinin bir yüzdesidir. Bağlantı denemesi için tekrar deneme süresi her turda daha uzun olur. İlk turda, her iki denemenin tekrar deneme süresi toplam giriş süresinin %8'idir. Her ardışık turda, tekrar deneme algoritması maksimum tekrar deneme süresini aynı miktarda artırır. Böylece, ilk sekiz bağlantı denemesi için tekrar deneme süreleri şu şekildedir:

8%, 8%, 16%, 16%, 24%, 24%, 32%, 32%

Yeniden deneme süresi aşağıdaki formülle hesaplanır:

RetryTime=PreviousRetryTime+( 0.08 *LoginTimeout)

BeforeRetryTime başlangıçta 0 olduğunda.

Örneğin, varsayılan giriş süresi 15 saniye kullanılırsa, LoginTimeout=15. Bu durumda, ilk üç turda ayrılan tekrar deneme süreleri şu şekildedir:

Tur RetryTime hesaplaması Deneme başına tekrar deneme süresi
1 0 +(0.08 * 15) 1,2 saniye
2 1.2 +(0.08 * 15) 2.4 saniye
3 2.4 +(0.08 * 15) 3,6 saniye
4 3.6 +(0.08 * 15) 4.8 saniye

Aşağıdaki şekil, her biri zaman aşımına uğrayan ardışık bağlantı denemeleri için yeniden deneme sürelerini göstermektedir.

15 saniyelik giriş süresi için maksimum tekrar deneme gecikmeleri

Varsayılan giriş süresi için, bağlantı denemelerinin ilk üç turuna ayrılan maksimum süre 14,4 saniyedir. Her deneme ayrılan tüm zamanı kullanırsa, giriş süresi dolmadan önce sadece 0,6 saniye kalır. Bu durumda, dördüncü tur kısaltılır ve sadece ilk partner adıyla son bir hızlı bağlantı denemesi yapılabilir. Ancak, bir bağlantı denemesi, özellikle sonraki turlarda, ayrılan tekrar deneme süresinden kısa sürede başarısız olabilir. Örneğin, bir ağ hatası almak, deneme süresi dolmadan bir girişimin sona ermesine neden olabilir. Önceki denemeler ağ hatası nedeniyle başarısız olursa, dördüncü tur ve belki de ek turlar için ek zaman sağlanır.

Başarısız bir girişimin bir diğer nedeni ise, bir sunucu örneği veritabanında başarısız olduğunda olduğu gibi aktif olmayan bir sunucu örneğidir. Bu durumda, istemcilerin art arda yapılan hızlı bağlantı girişimleriyle iş ortaklarını aşırı yüklemesini önlemek için yeniden deneme gecikmesi uygulanır.

Note

Her iki eş adı da mevcutsa ve oturum açma zaman aşımı süresi sonsuzsa, istemci sunuculara süresiz olarak yeniden bağlanmayı dener ve ilk eş adı ile yük devretme eşi adı arasında dönüşümlü olarak geçiş yapar.

Failover sırasında Yeniden Deneme Gecikmeleri

Bir müşteri, başarısız olan bir partnere bağlanmaya çalışırsa, partner hemen bunun etkin olmadığını bildirir. Bu durumda, her bağlantı girişimi turu, ayrılan yeniden deneme süresinden çok daha kısadır. Bu da giriş süresi dolmadan önce birçok bağlantı denemesinin gerçekleşebileceği anlamına gelir. Bir devre sırasında ortakların hızlı bir dizi bağlantı girişimiyle aşırı yüklenmesini önlemek için, veri erişim sağlayıcısı her tekrar deneme döngüsünden sonra kısa bir yeniden deneme gecikmesi ekliyor. Verilen bir tekrar deneme gecikmesinin süresi, tekrar deneme gecikmesi algoritması tarafından belirlenir. İlk turdan sonra gecikme 100 milisaniyedir. Sonraki üç raundun her birinden sonra, tekrar deneme gecikmesi iki katına çıkar - 200, 400 ve 800'e kadar. Sonraki tüm denemelerde, bağlantı girişimi başarılı olana veya zaman aşımına uğrayana kadar yeniden deneme gecikmesi 1 saniyedir.

Note

Sunucu örneği durdurulursa, bağlantı talebi hemen başarısız olur.

Aşağıdaki şekil, yeniden deneme gecikmesinin manuel yedekleme sırasında bağlantı girişimlerini nasıl etkilediğini göstermektedir; bu süreçte ortaklar rollerini değiştirir. Giriş süresi 15 saniyedir.

Tekrar deneme gecikmesi algoritması

Veritabanı Aynalama Oturumuna Yeniden Bağlanmak

Bir veritabanı yansıtma oturumuna kurulmuş bağlantı herhangi bir nedenle, örneğin bir veritabanı yansıtma yük devretmesi nedeniyle başarısız olursa ve uygulama ilk sunucuya yeniden bağlanmayı denerse, veri erişimi sağlayıcısı istemcinin önbelleğinde saklanan yük devretme iş ortağının adını kullanarak yeniden bağlanmayı deneyebilir. Ancak yeniden bağlanmak otomatik değildir. Uygulama hatanın farkına varmalıdır. Daha sonra, uygulama başarısız bağlantıyı kapatmalı ve aynı bağlantı dizesi özellikleriyle yeni bir bağlantı açmalıdır. Bu noktada, veri erişim sağlayıcısı bağlantıyı devretme ortağına yönlendirir. Eğer bu isimle tanımlanan sunucu örneği şu anda ana sunucu ise, bağlantı girişimi genellikle başarılı olur. Bir işlemin yapılıp alınmadığı veya geri alınıp alınmadığı belirsizse, uygulama işlemin durumunu kontrol etmelidir; tıpkı bağımsız bir sunucu örneğine yeniden bağlanırken olduğu gibi.

Yeniden bağlanma, bağlantı dizesi'in failover partner adı sağladığı ilk bağlantıya benzer. İlk bağlantı girişimi başarısız olursa, bağlantı girişimleri, istemci ana sunucuya bağlanana veya veri erişim sağlayıcısı zaman aşımına uğrayana kadar, başlangıçtaki partner adı ile failover partner adı arasında dönüşümlü olarak sürdürülür.

Note

SQL Server Native Client, ana sunucu örneğine bağlandığını doğrular, ancak bu örneğin bağlantı dizesi'in ilk partner adında belirtilen sunucu örneğinin ortağı olup olmadığını doğrulamaz.

Bağlantılar TCP/IP kullanıyorsa, bağlantı yeniden deneme algoritması her turda bağlantı denemelerine ayrılan süreyi belirler.

Important

İstemci veritabanından kopursa, veri erişim sağlayıcısı yeniden bağlanmaya çalışmaz. İstemci yeni bir bağlantı talebi göndermek zorundadır. Ayrıca, bir uygulama bağlantıyı kaybettiğinde kapanırsa, önbelleğe alınan partner isimlerini kaybeder. Ana sunucu kullanılamaz hale geldiği için bağlantı kaybedildiyse, uygulamanın aynadaki sunucuya yeniden bağlanmasının tek yolu bağlantı dizesi'ine failover partner adını girmektir.

Yönlendirmenin İstemci Uygulaması Üzerindeki Etkisi

Bir devre işleminden sonra, veri erişim sağlayıcısı bağlantıyı mevcut ana sunucu örneğine yönlendirir. Ancak, yönlendirme işlemi müşteriler için şeffaftır. İstemci açısından, yönlendirilen bağlantı, başlangıç ortak adıyla tanımlanan sunucu örneğine yapılan bir bağlantı gibi görünür. İlk ortak şu anda ayna sunucusu olduğunda, istemci ayna sunucusuna bağlı ve ayna veritabanını güncelliyormuş gibi görünebilir. Aslında, istemci mevcut ana veritabanı olan yedekleme ortağına yönlendirilmiş ve istemci yeni ana veritabanını güncelliyor.

Bir istemci yedekleme ortağına yönlendirildikten sonra, Transact-SQL USE ifadesi kullanarak farklı bir veritabanı kullandığında beklenmedik sonuçlar yaşayabilir. Bu, mevcut ana sunucu örneği (yedekleme ortağı) orijinal ana sunucudan (ilk ortak) farklı bir veritabanı setine sahipse olabilir.

Geçerliliğini Yitirmiş Bir Failover Partner Adının Etkisi

Veritabanı yöneticisi herhangi bir zamanda devretme ortağını değiştirebilir. Bu nedenle, müşteri tarafından sağlanan bir failover ortağı adı güncel olmayabilir veya güncelliğini yitirmiş olabilir. Örneğin, başka bir sunucu örneği olan Partner_C ile değiştirilen Partner_B adlı bir yük devretme iş ortağını düşünün. Şimdi, bir istemci yük devretme ortağı adı olarak Partner_B belirtirse, bu ad artık geçerli değildir. İstemci tarafından sağlanan devre ortağı adı eski olduğunda, veri erişim sağlayıcısının davranışı, istemci tarafından devre ortağı adının sağlanmaması durumuna benzer.

Örneğin, bir istemcinin dört bağlantı denemesi için bir bağlantı dizesi kullandığı bir durumu ele alalım. Bağlantı dizesinde, başlangıç ortak adı Partner_A'dır ve yük devretme ortağı adı Partner_B'dir:

"Server=Partner_A; Failover Partner=Partner_B; Database=AdventureWorks"  

Aşağıdaki tablo dört ortak yapılandırmasını gösterir ve her biri için bu bağlantı dizesi'in istemciyi ilk kez bağlamak için çalışıp yaramadığını gösterir.

Note

Bir uygulama, yapılandırma değişikliklerini takip edebilir ve bağlantı dizesi'ini buna göre değiştirebilir. Bu ek kod gerektirir ama idari yükü azaltır.

Configuration Asıl sunucu Yansıtma sunucusu Partner_A ve Partner_B belirtilerek bağlantı kurulmaya çalışıldığında sergilenen davranış
Orijinal aynalama konfigürasyonu. Partner_A Partner_B Partner_A, ilk partner adı olarak önbelleklenir. Müşteri Partner_A ile bağlantı kurmayı başarır. İstemci, ayna sunucusunun adını alır ve bunu Partner_B olarak önbelleğe alır; istemci tarafından sağlanan yük devretme iş ortağı adını göz ardı eder.
Partner_A donanım arızası yaşar ve devre (istemci bağlantısı kesilir) gerçekleşir. Partner_B none Partner_A hâlâ ilk ortak adı olarak önbelleklenir, ancak istemci tarafından sağlanan devre ortağı adı Partner_B, istemcinin mevcut ana sunucuya bağlanmasına izin verir.
Veritabanı yöneticisi yansıtmayı (istemci bağlantıyı kopar) durdurur, Partner_A Partner_C ile değiştirir ve yansıtmayı yeniden başlatır. Partner_B Partner_C İstemci Partner_A'ye bağlanmaya çalışır ve başarısız olur; sonra istemci Partner_B (mevcut ana sunucu) dener ve başarılı olur. Veri erişim sağlayıcısı, mevcut ayna sunucusunun adını indirir Partner_C ve bunu mevcut devre ortağı adı olarak önbellekler.
Hizmet, Partner_C’ye manuel olarak devredilir (istemcilerin bağlantısı kesilir). Partner_C Partner_B İstemci önce Partner_A'ye, sonra Partner_B'ye bağlanmaya çalışır. Her iki ad da başarısız olur ve sonunda bağlantı isteği zaman aşımına uğrayarak başarısız olur.