Aracılığıyla paylaş


Dağıtılmış sorgular ve dağıtılmış hareketleri

The SQL Server Database Engine allows you to create links to OLE DB data sources called linked servers.Sonra bir OLE DB veri bağlama kaynak, şunları yapabilirsiniz:

Başvuru satırı OLE DB veri kaynaklarından tablolar olarak ayarlar. Transact-SQL ifadeler.

  • OLE DB veri kaynaklarına komutları geçirmek ve tablolar olarak elde edilen satır kümesi içerir. Transact-SQL ifadeler.

Her dağıtılmış sorgu birden çok bağlantılı sunucu başvurusu ve her iki güncelleştirme gerçekleştirmek veya okuma işlemleri karşı her tek bir bağlantılı sunucu.Tek BIR dağıtılmış sorgu bağlantılı bazı sunucularda okuma işlemleri gerçekleştirmek ve Özet Tablo bağlı olan diğer sunuculara işlemleri güncelleştirebilirsiniz.Genel olarak, Database Engine birden çok bağlantılı sunucu verilerinden bir işlemde güncelleştirilecek olası olduğunda, ilgili OLE DB sağlayıcı dağıtılmış hareketleri desteğini gerektirir. Bu yüzden, bağlantılı sunucularına karşı desteklenen sorgu türleri OLE DB sağlayıcıları var olan hareketler için destek düzeyine bağlıdır.OLE DB işlem yönetimi için iki isteğe bağlı arabirim tanımlar:

  • Itransactionlocal yerel işlemler için OLE DB veri kaynağına destekler.

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

    Destekleyen herhangi bir sağlayıcı Itransactionjoin da destekler.Itransactionlocal.

Bağlantı autocommit moddayken dağıtılmış sorgu yürütüldüğünde, bu kurallar uygulanır:

  • Yalnızca okuma işlemlerini desteklemez sağlayıcıları karşı izin verilir Itransactionlocal.

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

    Denetleme örnek, Database Engine otomatik olarak çağırır. Itransactionlocal yerel bir işlem başlatmak için bir güncelleştirme işlemi katılan her bağlantılı sunucu.deyim başarılı ya da yeniden deyim başarısız olursa, bunları toplar, bunları kaydeder.

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

  • Yalnızca okuma işlemlerini desteklemez sağlayıcıları karşı izin verilir Itransactionjoin.Tüm işlemleri desteklemiyor veya yalnızca desteği sağlayıcıları Itransactionlocal güncelleştirme işlemlerinde katılamaz.

  • küme XACT_ABORT ON, tüm güncelleştirme işlemlerini destekleyen tüm sağlayıcıların karşı izin verilir Itransactionjoin.Denetimi örneğinin Database Engine otomatik olarak çağırır. Itransactionjoin dağıtılmış işleme olarak kaydetmek için bir güncelleştirme işleminde katılan her bağlantılı sunucu.Microsoft Dağıtılmış işlem Eşgüdümcüsü (MS DTC) sonra bunları tamamlar veya geri hareket tamamlandıktan veya geri olduğunu kontrol eden sunucu gösterir, bunları toplar.

  • küme XACT_ABORT KAPALı ise, güncelleştirme işlemlerini izin verilmeden önce bağlantılı sunucu da iç içe geçmiş işlem desteklemelidir.Arama sağlayıcı destekliyorsa, iç içe geçmiş hareketler desteklenmiyor ITransactionLocal::StartTransaction varken oturum için varolan bir hareket.Bu izin verir. SQL Server tek bir ifade içinde dağıtılmış sorgular tüm işlemin geri olmadan geri almak için.

Yukarıdaki kuralları, iç içe geçmiş işlem desteği sağlayıcıları için aşağıdaki kısıtlamayla durumunun oluştuğunu: Güncelleştirme işlemleri, yalnızca XACT_ABORT seçeneği AÇıK olduğunda bir dağıtılmış işleme izin verilir.

See Also

Concepts