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.
Bu makalede, Always On kullanılabilirlik grupları ve veritabanı yansıtması için veritabanları arası ve dağıtılmış işlemler desteği açıklanmaktadır.
Dağıtılmış işlemler için destek
SQL Server 2017, kullanılabilirlik gruplarındaki veritabanları için dağıtılmış işlemleri destekler. Bu destek aynı SQL Server örneğindeki veritabanlarını veya farklı SQL Server örneklerindeki veritabanlarını içerir. Dağıtılmış işlemler, veritabanı yansıtması için yapılandırılmış veritabanları için desteklenmez.
Uyarı
SQL Server 2016 (13.x) Service Pack 2 ve üzeri kullanılabilirlik gruplarında dağıtılmış işlemler için tam destek sağlar.
Service Pack 2 öncesi SQL Server 2016 (13.x) sürümlerinde, kullanılabilirlik grubundaki bir veritabanını içeren veritabanları arası dağıtılmış işlemler (aynı SQL Server örneğindeki veritabanları kullanılarak gerçekleştirilir) desteklenmez.
Dağıtılmış işlemler için bir kullanılabilirlik grubu yapılandırmak için bkz. Dağıtılmış İşlemler için Kullanılabilirlik Grubunu Yapılandırma.
Daha fazla bilgi için bkz:
SQL Server 2016 SP1 ve öncesi: Aynı SQL Server örneği içindeki veritabanları arası işlemler için destek
SQL Server 2016 SP1'de ve öncesinde, aynı SQL Server örneği içindeki veritabanları arası işlemler kullanılabilirlik grupları için desteklenmez. Veritabanlarından biri veya her ikisi de kullanılabilirlik grubundaysa, veritabanları arası işlemdeki iki veritabanı aynı SQL Server örneği tarafından barındırılamaz. Bu sınırlama, bu veritabanları aynı kullanılabilirlik grubunun parçası olduğunda da geçerlidir.
Veritabanı yansıtması sırasında veritabanları arasında işlemler de desteklenmez.
SQL Server 2016 SP1 ve öncesi: Dağıtılmış işlemler için destek
Dağıtılmış işlemler, veritabanları farklı SQL Server örnekleri tarafından barındırıldığında kullanılabilirlik gruplarıyla desteklenir. Ayrıca, SQL Server örnekleriyle diğer DTC uyumlu sunucu arasındaki dağıtılmış işlemler için de geçerlidir.
Microsoft Dağıtılmış İşlem Düzenleyicisi (MSDTC veya DTC), dağıtılmış sistemler için işlem altyapısı sağlayan bir Windows hizmetidir. MSDTC, istemci uygulamalarının tek bir işleme birden çok veri kaynağı eklemesine izin verir ve bu da işleme dahil olan tüm sunucularda işlenir. Örneğin, MSDTC'yi kullanarak farklı sunuculardaki birden çok veritabanına yayılan işlemleri koordine edebilirsiniz.
SQL Server 2016, işlemdeki veritabanlarından birinin veya daha fazlasının kullanılabilirlik grubunda yer aldığı dağıtılmış işlemleri kullanma özelliği sunar. SQL Server 2016'nın öncesinde dağıtılmış işlemler kullanılabilirlik gruplarındaki veritabanları için desteklenmiyordu. SQL Server 2016, veritabanı başına bir kaynak yöneticisi kaydedebilir. Bu yeni özellik, dağıtılmış işlemlerin kullanılabilirlik gruplarına veritabanlarını ekleme nedenidir.
Aşağıdaki gereksinimler karşılanmalıdır:
Kullanılabilirlik grupları Windows Server 2012 R2 veya sonraki sürümlerde çalışıyor olmalıdır. Windows Server 2012 R2 için güncelleştirmeyi KB3090973 yüklemeniz gerekir.
Kullanılabilirlik grupları CREATE AVAILABILITY GROUP komutu ve WITH DTC_SUPPORT = PER_DB yan tümcesiyle oluşturulmalıdır. Şu anda mevcut bir kullanılabilirlik grubunu değiştiremezsiniz.
Kullanılabilirlik grubuna katılan tüm SQL Server örnekleri SQL Server 2016 veya üzeri olmalıdır.
Dağıtılmış işlemler için destek dışı
Dağıtılmış işlemlerin desteklenmediği belirli durumlar şunlardır:
SQL Server 2016 SP1 ve önceki bir sürümünde, işlemde yer alan birden fazla veritabanı aynı kullanılabilirlik grubunda yer alır.
SQL Server 2016 SP1'de ve daha önce, en az bir veritabanı kullanılabilirlik grubunda ve başka bir veritabanı aynı SQL Server örneğinde yer alır.
Kullanılabilirlik grubunun, dağıtılmış işlemi etkinleştir seçeneğiyle oluşturulmadığı yer.
Veritabanı yansıtma.
Önemli
DTC'nin ortamınız için çözümleyemediği işlemlerin uygun varsayılan sonucunu belirleyin. Varsayılan sonucu yapılandırma hakkında bilgi için bkz. In-doubt XACT Resolution Sunucu Yapılandırma Seçeneği.
Veritabanı yansıtmasıyla örnek bir senaryo
Aşağıdaki veritabanı yansıtma örneği, mantıksal tutarsızlığın nasıl gerçekleşebileceğini gösterir. Bu örnekte, bir uygulama iki veri satırı eklemek için veritabanları arası bir işlem kullanır: bir satır yansıtılmış veritabanındaki bir tabloya eklenir, A ve diğer satır başka bir veritabanındaki tabloya eklenir, B. Veritabanı A otomatik yük devretme ile yüksek güvenlik modunda yansıtılıyor. İşlem işlenirken, A veritabanı kullanılamaz duruma gelir ve yansıtma oturumu otomatik olarak A veritabanının yansıtmasına devredilir.
Yük devretme işleminden sonra, veritabanları arası işlem B veritabanında başarıyla işlenebilir ancak yük devredilen veritabanında işlenemez. Örneğin, A veritabanının özgün ana sunucusu, veritabanı arası işlemin günlüğünü hatadan önce yansıtma sunucusuna göndermemişse. Yük devretme işleminden sonra bu işlem yeni asıl sunucuda mevcut olmayacaktır. A ve B veritabanları tutarsız hale gelebilir çünkü B veritabanına eklenen veriler değişmeden kalır, ancak A veritabanına eklenen veriler kaybolur.
MS DTC işlemi kullanılırken benzer bir senaryo oluşabilir. Örneğin, yük devretmeden sonra yeni sorumlu MS DTC ile iletişim kurar. Ancak MS DTC'nin yeni asıl sunucu hakkında bilgisi yoktur ve diğer veritabanlarında işlendiği kabul edilen "işlemeye hazırlanan" işlemleri sonlandırır.
Uyarı
Dtc ile Veritabanı Yansıtma'nın kullanılması veya dtc ile kullanılabilirlik gruplarının bu makalede onaylanmamış şekillerde kullanılması desteklenmez. Bu, DTC ile ilişkili olmayan ürünün desteklenmediği anlamına gelmez; ancak, dağıtılmış işlemlerin yanlış kullanımından kaynaklanan sorunlar desteklenmez.
Sonraki Adımlar
AlwaysOn kullanılabilirlik grupları: Birlikte Çalışabilirlik (SQL Server)