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.
Fiziksel, işletim sistemi veya SQL Server sorunları veritabanı yansıtma oturumunda hataya neden olabilir. Veritabanı yansıtma, Sqlservr.exe'nin doğru çalışıp çalışmadığını veya arızalanıp arızalanmadığını doğrulamak için bağlı olduğu bileşenleri düzenli olarak denetlemez. Ancak, bazı arıza türlerinde etkilenen bileşen Sqlservr.exe’ye hata bildirir. Başka bir bileşen tarafından bildirilen hataya sabit hata adı verilir. Veritabanı yansıtma, aksi takdirde fark edilmeyecek diğer hataları algılamak için kendi zaman aşımı mekanizmasını kullanır. Yansıtma zaman aşımına uğradığında, veritabanı yansıtması bir hatanın oluştuğunu varsayar ve bunu soft error olarak bildirir. Ancak, SQL Server örneği düzeyinde meydana gelen bazı hatalar, yansıtmanın zaman aşımına uğramasına neden olmaz ve tespit edilemeyebilir.
Important
Yansıtılmış veritabanı dışındaki veritabanlarındaki hatalar, veritabanı yansıtma oturumunda algılanamaz. Ayrıca, veri diski hatası nedeniyle veritabanı yeniden başlatılmadığı sürece veri diski hatası algılanma olasılığı düşüktür.
Hata algılama hızı ve bu nedenle yansıtma oturumunun tepki süresi hatanın sert mi yoksa yumuşak mı olduğuna bağlıdır. Ağ hataları gibi bazı sabit hatalar hemen bildirilir. Ancak bazı durumlarda, bileşene özgü zaman aşımı süreleri bazı sabit hataların raporlanmasında gecikmeye neden olabilir. Geçici hatalar için yansıtma zaman aşımı süresinin uzunluğu hata algılama hızını belirler. Varsayılan olarak, bu süre 10 saniyedir. Önerilen en düşük değer budur.
Kalıcı Hatalardan Kaynaklanan Arızalar
Sabit hataların olası nedenleri şunlardır (ancak bunlarla sınırlı değildir):
Kopuk bir bağlantı veya kablo
Hatalı bir ağ kartı
Yönlendirici değişikliği
Güvenlik duvarındaki değişiklikler
Uç nokta yeniden yapılandırma
İşlem günlüğünün bulunduğu sürücünün kaybı
İşletim sistemi veya işlem hatası
Örneğin, asıl veritabanındaki günlük sürücüsü yanıt vermemeye başladığında ve başarısız olduğunda, işletim sistemi önemli bir hata oluştuğu Sqlservr.exe bildirir.
Ağ bileşenleri ve bazı GÇ alt sistemleri gibi bazı bileşenlerin hataları belirlemek için kendi zaman aşımları vardır. Bu tür zaman aşımları, veritabanı yansıtmadan bağımsızdır ve bunlar hakkında hiçbir bilgisi yoktur ve davranışlarının tamamen farkında değildir. Bu gibi durumlarda, zaman aşımı gecikmesi bir başarısızlığın meydana gelmesi ile veritabanı yansıtmanın ortaya çıkan ciddi hatayı alması arasındaki süreyi artırır.
Note
Veritabanı yansıtmasında etkin olarak yapılan hata denetimi yalnızca yazılımsal hata durumlarında gerçekleştirilir. Daha fazla bilgi için bu konunun devamında yer alan "Geçici Hatalardan Kaynaklanan Hatalar" bölümüne bakın.
Ağda oluşan hata koşullarını yorumlamanıza yardımcı olması için, tcp bağlantısında aşağıdaki olaylar gerçekleştiğinde ağ mühendisine bağlantı noktasına hangi hata iletilerinin gönderildiğini sorun:
DNS çalışmıyor.
Kablolar takılı değil.
Microsoft Windows'un belirli bir bağlantı noktasını engelleyen bir güvenlik duvarı vardır.
Bağlantı noktasını izleyen uygulama başarısız oluyor.
Windows tabanlı bir sunucu yeniden adlandırılır.
Windows tabanlı bir sunucu yeniden başlatılır.
Note
Yansıtma, sunuculara erişen istemciye özgü sorunlara karşı koruma sağlamaz. Örneğin, genel ağ bağdaştırıcısının asıl sunucu örneğine istemci bağlantılarını işlediğini, özel ağ arabirimi kartının ise sunucu örnekleri arasındaki tüm yansıtma trafiğini işlediğini düşünün. Bu durumda, genel ağ bağdaştırıcısının arızalanması istemcilerin veritabanına erişmesini engelleyecektir, ancak veritabanı yansıtılmaya devam edecektir.
Yumuşak Hatalardan Kaynaklanan Arızalar
Yansıtma zaman aşımlarına neden olabilecek koşullar şunlardır (ancak bunlarla sınırlı değildir):
TCP bağlantısı zaman aşımları, bırakılan veya bozuk paketler ya da yanlış sırada olan paketler gibi ağ hataları.
Yanıt vermeyen bir işletim sistemi, sunucu veya veritabanı.
Windows server zaman aşımına uğradı.
CPU veya disk aşırı yüklemesi, işlem günlüğünün dolması veya sistemde bellek veya iş parçacıklarının bitmesi gibi bilgi işlem kaynaklarının yetersiz olması. Böyle durumlarda zaman aşımı süresini artırmanız, iş yükünü azaltmanız veya iş yükünü işlemek için donanımı değiştirmeniz gerekir.
Yansıtma Zaman Aşımı Mekanizması
Geçici hatalar doğrudan bir sunucu örneği tarafından algılanamadığından, geçici bir hata sunucu örneğinin süresiz olarak beklemesine neden olabilir. Bunu önlemek için veritabanı yansıtma, yansıtma oturumundaki her sunucu örneğinin her açık bağlantı üzerinden sabit aralıklarla bir ping göndermesine dayanan kendi zaman aşımı mekanizmasını kullanır.
Bir bağlantının açık kalmasını sağlamak için sunucu örneğinin, tanımlanan zaman aşımı süresi içinde ve buna ek olarak bir ping daha göndermek için gereken süre içinde bu bağlantı üzerinden bir ping alması gerekir. Zaman aşımı süresi boyunca ping almak, bağlantının hala açık olduğunu ve sunucu örneklerinin bu bağlantı üzerinden iletişim kurduğunu gösterir. Ping aldığında, sunucu örneği bu bağlantıdaki zaman aşımı sayacını sıfırlar.
Zaman aşımı süresi boyunca bir bağlantıda ping alınmazsa, sunucu örneği bağlantıyı zaman aşımına uğradı olarak değerlendirir. Sunucu örneği zaman aşımına uğradı bağlantısını kapatır ve zaman aşımı olayını oturumun durumuna ve çalışma moduna göre işler.
Diğer sunucu aslında doğru şekilde çalışmaya devam ediyor olsa bile, zaman aşımı bir başarısızlık olarak kabul edilir. Bir oturumun zaman aşımı değeri her iki iş ortağının da normal yanıt verme süresi için çok kısaysa hatalı hatalar oluşabilir. Bir sunucu örneği, başka bir sunucu örneğine başarıyla ulaşmasına rağmen o sunucunun yanıt süresi o kadar yavaştır ki ping yanıtları zaman aşımı süresi dolmadan önce alınamazsa, yanlış bir başarısızlık durumu oluşur.
Yüksek performanslı mod oturumlarında zaman aşımı süresi her zaman 10 saniyedir. Bu genellikle hatalı hataları önlemek için yeterlidir. Yüksek güvenlik modu oturumlarında varsayılan zaman aşımı süresi 10 saniyedir, ancak süreyi değiştirebilirsiniz. Yanlış hataları önlemek için yansıtma zaman aşımı süresinin her zaman 10 saniye veya daha fazla olmasını öneririz.
Zaman aşımı değerini değiştirmek için (yalnızca yüksek güvenlik modu)
- ALTER DATABASE <veritabanı>SET PARTNER TIMEOUT <integer> deyimini kullanın.
Geçerli zaman aşımı değerini görüntülemek için
- mirroring_connection_timeout öğesini sys.database_mirroring içinde sorgulayın.
Hataya Yanıt Verme
Hata türü ne olursa olsun, hata algılayan bir sunucu örneği, örneğin rolüne, oturumun işletim moduna ve oturumdaki diğer bağlantıların durumuna göre uygun şekilde yanıt verir. bir iş ortağının kaybıyla ilgili neler olduğu hakkında bilgi için bkz. Veritabanı Yansıtma İşletim Modları.
Ayrıca Bkz.
Rol Değiştirme Sırasında Hizmet Kesintisini Tahmin Etme (Veritabanı Yansıtma)
Veritabanı Yansıtma İşletim Modları
Veritabanı Yansıtma Oturumu Sırasında Rol Değiştirme (SQL Server)
Veritabanı Yansıtma (SQL Server)