Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
SQL Server'da veritabanı yansıtması, bir SQL Server veritabanının kopyasını veya yansısını yedek sunucuda tutmanıza olanak tanır. Yansıtma, verilerin her zaman iki ayrı kopyasının bulunmasını sağlayarak yüksek kullanılabilirlik ve eksiksiz veri yedekliliği sağlar. SQL Server veritabanı için veritabanı yansıtmayı yapılandırdıktan sonra Microsoft. Data.SqlClient ek istemci kodu olmadan bunu destekler. ConnectionString özelliğinde bir yük devretme iş ortağı sunucusu da belirtebilirsiniz.
SqlConnection nesnesi yansıtma için yapılandırılmış bir veritabanını hedeflediğinde aşağıdaki olay dizisi gerçekleşir:
İstemci uygulaması asıl veritabanına başarıyla bağlanır ve sunucu, istemcide önbelleğe alınan iş ortağı sunucusunun adını geri gönderir.
Asıl veritabanını içeren sunucu başarısız olursa veya bağlantı kesilirse, bağlantı ve işlem durumu kaybolur. İstemci uygulaması, asıl veritabanıyla yeniden bağlantı kurmayı dener ve başarısız olur.
ardından istemci uygulaması, iş ortağı sunucusundaki yansıtma veritabanına saydam bir şekilde bağlantı kurmayı dener. Başarılı olursa, bağlantı yansıtma veritabanına yönlendirilir ve bu da yeni asıl veritabanı olur.
Bağlantı Dizesinde Yük Devretme Ortağının Belirtilmesi
Eğer bağlantı dizesinde bir yük devretme iş ortağı sunucusunun adını sağlarsanız, istemci uygulaması ilk kez bağlandığında asıl veritabanı kullanılamıyorsa, istemci saydam bir şekilde yük devretme ortağıyla bağlantı kurmayı dener.
";Failover Partner=PartnerServerName"
Yük devretme iş ortağı sunucu adını atlarsanız ve istemci uygulaması ilk kez bağlandığında asıl veritabanı kullanılamıyorsa, sağlayıcı SqlException oluşturur.
SqlConnection başarıyla açıldığında, sunucu yük devretme ortağı adını döndürür. Bu ad, bağlantı dizesindeki değeri geçersiz kılar.
Not
Veritabanı yansıtma senaryoları için, bağlantı dizgesinde katalog veya veritabanı adını açıkça belirtmeniz gerekir. İstemci açıkça belirtilen bir başlangıç kataloğuna veya veritabanına sahip olmayan bir bağlantıda yük devretme bilgilerini alırsa, yük devretme bilgileri önbelleğe alınmaz ve asıl sunucu başarısız olursa uygulama yük devretmeye çalışmaz. Bir bağlantı dizesi yük devretme iş ortağı için bir değere sahipse ancak ilk katalog veya veritabanı için değer yoksa, bir InvalidArgumentException oluşturulur.
Geçerli Sunucu Adını Alma
Yük devretme işleminden sonra, bağlı sunucunun adını almak için DataSource özelliğini kullanın. Aşağıdaki kod parçası, bağlantı değişkeninin SqlConnection sınıfının açık bir örneğine başvurduğunu varsayar.
Bir yük devretme olayı gerçekleştiğinde ve bağlantı yansıtma sunucusuna geçirildiğinde, DataSource özellik yansıtma adını yansıtacak şekilde güncelleştirilir.
Dim activeServer As String = connection.DataSource
string activeServer = connection.DataSource;
SqlClient Yansıtma Davranışı
İstemci her zaman geçerli asıl sunucuya bağlanmayı dener. Hata verirse yük devretme ortağını dener. Yansıtma veritabanı zaten ortak sunucuda birincil role geçirildiyse, bağlantı başarılı olur ve yeni birincil-yansıtma eşlemesi istemciye gönderilir ve çağrının AppDomain ömrü boyunca önbelleğe alınır. Kalıcı depolamada depolanmaz ve farklı AppDomain veya işlemdeki sonraki bağlantılar için kullanılamaz. Ancak, aynı AppDomain içindeki sonraki bağlantılar için kullanılabilir. Aynı veya farklı bir bilgisayarda çalışan başka AppDomain bir veya işlemin her zaman kendi bağlantı havuzuna sahip olduğunu ve bu bağlantıların sıfırlanmadığını unutmayın. Bu durumda, birincil veritabanı kapanırsa, her işlem veya AppDomain bir kez başarısız olur ve havuz otomatik olarak temizlenir.
Not
Sunucudaki yansıtma desteği veritabanı temelinde yapılandırılır. Veri işleme işlemleri, çok parçalı adlar kullanılarak veya geçerli veritabanını değiştirerek, asıl/yansıtma kümesine dahil olmayan diğer veritabanlarında yürütülürse, bu diğer veritabanlarındaki değişiklikler hata durumunda yayılmaz. Yansıtılmayan bir veritabanında veriler değiştirildiğinde hata oluşturulmaz. Geliştiricinin bu tür işlemlerin olası etkisini değerlendirmesi gerekir.
Veritabanı Yansıtma Kaynakları
Yansıtmayı yapılandırma, dağıtma ve yönetme hakkında kavramsal belgeler ve bilgiler için SQL Server belgelerinde aşağıdaki kaynaklara bakın.
| Kaynak | Açıklama |
|---|---|
| Veritabanı Yansıtma | SQL Server'da yansıtmayı kurmayı ve konfigüre etmeyi açıklar. |