Aracılığıyla paylaş


İstemciler Session (SQL Server) yansıtma veritabanına bağlanma

Session yansıtma veritabanına bağlanmak için bir istemci kullanabilirsiniz SQL Serveryerel istemci veya.net Framework veri sağlayıcısı SQL Server. İçin yapılandırıldığında bir SQL Server 2012yansıtma veritabanı veritabanı, bu veri erişim sağlayıcılar hem tam destek. Yansıtılmış bir veritabanı kullanma hakkında önemli noktalar programlama hakkında daha fazla bilgi için bkz: Veritabanı yansıtma kullanma. Ayrıca, geçerli asıl sunucu örneği kullanılabilir olması ve istemci oturum açma sunucu örneği oluşturulmuş olması gerekir. Daha fazla bilgi için, bkz. Artık kullanıcıların (SQL Server) ile ilgili sorunları giderme. Varsa, istemci bağlantıları için bir veritabanı oturumu yansıtma witness sunucu örneği içermeyen.

Bu Konuda

  • Session yansıtma veritabanı için başlangıç bağlantı yapma
    İlk ortak adı ve yerine çalışma ortağı adı tanıtır, başlangıç bağlantı yansıtılmış bir veritabanı için veri erişim sağlayıcıları nasıl açıklar ve yansıtılmış bir veritabanına bağlanmak için kullanılan bağlantı dizesi öznitelikleri açıklanmaktadır.

  • Bağlantı yeniden deneme algoritması (TCP/IP bağlantıları için)
    TCP/IP bağlantıları bağlantı yeniden deneme algoritması açıklar.

  • Session yansıtma veritabanına yeniden bağlanma
    Herhangi bir nedenle ve yönlendirme istemci uygulama üzerindeki etkisini bir veritabanı oturumu yansıtma için kurulan bir bağlantı başarısız olursa, yansıtılmış bir veritabanına bağlanma açıklanır.

  • Eski bir yerine çalışma ortağı adı etkisi
    Yansıtılmış bir veritabanı için yansıtma ortakları birini değiştirme veritabanı yöneticisi etkisi açıklanır.

Session yansıtma veritabanı için başlangıç bağlantı yapma

Yansıtılmış bir veritabanı için başlangıç bağlantısı, istemci en az bir sunucu örneğinin adı sağlayan bir bağlantı dizesi sağlamalısınız. Bu sunucu adı geçerli asıl sunucu örneği tanımlamak ve bilinen gerekli ilk ortak adı.

İsteğe bağlı olarak, bağlantı dizesi geçerli yansıtma sunucu örneği tanımlamak, başka bir sunucu örneği adını ilk ortak kullanılamıyorsa, ilk bağlantı girişimi sırasında kullanmak için de sağlayabilir. İkinci isim olarak bilinen yerine çalışma ortağı adı.

Bağlantı dizesi, veritabanı adı da sağlamanız gerekir. Bu yük devretme girişimleri veri erişim sağlayıcısı tarafından etkinleştirmek gereklidir.

Bağlantı dizesi alma, veri erişim sağlayıcısı ilk ortak adı ve yerine çalışma ortağı adı belirtilmişse de istemcinin geçici bellek önbelleğinde depolar (yönetilen kod için önbellek uygulama etki alanına kapsamlı). Önbelleğe alınmış bir kez ilk ortak adı hiç veri erişim sağlayıcısı tarafından güncelleştirilir. İstemci yerine çalışma ortağı adı temini, veri sağlayıcısı da bu yerine çalışma ortağı adı geçici olarak durumunda sağlayıcı ilk ortak adı kullanarak bağlanamıyor mağazaları erişebilirsiniz.

Bir veritabanı oturumu yansıtma belirli istemcilere zaman bir istemci bilgisayar ağda iletişim sorunları yaşıyor gibi sunucu-erişim sorunlarına karşı koruma sağlamaz. Yansıtılmış bir veritabanı bağlantı girişimi de için çeşitli veri erişim sağlayıcıya ilgisiz nedenlerle başarısız olabilir; Asıl sunucu örneği veritabanı üzerinden veya ağ hatası nedeniyle başarısız olduğu ortaya çıkar gibi devre dışı olduğundan, bağlantı girişimi başarısız olabilir.

Bağlanmaya çalışırken, ilk ortak adı kullanarak veri erişim sağlayıcısı başlar. Belirtilen sunucu örneği kullanılabilir ve geçerli asıl sunucu örneği ise, bağlantı girişimini genellikle başarılı olur.

[!NOT]

Yansıtma oturum duraklatılmışsa, istemci genellikle asıl sunucu ve karşıdan yüklemeler ortak adı bağlar. Ancak, veritabanı yansıtma devam kadar istemciye kullanılamaz.

Bu girişim çalışmaz veri erişim sağlayıcısı yerine çalışma ortağı adı varsa çalışır. Ya da ortak adı geçerli asıl sunucu doğru tanımlarsa, veri erişim sağlayıcısı normalde ilk bağlantı açma başarılı. Bu bağlantı tamamlama, veri erişim sağlayıcısı geçerli yansıtma sunucu sunucu örneğinin adı yükler. Bu adı, istemci tarafından sağlanan yerine çalışma ortağı adı varsa üzerine yerine çalışma ortağı adı önbellekte saklanır. Bundan sonra.net Framework veri sağlayıcısı için SQL Serveryerine çalışma ortağı adı güncelleştirmez. Buna karşılık, SQL Serveryerel istemci güncelleştirmeleri önbellek her bir sonraki bağlantı veya bağlantı sıfırlandı döndürür farklı ortak adı.

İlk ortak istemci bağlantısı aşağıdaki şekilde gösterilmiştir Partner_A, yansıtılmış bir veritabanı için Db_1. Bu rakam bir durumda istemci tarafından sağlanan doğru ilk ortak adı geçerli asıl sunucu tanımlar gösterir Partner_A. İlk bağlantı denemesi başarılı ve veri erişim sağlayıcısı yansıtma sunucu adını depolar (şu anda Partner_B) yerel önbellek yerine çalışma ortağı adı olarak. Son olarak, istemci asıl kopyasına bağlanan Db_1 veritabanı.

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

İlk bağlantı denemesi, örneğin, bir ağ hatası veya etkin sunucu örneği nedeniyle başarısız olabilir. İlk ortak, yerine çalışma ortağı bağlanmak veri erişim sağlayıcısı için kullanılamadığından, istemci yerine çalışma ortağı adı bağlantı dizesinde sağlanan gerekir.

Bu durumda, yerine çalışma ortağı adı kullanılamıyorsa, özgün bağlantı girişimi ağ bağlantısı zaman aşımı kadar devam eder veya hata (adil olmayan yansıtılmış veritabanı olarak) döndürülür.

Yerine çalışma ortağı adı bağlantı dizesinde sağlandığında, veri erişim sağlayıcısı davranış gibi ağ iletişim kuralı ve istemcinin işletim sistemine bağlıdır:

  • TCP/IP için bağlantı girişimlerinin, veritabanı yansıtma için belirli bir bağlantı yeniden deneme algoritması tarafından düzenlenir. Bağlantı yeniden deneme algoritması en uzun süreyi belirler ( yeniden deneme saati)'de verilen bağlantı girişimi bir bağlantı açmak için ayrılan. Daha fazla bilgi için, bkz. SQL Server ile yerel istemci bağlantı dizesi anahtar sözcükler kullanma.

  • Diğer ağ protokolleri için

    Bir hata oluşursa veya ilk ortak kullanılamıyorsa, ilk bağlantı girişimi ağ bağlantısı zaman aşımı süresi dolduktan veya veri erişim sağlayıcı oturum açma zaman aşımı süresi sona kadar bekler. Genellikle, bu bekleme sırasına 20-30 saniyedir. Bundan sonra veri erişim sağlayıcısı doldu değil, yerine çalışma ortağı bağlanmaya çalışır. Bağlantı başarılı veya yerine çalışma ortağı değil önce bağlantı zaman aşımı süresi sona ererse, bağlantı girişimi başarısız olur. Yerine çalışma ortağı oturum açma zaman aşımı süresi içinde mevcuttur ve şimdi asıl sunucu ise, bağlantı girişimini genellikle başarılı olur.

[Üst]

Yansıtılmış bir veritabanı bağlantı dizeleri

İstemci tarafından sağlanan bağlantı dizesi veri sağlayıcısını kullanır veritabanına bağlanmak için erişim bilgileri içerir. Bu bölümde özellikle bir yansıtılmış veritabanı kullanarak bağlanmak için alakalı anahtar kelimeler açıklanır bir SQL Serveryerel istemci odbc sürücüsü bağlantı. Tüm bağlantı dizesi anahtar sözcükler hakkında daha fazla bilgi için bkz: SQL Server ile yerel istemci bağlantı dizesi anahtar sözcükler kullanma.

Ağ öznitelik

Bağlantı dizesi içermesi gereken Networkağ protokolünü belirtmek için öznitelik. Bu, belirtilen ağ iletişim kuralı bağlantıları farklı Ortaklar arasında devam ederse sağlar. Yansıtılmış bir veritabanına bağlanma iyi TCP/IP protokolüdür. İstemci TCP/IP ortaklarına her bağlantı için ister emin olmak için aşağıdaki özniteliği bağlantı dizesi sağlar:

Network=dbmssocn; 
Önemli notÖnemli

TCP/IP istemci protokol listesinin en üstünde tutarak öneririz. Ancak, bağlantı dizesini belirtir, Networközniteliği, bu liste sırasını geçersiz kılar.

Alternatif olarak, istemci, her bağlantı için ortakları adlandırılmış yöneltmeler ister emin olmak için aşağıdaki özniteliği bağlantı dizesi sağlar:

Network=dbnmpntw; 
Önemli notÖnemli

Adlandırılmış yöneltmeler değil kullandığından TCP/IP yeniden deneme algoritması, birçok durumda, adlandırılmış yöneltmeler bağlantı girişimi zaman aşımına yansıtılmış bir veritabanına bağlanmadan önce olabilir.

Sunucu özniteliği

Bağlantı dizesi içermelidir bir Serversağlayan geçerli asıl sunucu örneği tanımlamak ilk ortak adı özniteliği.

Sunucu örneği tanımlamak için en basit yolu, adını belirterek olduğunu <server_name>\<SQL_Server_instance_name>. Örneğin:

Server=Partner_A;

veya

Server=Partner_A\Instance_2;

Ancak, sistem adı kullanıldığında, istemci sunucu ve SQL Server Gözatıcısı sorgu ortağı bulunduğu sunucunun bağlantı noktası numarası edinmek için IP adresini edinmek için dns araması gerçekleştirmeniz gerekir. Bu aramaları ve sorgular ortak IP adresi ve bağlantı noktası numarasını belirterek atlanabilir Serverözniteliği yerine, sunucunun adını belirtme. Bu, o ortağa bağlanırken dış gecikme olasılığını en aza indirmek için önerilir.

[!NOT]

Adlandırılmış örnek adı ve bağlantı noktası bağlantı dizesini belirtir, gerekli bir SQL Server Gözatıcısı sorgudur.

IP adresini ve bağlantı noktasını belirtmek için Serverözniteliğini aşağıdaki formu alır Server=<ip_address>,<port>, örneğin:

Server=123.34.45.56,4724; 

[!NOT]

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

Veritabanı öznitelik

Buna ek olarak, bağlantı dizesi belirtmeniz gerekir Databaseözniteliği yansıtılmış veritabanı adını vermesini. İstemci bağlanmaya çalıştığında veritabanı kullanılamıyorsa, bir özel durum oluşturuldu.

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

" Server=Partner_A; Database=AdventureWorks "

[!NOT]

Bu dize, kimlik doğrulama bilgilerini atlar. Anahtar kelimeler için tümleşik kimlik doğrulaması hakkında daha fazla bilgi için bkz: SQL Server ile yerel istemci bağlantı dizesi anahtar sözcükler kullanma.

Önemli notÖnemli

Protokol önekiyle donatılacak Serverözniteliği (Server=tcp:<servername>) ile uyumsuz Networközniteliği ve hem yerler olacak olası sonuç hata protokolü belirtme. Bu nedenle, bir bağlantı dizesi protokolünü kullanarak belirtin öneririz Networközniteliği ve yalnızca sunucu adını belirtin Serverözniteliği ("Network=dbmssocn; Server=<servername>").

Yerine çalışma ortağı özniteliği

İlk ortak adı ek olarak, istemci geçerli yansıtma sunucu örneği tanımlamak yerine çalışma ortağı adı da belirtebilirsiniz. Yerine çalışma ortağı yerine çalışma ortağı özniteliği için anahtar belirtilir. Bu özniteliği için anahtar sözcüğü kullanmakta olduğunuz API bağlıdır. Bu anahtar sözcükler aşağıdaki tabloda listelenmektedir:

API

Yerine çalışma ortağı özniteliği için anahtar kelime

ole db sağlayıcısı

FailoverPartner

odbc sürücüsü

Failover_Partner

ActiveX Veri Nesneleri (ado)

Failover Partner

Bu API'ların anahtar sözcükler hakkında daha fazla bilgi için bkz: SQL Server ile yerel istemci bağlantı dizesi anahtar sözcükler kullanma.

Sunucu örneği tanımlamak için en basit yolu, sistem tarafından adıdır <server_name>\<SQL_Server_instance_name>.

Alternatif olarak, IP adresi ve bağlantı noktası numarası olarak sağlanabilir Failover Partnerözniteliği. Veritabanı ilk bağlantı sırasında ilk bağlantı girişimi başarısız olursa yerine çalışma ortağı bağlantı girişimi dns ve SQL Server Browser güvenerek serbest kalacaktır. Bağlantı kurulduktan sonra yerine çalışma ortağı adı ile yerine çalışma ortağı adı yazılacak şekilde yerine çalışma oluştuğunda, yeniden yönlendirilen bağlantılar dns ve SQL Server tarayıcı gerektirir.

[!NOT]

Yalnızca ilk ortak adı sağlandığında uygulama geliştiricilerin herhangi bir işlem yapması veya dışında herhangi bir kod yeniden hakkında yazmaya gerek yoktur.

[!NOT]

Yönetilen kod uygulama geliştiriciler sağlamak yerine çalışma ortağı adı ConnectionString, SqlConnectionnesnesini. Bu bağlantı dizesini kullanarak daha fazla bilgi için bkz: "veritabanı yansıtma desteği.SQL Server için .NET Framework veri sağlayıcısı" ado.Bir parçası olan net belgeleri, Microsoft.net Framework sdk.

Bağlantı dizesi örneği

Örneğin, açıkça TCP/IP kullanarak bağlan AdventureWorks veritabanı Partner_A veya Partner_B, odbc sürücüsü kullanan bir istemci uygulaması aşağıdaki bağlantı dizesini tedarik:

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

Alternatif olarak, istemci, ilk ortak, Partner_A tanımlamak için IP adresi ve bağlantı noktası numarasını kullanabilirsiniz; Örneğin, IP adresinin 250.65.43.21 olduğunu ve 4734 bağlantı noktası ise, bağlantı dizesi olacaktır:

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

Bağlantı yeniden deneme algoritması (TCP/IP bağlantıları için)

Her iki ortak ad önbelleğinde olduğunda bir TCP/IP bağlantısı için veri erişim sağlayıcısı bağlantı yeniden deneme algoritması için uyar. Bu, hem oturumun başlangıç bağlantı yapmak için hem de kurulan bir bağlantı kaybettikten sonra yeniden bağlanma için geçerlidir. Bir bağlantı açıldıktan sonra pre-login ve oturum açma adımları ek zaman alır.

[!NOT]

Etki alanı denetleyicisi/Kerberos Anahtar Dağıtım Merkezi (kdc) bağlantısı yavaş dns aramalarını gibi dış Etkenler nedeniyle yeniden deneme saati aşabilir açılış için harcanan zamanı yavaş, kontak SQL Server Gözatıcısı, ağ tıkanıklığı ve benzeri zaman geçirdim. Gibi dış etkenlerden bir istemci yansıtılmış bir veritabanına bağlanmasını engelleyebilir. Ayrıca, dış Etkenler ayrılan deneme açılışı uzun sürer bağlantı neden olabilir. İlk ortak bağlantı girişimi için dns ve SQL Server Gözatıcısı'nı atlayarak hakkında daha fazla bilgi için bkz: bir veritabanı oturumu yansıtma ilk bağlantı kurma, bu konuda daha önceki.

Bağlantı girişimi başarısız veya başarılı önce deneme süresi sona ermeden, diğer ortak veri erişim sağlayıcısı çalışır. Bu noktada bir bağlantı açılmaz sağlayıcı dönüşümlü başlangıç ve yerine çalışma ortağı adlarını, bir bağlantı açılır veya oturum açma süre aşımına kadar çalışır. Varsayılan oturum açma zaman aşımı süresi 15 saniyedir. Oturum açma zaman aşımı süresi en az 5 saniye olmak öneririz. Küçük bir zaman aşımı süresi belirleme herhangi bir bağlantı denemeleri başarılı dan engelleyebilir.

Deneme süresi oturum süre yüzdesidir. Bağlantı girişimi için yeniden deneme zaman birbirini izleyen her turda daha büyük. İlk turda, yeniden her iki girişimi için yüzde 8 saattir toplam oturum açma süresi. Birbirini izleyen her turda yeniden deneme algoritması en fazla yeniden deneme süresi aynı oranda artar. Böylece, yeniden deneme süreleri ilk sekiz bağlantı kalkışmak gibidir:

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

Deneme süresi, aşağıdaki formül kullanılarak hesaplanır:

RetryTime = PreviousRetryTime + ( 0.08 * LoginTimeout )

Burada PreviousRetryTime ise başlangıçta 0.

Örneğin, varsayılan oturum açma zaman aşımı süresi 15 saniyelik kullanarak LoginTimeout = 15. Bu durumda, ilk üç turda ayrılan deneme süreleri aşağıdaki gibidir:

Round

RetryTime hesaplama

Yeniden deneme girişimi başına saati

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

Bunlar aşağıdaki şekilde gösterilmiştir kez her biri zaman aşımına art arda yapılan bağlantı girişimleri için yeniden deneyin.

15 saniye oturum açma zaman aşımı için en fazla yeniden deneme gecikmeleri

Varsayılan oturum açma zaman aşımı süresini, bağlantı girişimleri ilk üç tur için ayrılan azami süresini 14.4 saniyedir. Eğer her girişimi tüm ayrılan zaman kullanmak için yalnızca 0.6 saniye zaman önce giriş dönemi zaman aşımına kalacak. Bu durumda, dördüncü turda, ilk ortak adı kullanarak bağlanmak yalnızca bir son hızlı girişimi izin kısıtlandığını. Ancak, bir bağlantı girişimini ayrılan yeniden zaman, özellikle de daha sonra mermi az başarısız olabilir. Örneğin, bir ağ hatası alma deneme süresi sona ermeden önce son girişimi neden olabilir. Önceki girişimleri bir ağ hatası nedeniyle başarısız olursa, ek süre boyunca ve belki de dördüncü için kullanılabilir olacaktır ek mermi.

Başka bir başarısız girişimi etkin sunucu örneği, bir sunucu örneği üzerinde kendi veritabanı başarısız devreye oluşur gibi nedenidir. Bu durumda, yeniden deneme gecikmesi, istemcilerin bağlantı girişimlerinin bir peş peşe ortaklarıyla aşırı önlemek için sınırlamasıdır.

[!NOT]

İki ortağı adı oturum açma zaman aşımı sonsuzdur, kullanılabilir olduğunda istemci süresiz sunucuya bağlanmayı ilk ortak adı ve yerine çalışma ortağı adı arasında değişen dener.

[Üst]

Gecikmeleri Failover sırasında yeniden deneyin.

İstemci üzerinden başarısız bir ortak bağlanmaya çalışırsa, ortak etkin olmadığını hemen yanıtlar. Bu durumda, bağlantı girişimleri her turda ayrılan yeniden deneme saati çok briefer. Bu, bağlantı girişimleri birçok tur önce giriş dönemi zaman aşımına olabilir anlamına gelir. Yerine çalışma sırasında ortakları ile bağlantı denemelerinin hızlı bir dizi aşırı önlemek için veri erişim sağlayıcısı her yeniden deneme döngüsü sonra kısa yeniden deneme gecikmesi ekler. Belirtilen yeniden deneme gecikmesi yeniden deneme gecikmesi algoritması tarafından belirlenir. İlk turdan sonra gecikme 100 milisaniyedir. Her üç tur sonra yeniden deneme gecikmesi çift — 200, 400 ve 800. Sonraki tüm turlarda için yeniden deneme gecikmesi 1 bağlantı girişimi başarılı ya da zaman aşımına kadar saniyedir.

[!NOT]

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

Yeniden deneme gecikmesi olan ortakların rolleri geçiş bir el ile failover sırasında bağlantı girişimleri etkilemesi aşağıdaki şekilde gösterilmiştir. Oturum açma zaman aşımı süresi 15 saniyedir.

Yeniden deneme-gecikme algoritması

Session yansıtma veritabanına yeniden bağlanma

Bir veritabanı oturumu yansıtma için kurulan bir bağlantı herhangi bir nedenle, örneğin, yük devretme, yansıtma veritabanı nedeniyle başarısız ve uygulamanın ilk sunucuya yeniden dener, veri erişim sağlayıcısı istemci önbelleğinde depolanan yerine çalışma ortağı adı kullanarak bağlanmayı deneyebilirsiniz. Yeniden bağlanıyor ancak otomatik değildir. Uygulama hata farkında olmak gerekir. Ardından, uygulama başarısız bağlantıyı kapatın ve aynı bağlantı dizesi öznitelikleri kullanarak yeni bir bağlantı açmak gerekiyor. Bu noktada veri erişim sağlayıcısı bağlantı için yerine çalışma ortağı yönlendirir. Bu adla tanımlanan sunucu örneği şu anda asıl sunucu ise, bağlantı girişimini genellikle başarılı olur. O bir hareket veya taahhüt geri belirsizdir uygulama hareketin durumunu aynı şekilde bir tek başına sunucu örneğine bağlanma zaman kontrol gerekir.

Yeniden bağlanma, bağlantı dizesini bir yerine çalışma ortağı adı verilen ilk bağlantıyı benzer. İlk bağlantı girişimi başarısız olursa, bağlantı ilk ortak adı ve yerine çalışma ortağı adı arasında ileri ve geri geçiş istemci asıl sunucuya bağlanır veya veri erişim sağlayıcısı zaman aşımına kadar çalışır.

[!NOT]

SQL ServerYerel istemci için bir asıl sunucu örneği ama olsun bu örneği bağlantı dizesindeki ilk ortak adı alanında belirtilen sunucu örneği ortağı değil bağlayan doğrular.

TCP/IP bağlantılarını kullanan bağlantı yeniden deneme algoritması her turda bağlantı girişimleri için ayrılan süreyi belirler. Daha fazla bilgi için, bkz. SQL Server ile yerel istemci bağlantı dizesi anahtar sözcükler kullanma.

Önemli notÖnemli

İstemci veri tabanından kesilirse veri erişim sağlayıcısı bağlanmayı denemez. İstemci yeni bir bağlantı isteği kesmeniz gerekir. Bağlantı kaybetme üzerinde bir uygulama kapanır, Ayrıca, bu önbelleğe alınan ortak adları kaybedersiniz. Çünkü asıl sunucu kullanılamaz oldu bağlantısı kaybedildi, uygulama yansıtma sunucuya yeniden bağlanabilir sadece yerine çalışma ortağı adı, bağlantı dizesindeki sağlayarak yoludur.

[Üst]

Yeniden yönlendirme istemci uygulama üzerindeki etkisi

Yerine çalışma için geçerli asıl sunucu örneği veri erişim sağlayıcısı bağlantı yeniden yönlendirir. Ancak, yönlendirme istemciler için saydamdır. Bir istemciye yeniden yönlendirilen bir bağlantı ilk ortak adı tarafından tanımlanan sunucu örneği için bir bağlantı görünür. Zaman ilk ortak şu anda yansıtma sunucu, istemci ayna bağlı görülebilir sunucu ve yansıtma veritabanı güncelleştiriliyor. Aslında, ancak istemci geçerli asıl veritabanı olan yerine çalışma ortağı için yeniden yönlendirildi ve istemci yeni asıl veritabanı güncelleştiriliyor.

Sonra yerine çalışma ortağı yönlendirildi, bir istemci beklenmeyen sonuçlar kullanırken yaşayabilirsiniz bir Transact-SQLfarklı bir veritabanı kullanmak için use deyimi. Geçerli asıl sunucu örneği (yerine çalışma ortağı) veritabanları özgün asıl sunucu (ilk ortak) daha farklı bir dizi varsa bu durum oluşabilir.

[Üst]

Eski bir yerine çalışma ortağı adı etkisi

Veritabanı Yöneticisi, yerine çalışma ortağı herhangi bir zamanda değiştirebilirsiniz. Bu nedenle, bir istemci tarafından sağlanan yerine çalışma ortağı adı güncel olabilir veya eski. Örneğin, başka bir sunucu örneği, Partner_C tarafından değiştirilir Partner_B adlı bir yerine çalışma ortağı düşünün. Bir istemci yerine çalışma ortağı adı Partner_B sağlarsa, şimdi bu eski adıdır. İstemci tarafından sağlanan yerine çalışma ortağı adı eski olduğunda, davranışı veri erişim sağlayıcısı olan yerine çalışma ortağı adı istemci tarafından sağlanan durum eşittir.

Örneğin, dört bağlantı girişimleri bir dizi için bir bağlantı dizesi istemci kullanma durumu düşünün. Bağlantı dizesindeki ilk ortak adı Partner_A ve Partner_B yerine çalışma ortağı adı ise:

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

Aşağıdaki tabloda, dört ortağı yapılandırmaları gösterir ve her biri için bu bağlantı dizesi istemci ilk kez bağlanmak için çalışıp gösterir.

[!NOT]

Bir uygulama yapılandırma değişiklikleri izleyebilir ve buna göre kendi bağlantı dizesini değiştirin. Bu fazladan kod gerektirir ancak yönetim yükünü azaltır.

Yapılandırma

Asıl sunucu

Yansıtma sunucu

Belirten Partner_A ve Partner_B bağlanmaya çalışılırken davranışı

Özgün yansıtma yapılandırma.

Partner_A

Partner_B

Partner_A ilk ortak adı olarak önbelleğe alınır. İstemci, Partner_A için bağlantı başarılı olur. İstemci yansıtma sunucu, Partner_B, yüklemeler ve istemci tarafından sağlanan yerine çalışma ortağı adı yoksayarak, önbelleğe alır.

Bir donanım hatası Partner_A deneyimleri ve yerine çalışma (istemcilerin bağlantısını kesme) oluşur.

Partner_B

hiçbiri

Partner_A hala ilk ortak adı olarak önbelleğe alınır, ancak istemci tarafından sağlanan yerine çalışma ortağı adı, Partner_B, istemcinin geçerli asıl sunucuya bağlanmak için izin verir.

Veritabanı Yöneticisi (istemcilerin bağlantısını kesme) yansıtma durdurur, Partner_A Partner_C ile değiştirir ve yansıtma yeniden başlatır.

Partner_B

Partner_C

İstemci, Partner_A ve başarısız bağlanmak çalışır; ardından istemci Partner_B (geçerli asıl sunucu) çalışır ve başarılı olur. Veri erişim sağlayıcısı geçerli yansıtma sunucu, Partner_C, adını yükler ve geçerli yerine çalışma ortağı adı olarak önbelleğe alır.

Hizmeti el ile üzerinden için (istemcilerin bağlantısını kesme) Partner_C başarısız.

Partner_C

Partner_B

İstemci Partner_A için başlangıçta bağlanma girişimlerini ve ardından Partner_B. Hem adı başarısız ve sonunda bağlantı isteği zaman aşımına uğrar ve başarısız olur.

[Üst]

Ayrıca bkz.

Görevler

NIB - Connecting Using the SQL Server Browser Service

Kavramlar

(SQL Server) yansıtma veritabanı

Veritabanı yansıtma sırasında olası hataları

SQL Server ile yerel istemci bağlantı dizesi anahtar sözcükler kullanma

SQL Server Tarayıcı hizmeti

Diğer Kaynaklar

Connecting to the SQL Server Database Engine

Network Protocols, and TDS Endpoints