Aracılığıyla paylaş


Transact-SQL dağıtılmış işlemler

Dağıtılmış işlemler başlatılmış Transact-SQL oldukça basit bir yapıya sahip:

  1. A Transact-SQL komut dosyası veya uygulama bağlantı yürütür bir Transact-SQL başlayan deyim bir dağıtılmış işlem.

  2. örnek , SQL Server Veritabanı Altyapısı deyim yürütme olur kontrol eden sunucu hareket.

  3. Komut dosyası veya uygulama dağıtılmış sorgular bağlantılı sunucularda ya da uzak saklı yordamlar uzak sunucularda yürütür.

  4. Dağıtılmış sorgular ve uzak yordam çağrıları yaptığı gibi kontrol eden sunucu otomatik olarak arar Microsoft dağıtılmış işlem Coordinator (ms dtc) için listeleme bağlantılı ve uzak sunucuları dağıtılmış bir hareket.

  5. Ne zaman komut dosyası veya uygulama sorunları denetleyen bir yürütme veya rollback deyim, örnek , SQL Server iki aşamalı yürütme süreci yönetmek veya geri almak almak bağlantılı ve uzak sunuculara bildirmek için ms dtc çağrılarınıkendi hareketleri.

Gerekli Transact-sql deyimleri

The Transact-SQL statements controlling the distributed transactions are few because most of the work is done internally by the SQL Server Veritabanı Altyapısı and MS DTC.Tek Transact-SQL gerekli ifadeleri Transact-SQL komut dosyası veya uygulama olduğu için gerekli olanlar:

  • Start bir dağıtılmış işlem.

  • Bağlantılı sunucularda dağıtılmış sorgular gerçekleştirmek veya yürütmek uzak sunucularda uzak yordam çağrıları.

  • Standart arama Transact-SQL hareket TAMAMLAMA, iş TAMAMLAMA, rollback İŞLEMİNİ veya geri alma iş bildirilerle tam hareket.

    Herhangi Transact-SQL Dağıtılmış İşlem, örnek , Veritabanı Altyapısı işleme Transact-SQL komut dosyası veya bağlantı otomatik olarak taahhüdü veya geri alma hareketi koordine etmek için ms dtc çağırır

Dağıtılmış işlemler başlatılıyor

Dağıtılmış işlemleri başlatabilirsiniz Transact-SQL aşağıdaki şekillerde:

  • BAŞLAMAK dağıtılmış hareket kullanarak açık bir dağıtılmış işlem başlatmak deyim.

    Ayrıca yürütmek bir dağıtılmış sorgu karşı bağlantılı sunucu.örnek , Veritabanı Altyapısı Bağlı çağrıları ms DTC'yi yönetme dağıtılmış işlem ile bağlantılı sunucu.Uzaktan kumandanın da uzak saklı yordamlar çağırabilir örnek , Veritabanı Altyapısı bir parçası olarak dağıtılmış bir hareket.

  • Yerel işlem sırasında içinde bir dağıtılmış sorgu yürütmek.

    Destekleyen ole db veri kaynak, ITransactionJoin hareket arabirim, yükseltilen için bir dağıtılmış işlem salt okunur bir sorguyu sorgu olsa bile.Veri kaynak desteği ITransactionJoin'i, yalnızca salt okunur deyimlerine izin verilir.

  • set REMOTE_PROC_TRANSACTIONS on yürütülen ve yerel işlem çağıran bir uzak saklı yordam başka örnek üzerinde Veritabanı Altyapısı, yerel hareket yükseltilmiş dağıtılmış bir hareket.

    The Veritabanı Altyapısı uses MS DTC to coordinate the transaction with the remote server.Uzak saklı yordam çağrıları yürütme yerel bir işlem kapsam dışında REMOTE_PROC_TRANSACTIONS, küme için kapalı.Yerel işlem geri döndürülüyor, uzak yordam tarafından yapılan çalışmalar döndürülmez.En uzak saklı yordam tarafından yapılan çalışmaya kararlıdır saat yordamı tamamlar, yerel işlem tamamlanmış olduğunda değil.

REMOTE_PROC_TRANSACTIONS seçeneği kullanılarak tanımlanmış Uzak sunucuya yapılan uzak saklı yordam çağrıları etkileyen bir Uyumluluk seçeneği olan sp_addserver.Seçeneği yürütme dağıtılmış sorgular için geçerli değildir bir saklı yordam kullanılarak tanımlanmış bir bağlantılı sunucu üzerinde sp_addlinkedserver.Dağıtılmış sorgular hakkında daha fazla bilgi için bkz: Dağıtılmış sorgular.