Udostępnij za pośrednictwem


Performing Batch Operations (XMLA)

Można użyć partia polecenia w języku XML for Analysis (XMLA) do uruchamiania wielu poleceń XMLA przy użyciu pojedynczego XMLA wykonać metoda.Można uruchamiać wiele poleceń zawartych w Batch polecenie jako pojedyncza transakcja lub w poszczególnych transakcji dla każdego polecenia, w seryjnych lub równolegle. You can also specify out-of-line bindings and other properties in the Batch command for processing multiple Microsoft SQL Server Analysis Services objects.

Uruchamianie transakcyjnych i nietransakcyjnych partia poleceń

The Batch command executes commands in one of two ways:

  • Transakcyjne
    Jeśli Transaction atrybut Batch polecenie jest zestaw na wartość true, Batch polecenie Uruchom polecenia wszystkie polecenia zawarte w Batch polecenia w ramach pojedynczej transakcji — transakcyjne partia.

    Jeśli wszystkie polecenia w transakcyjnych partia, Analysis Services powoduje powrót dowolnego polecenia Batch polecenie, które uruchomiono przed poleceniem, które nie powiodły się i Batch polecenie kończy się natychmiast. Wszystkie polecenia w Batch nie wykonywane są polecenia, które nie zostały jeszcze uruchomione. Po Batch polecenie kończy się, Batch polecenie zgłosi żadnych błędów, jakie wystąpiły z dla polecenia nie powiodło się.

  • Nietransakcyjna
    Jeśli Transaction atrybut jest ustawiony na wartość false, Batch polecenie jest uruchamiane poszczególne polecenia zawarte w Batch polecenia w oddzielnych transakcji — nietransakcyjne partia.Jeśli wszystkie polecenia w nietransakcyjnych partia, Batch polecenie kontynuuje działanie polecenia po wykonaniu polecenia, które nie powiodło się. Po Batch polecenie próbuje uruchomić wszystkie polecenia, które Batch Zawiera polecenia, Batch polecenie zgłosi żadnych błędów, które wystąpiły.

Wszystkie wyniki zwrócony przez polecenia zawarte w Batch polecenia są zwracane w takiej samej kolejności, w którym znajdują się polecenia w Batch polecenie. wyniki zwróconych przez Batch polecenia zmieniają się zależnie od czy Batch polecenie jest transakcyjna lub nietransakcyjna.

Uwaga

Jeśli Batch polecenie zawiera polecenia, który nie zwraca danych wyjściowych, takich jak Blokada polecenia, a polecenie pomyślnie uruchamiana, Batch polecenie zwraca pusty katalog główny element wewnątrz elementu wyniki.Puste root element gwarantuje, że poszczególne polecenia zawarte w Batch polecenie można uzgodnić z odpowiednią root element, aby wyniki tego polecenia.

Zwracania wyniki z transakcji partia wyniki

wyniki z poleceń uruchamiane w ramach transakcyjnego partia nie są zwracane do całego Batch polecenie zostało zakończone. Po wykonaniu każdego polecenia, ponieważ każde polecenie się nie powiedzie w transakcyjne nie są zwracane wyniki partia spowodowałoby cały Batch polecenie, a wszystkie polecenia zawierającego można wycofać. Wszystkie polecenia uruchamiania i pomyślnie uruchamiać, zwrot element ExecuteResponse elementu zwrócony przez Execute Metoda Batch polecenie zawiera jeden wyniki element, który z kolei zawiera jeden root element dla każdego pomyślnie wykonywania polecenia zawarte w Batch polecenie. Jeśli dowolne polecenie w Batch polecenie nie może zostać uruchomiony lub nie powiedzie się zakończyć, Execute Metoda zwraca błąd protokołu SOAP dla Batch polecenie zawiera błąd polecenia, które nie powiodło się.

Zwracania wyniki z wyniki partia nietransakcyjna

Wyniki z polecenia Uruchom w partia nietransakcyjnych są zwracane w kolejności, w którym polecenia są zawarte w Batch polecenia i jak są zwracane przez każde polecenie. Jeśli polecenie nie zawarte w Batch polecenie może być pomyślnie uruchamiana, Execute Metoda zwraca błąd protokołu SOAP, zawierającym błąd dla Batch polecenie. Jeśli polecenia co najmniej jeden została pomyślnie uruchomiona, return element ExecuteResponse zwrócona przez element Execute Metoda Batch polecenie zawiera jeden results element, który z kolei zawiera jeden root element dla każdego polecenia zawarte w Batch polecenie. Jeżeli jedno lub kilka poleceń we wsadzie nietransakcyjne nie można uruchomić lub nie powiedzie się zakończyć, root element dla tego polecenia nie powiodło się zawiera Błąd element opisem błędu.

Uwaga

Tak długo, jak można uruchomić co najmniej jedno polecenie we wsadzie nietransakcyjnych, partia nietransakcyjnych jest uważany za został pomyślnie uruchomiony, nawet wtedy, gdy wszystkie polecenia zawarte w tej instancji nietransakcyjnych zwraca błąd, w wynikach Batch polecenie.

Za pomocą szeregowego i wykonanie równoległa

Można użyć Batch polecenie do uruchomienia polecenia zawarte w seryjnych lub równolegle. Uruchomienie polecenia w seryjny następnego polecenia zawarte w Batch Nie można uruchomić polecenie, aż do aktualnie wykonywanego polecenia w Batch polecenie zostało zakończone. Uruchomienie polecenia równolegle wielu poleceń mogą być wykonywane równocześnie przez Batch polecenie.

Aby wykonać polecenia równolegle, dodawanie poleceń, które mają być wykonywane w równolegle do Równoległe Właściwość Batch polecenie. Obecnie, Analysis Services można uruchamiać tylko sąsiadujących ze sobą, kolejne Proces polecenia równolegle.Wszelkie inne XMLA polecenia, takie jak Tworzenie or Zmienianie, zawarte w Parallel Właściwość jest uruchamiane pojedynczo.

Analysis Services próbuje uruchomić wszystkie Process polecenia zawarte w Parallel Właściwość równolegle, ale nie może zagwarantować, że wszystkie uwzględnione Process polecenia mogą być uruchamiane równolegle. Wystąpienie analizuje każdy Process polecenia i, jeśli wystąpienie określa, że nie można uruchomić polecenie równolegle, Process polecenie jest wykonywane w seryjnych.

Uwaga

Aby uruchomić polecenia równolegle, Transaction atrybut Batch polecenie musi być zestaw na wartość true, ponieważ Analysis Services obsługuje tylko jeden aktywny transakcji na połączenie i instancji nietransakcyjnych każdego polecenia w oddzielnych transakcji. Jeśli dołączysz Parallel Właściwość w nietransakcyjnych partia, wystąpi błąd.

Ograniczanie wykonanie Parallel

An Analysis Services wystąpienie tries to run as many Process commands in parallel as possible, up to the limits of the computer on which the wystąpienie runs. Istnieje możliwość ograniczenia liczby równocześnie wykonywanych Process polecenia ustawiając maxParallel atrybut Parallel Właściwość na wartość określającą maksymalną liczbę Process polecenia, które mogą być uruchamiane równolegle.

Na przykład Parallel Właściwość zawiera następujące polecenia w kolejności na liście:

  1. Create

  2. Process

  3. Alter

  4. Process

  5. Process

  6. Process

  7. Delete

  8. Process

  9. Process

The maxParallel atrybut of this Parallel właściwość is zestaw to 2. W związku z tym wystąpienie jest uruchamiana poprzedniej listy poleceń, zgodnie z opisem w poniższej liście:

  • Polecenie 1 uruchamia pojedynczo, ponieważ polecenia 1 Create polecenia i tylko Process polecenia mogą być uruchamiane równolegle.

  • Polecenie 2 uruchamia pojedynczo po wykonaniu polecenia 1.

  • Polecenie 3 uruchamia pojedynczo po wykonaniu polecenia 2.

  • Polecenia 4 i 5 równolegle po wykonaniu polecenia 3.Mimo że polecenie 6 jest również Process polecenia, nie można uruchomić polecenie 6 równolegle z poleceniami 4 i 5, ponieważ maxParallel Właściwość jest ustawiona na wartość 2.

  • Polecenie uruchamia 6 pojedynczo, po zakończeniu obu poleceń 4 i 5.

  • Polecenie 7 uruchamia pojedynczo po wykonaniu polecenia 6.

  • Polecenia 8 i 9 równolegle po wykonaniu polecenia 7.

Za pomocą polecenia wsadowego do obiektów proces

The Batch command contains several optional properties and attributes specifically included to support processing multiple Analysis Services projects:

  • The ProcessAffectedObjects atrybut of the Batch command indicates whether the wystąpienie should also process any object that requires reprocessing as a result of a Process command included in the Batch command processing a specified object.

  • The Bindings właściwość contains a kolekcja of out-of-line bindings used by all of the Process commands in the Batch command.

  • The DataSource właściwość contains an out-of-line wiązanie for a data urządzenie źródłowe used by all of the Process commands in the Batch command.

  • The DataSourceView właściwość contains an out-of-line wiązanie for a data urządzenie źródłowe view used by all of the Process commands in the Batch command.

  • The ErrorConfiguration właściwość specifies the way in which the Batch command handles errors encountered by all Process commands contained in the Batch command.

    Important noteImportant Note:

    A Process polecenie nie może zawierać Bindings, DataSource, DataSourceView, lub ErrorConfiguration właściwości, jeśli Process polecenia zawarte w Batch polecenie. Jeśli musisz określić następujące właściwości Process polecenia, podaj niezbędne informacje w odpowiednich właściwości Batch polecenie, które zawiera Process polecenie.