Aracılığıyla paylaş


Dağıtılmış sorgular ve dağıtılmış işlemler

The SQL Server Veritabanı Altyapısı allows you to create links to OLE DB data sources called linked servers.Bir ole db veri bağlama sonra kaynak, aşağıdakileri yapabilirsiniz:

Başvuru satır ole db veri kaynaklarından tablolar biçiminde ayarlar Transact-SQL deyimleri.

  • ole db veri kaynakları için komutlar gönderebilir ve tablolar biçiminde elde edilen satır kümeleri eklemek Transact-SQL deyimleri.

Her bir dağıtılmış sorgu birden çok bağlantılı sunucuları başvuru ve her iki güncelleştirme gerçekleştirmek veya okuma işlemleri tek tek her bağlantılı sunucu karşı.Tek bir dağıtılmış sorgu bağlantılı bazı sunucularda okuma işlemleri gerçekleştirmek ve güncelleştirme işlemlerine bağlı diğer sunucularda kullanabilirsiniz.Genel olarak, Veritabanı Altyapısı karşılık gelen ole db den dağıtılmış işlemler desteği gerektiren sağlayıcı her durumda birden fazla bağlantılı sunucudan veri büyük olasılıkla bir hareketi. güncelleştirilecekBu yüzden, bağlantılı sunucuları karşı desteklenen sorgu türleri bağlı düzey hareketleri var içinde ole db sağlayıcıları için destek.ole db işlem yönetimi için iki isteğe bağlı arabirim tanımlar:

  • ITransactionLocal ole db veri kaynak yerel hareketleri destekler.

  • ITransactionbirleştirmek sağlayıcı sağlar birleştirmek diğer kaynak yöneticilerini içerir dağıtılmış işlem.

    Destekleyen sağlayıcı ITransactionJoin'i de destekler ITransactionLocal.

Bağlantı otomatik yürütme modu olduğunda bir dağıtılmış sorgu yürütülürse, bu kurallar uygulanır:

  • Yalnızca okuma işlemleri desteği sağlayıcıları karşı izin verilir ITransactionLocal.

  • Tüm güncelleştirme işlemlerini destekleyen tüm sağlayıcıları karşı izin verilir ITransactionLocal.

    Denetleme örnek , Veritabanı Altyapısı otomatik olarak çağırır ITransactionLocal bulunan yerel bir işlem başlatmak üzere bir güncelleştirme işlemi katılan her bağlantılı sunucu.deyim başarılı ya da geri deyim başarısız olursa toplar, onları tamamlar.

Bir dağıtılmış sorgu dağıtılmış bölümlenmiş görünümün karşı ise veya bağlantı ya da bir açık olduğunda yürütülür veya örtük işlem, bu kurallar uygulanır:

  • Yalnızca okuma işlemleri desteği sağlayıcıları karşı izin verilir ITransactionJoin'i.Tüm işlemleri desteklememekte veya yalnızca desteği sağlayıcıları ITransactionLocal güncelleştirme işlemlerinde alamaz.

  • set xact_abort on olarak ayarlanmışsa, tüm güncelleştirme işlemlerini destekleyen tüm sağlayıcıları karşı izin verilir ITransactionJoin'i.Denetleme örnek , Veritabanı Altyapısı otomatik olarak çağırır ITransactionJoin içinde dağıtılmış işleme kaydolmak için bir güncelleştirme işleminde katılan her bağlantılı sunucu.Microsoft Dağıtılmış İşlem Düzenleyicisi (ms dtc) sonra bunları ya da kontrol eden sunucu hareket kabul edilen veya geri alınmış olduğunu gösterdiğinde geri alınır.

  • set xact_abort kapalı ise, güncelleştirme işlemlerini izin verilmeden önce bağlantılı sunucu de iç içe geçmiş hareketleri desteklemesi gerekir.İç içe geçmiş hareketler desteklenen arama sağlayıcı destekliyorsa, ITransactionLocal::StartTransaction varken oturum için varolan bir hareket.Böylece, SQL Server geri almak almak dönmek tek tek ifadelerine dağıtılmış sorgular olmadan geri almak almak alma tüm hareket.

Yukarıdaki kurallar, iç içe geçmiş hareketleri destekleyen sağlayıcıları için aşağıdaki kısıtlama olunmasının: Yalnızca xact_abort seçeneği on olarak ayarlanmışsa, güncelleştirme işlemlerini dağıtılmış işlem içinde izin verilir.

Ayrıca bkz.

Kavramlar