Aracılığıyla paylaş


İşlemler (xmla) yönetme

Every XML for Analysis (XMLA) command sent to an instance of Microsoft SQL Server Analysis Services runs within the context of a transaction on the current implicit or explicit session.Bu hareketlerin her biri yönetmek için kullandığınız BeginTransaction, CommitTransaction, ve RollbackTransaction komutları.Bu komutları kullanarak, kapalı ya da açık hareketleri oluşturmak, hareket başvuru sayısı değiştirmek yanı sıra başlatabilir, yürütme veya işlemleri geri almak almak.

Açık ve örtülü hareketleri

Örtük veya açık bir hareket olduğu:

  • Kesin hareketin
    Analysis Services creates an implicit transaction for an XMLA command if the BeginTransaction command does not specify the start of a transaction.Analysis Services always commits an implicit transaction if the command succeeds, and rolls back an implicit transaction if the command fails.

  • Açık işlem
    Analysis Servicesoluşturur bir açık hareket, BeginTransaction komut başlatır bir hareket.Ancak, Analysis Services , belirtik işlem yalnızca tamamlar bir CommitTransaction komut gönderilir ve varsa belirtik işlem geri alınır bir RollbackTransaction komut gönderilir.

Buna ek olarak, Analysis Services aktif işlem tamamlanmadan önce geçerli oturum sona ererse örtülü ve açık hareketleri geri alınır.

Hareketleri ve başvuru sayıları

Analysis Services her oturum için bir işlem referans sayımı tutar.Ancak, Analysis Services desteklemiyor iç içe geçmiş hareketler için oturum başına yalnızca bir etkin işlem saklanırGeçerli oturum etkin bir işlem yoksa, işlem başvuru sayısı sıfır olarak küme.

Başka bir deyişle, her BeginTransaction komut artıran tek, while her başvuru sayısı CommitTransaction başvuru sayma bir komut azaltır.Yoksa bir CommitTransaction komut ayarlar işlem sayısı sıfır, Analysis Services tamamlar hareket.

Ancak, RollbackTransaction komutu geçerli değeri ne olursa olsun etkin işlem geri alırişlem referans sayımı. Başka bir deyişle, bir tek RollbackTransaction komutu kaç olursa olsun etkin işlem geri alır BeginTransaction komutları veya CommitTransaction Komutlar gönderilen ve ayarlar işlem başvuru sayısı sıfır.

Bir hareketin başlangıcı

The BeginTransaction command begins an explicit transaction on the current session and increments the transaction reference count for the current session by one.İzleyen tüm komutlar da kadar etkin hareket içinde yeterli kabul edilir CommitTransaction komutları aktif işlem veya tek bir yürütme için gönderilir RollbackTransaction komut gönderilir geri almak almak dönmek etkin bir hareket.

Bir işlem yapılıyor

The CommitTransaction command commits the results of commands that are run after the BeginTransaction command was run on the current session.Her CommitTransaction komut azaltır başvuru sayma işlemlerinde etkin oturum.Yoksa bir CommitTransaction komut başvuru sayısı sıfır, ayarlar Analysis Services tamamlar etkin bir hareket.Etkin işlem yok ise (diğer bir deyişle, geçerli oturum için hareket başvuru sayısı zaten sıfır olarak küme), bir CommitTransaction komut sonuçlar bir hata.

Bir hareketi geri alma

The RollbackTransaction command rolls back the results of commands that are run after the BeginTransaction command was run on the current session.The RollbackTransaction command rolls back the active transaction, regardless of the current transaction reference count, and sets the transaction reference count to zero.Etkin işlem yok ise (diğer bir deyişle, geçerli oturum için hareket başvuru sayısı zaten sıfır olarak küme), bir RollbackTransaction komut sonuçlar bir hata.