Udostępnij za pośrednictwem


Wykonywanie operacji wsadowych (XMLA)

Można użyć partii w XML for Analysis (XMLA) do uruchamiania wielu poleceń XMLA przy użyciu pojedynczego XMLA Wykonywanie metoda.Można uruchamiać wiele poleceń zawartych w Batch polecenia jako jedną transakcję lub w poszczególnych transakcji dla każdego polecenia, w seryjny lub w równolegle.You can also specify out-of-line bindings and other properties in the Batch command for processing multiple Microsoft SQL Server Usługi Analysis Services objects.

Uruchamianie polecenia wsadowego transakcyjne i nietransakcyjne

Batch Polecenie wykonuje polecenia na dwa sposoby:

  • Transakcyjne
    Jeśli Transaction atrybut Batch polecenia jest zestaw ma wartość true, Batch polecenia Uruchom polecenia wszystkie polecenia zawarte przez Batch w pojedynczej transakcji — transakcyjnych partia.

    Jeśli polecenie nie powiedzie się w partia transakcyjnych, Usługi Analysis Services wycofuje wszystkie polecenia Batch polecenia, które uruchomiono przed poleceniem, że nie i Batch polecenia natychmiast kończy się.Wszystkie polecenia w Batch nie są wykonywane polecenie, które nie zostały jeszcze uruchomiony.Po Batch polecenia kończy się, Batch polecenia zgłasza błędy, które wystąpił dla polecenia nie powiodło się.

  • Nietransakcyjne
    Jeśli Transaction atrybut jest zestaw na false, Batch polecenie uruchamia każdego polecenia zawarte przez Batch w oddzielnej transakcji — nietransakcyjne partia.Jeśli polecenie nie powiedzie się w partia nietransakcyjne, Batch polecenie kontynuuje działanie polecenia po wykonaniu polecenia, które nie powiodło się.Po Batch polecenia usiłuje uruchomić wszystkie polecenia, Batch zawiera polecenia, Batch polecenia Raporty o błędach.

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

Ostrzeżenie

Jeśli Batch polecenie zawiera polecenia, który nie zwraca danych wyjściowych, takich jak blokady polecenia i że pomyślnie wykonywania polecenia Batch polecenie zwraca pusty głównego element wewnątrz elementu wyniki.Puste root element gwarantuje każdego polecenia zawarte w Batch polecenia mogą być dopasowane z odpowiednią root element wyniki tego polecenia.

Zwracanie wyników z wyników transakcyjnego przetwarzania wsadowego

Wyniki z polecenia Uruchom w partia transakcyjne nie są zwracane do całego Batch wykonać polecenia.Wyniki nie są zwracane po wykonaniu każdego polecenia, ponieważ dowolnego polecenia, że awarii w partia transakcyjnych spowodowałoby cały Batch polecenia i wszystkie zawierające polecenia wymagający Wstecz.Jeśli wszystkie polecenia start i pomyślnie uruchamiać, zwrotu element ExecuteResponse zwrócona przez element Execute metoda Batch polecenia zawiera jeden wyniki element, który z kolei zawiera jeden root element dla każdego pomyślnie uruchamiać polecenia zawarte w Batch polecenia.Jeśli dowolne polecenie w Batch polecenia nie można uruchomić lub nie może ukończyć, Execute Metoda zwraca błąd protokołu SOAP dla Batch polecenia zawierającego błąd polecenia nie powiodło się.

Zwracanie wyników z partii nietransakcyjne wyników

Wyniki z polecenia Uruchom w partia nietransakcyjnych są zwracane w kolejności, w którym polecenia zawarte są w Batch polecenia i są one zwracane przez każdego polecenia.Jeśli polecenie nie zawarte w Batch polecenia można pomyślnie uruchomić, Execute Metoda zwraca błąd protokołu SOAP, który zawiera błąd dla Batch polecenia.Jeśli co najmniej jedno polecenie pomyślnie jest uruchomiona, return element ExecuteResponse zwrócona przez element Execute metoda Batch polecenia zawiera jeden results element, który z kolei zawiera jedną root element dla każdego polecenia zawarte w Batch polecenia.Jeżeli jedno lub kilka poleceń w partia nietransakcyjne nie można uruchomić lub nie może ukończyć, root zawiera element dla tego polecenia nie powiodło się Błąd element opisujący błąd.

Ostrzeżenie

Jak można uruchomić co najmniej jednego polecenia w partia nietransakcyjne, partia nietransakcyjne jest uważany za został pomyślnie uruchomiony, nawet jeśli każdego polecenia zawarte w partia nietransakcyjne zwraca błąd w wyniki z Batch polecenia.

Za pomocą szeregowego i równoległe wykonywanie

Można użyć Batch polecenie do uruchomienia polecenia zawarte w szeregowego lub równoległego.Uruchomienie polecenia w seryjny następnego polecenia zawarte w Batch polecenia nie można uruchomić aż do polecenia aktualnie uruchomione w Batch wykonać polecenia.Uruchomienie polecenia równolegle wielu poleceń mogą być wykonywane jednocześnie przez Batch polecenia.

Aby uruchomić polecenia równolegle, dodać polecenia do uruchomienia równolegle do równoległych właściwość Batch polecenia.Obecnie Usługi Analysis Services można uruchomić tylko ciągłe, kolejne proces polecenia równolegle.Inne XMLA polecenia, takie jak Tworzenie lub Alter, zawartego w Parallel właściwość jest wykonywane szeregowo.

Usługi Analysis Servicespróbuje uruchomić wszystkie Process polecenia zawarte w Parallel Właściwość równolegle, ale nie może zagwarantować, że wszystkie uwzględnione Process poleceń można używać w równoległym.Wystąpienie analizuje każdy Process polecenia i, jeśli wystąpienie określa, że polecenie nie mogą działać równolegle, Process polecenie jest wykonywane w seryjny.

Ostrzeżenie

Aby uruchomić polecenia równolegle, Transaction atrybut Batch polecenie musi być zestaw na wartość true, ponieważ Usługi Analysis Services obsługuje tylko jedną transakcję aktywnego połączenia i instancje nietransakcyjne każdego polecenia w oddzielnej transakcji.Jeśli Parallel właściwość w nietransakcyjnych partia, wystąpi błąd.

Ograniczanie równoległego

Usługi Analysis Services Wystąpienie próbuje uruchomić tyle Process polecenia równolegle jak to możliwe, maksymalnie do limitów komputera, na którym działa wystąpienie.Można ograniczyć liczbę równocześnie wykonywanych Process poleceń przez ustawienie maxParallel atrybut Parallel właściwość na wartość wskazuje maksymalną liczbę Process poleceń, które można uruchomić w równolegle.

Na przykład Parallel właściwość zawiera następujące polecenia w wymienionych sekwencji:

  1. Create

  2. Process

  3. Alter

  4. Process

  5. Process

  6. Process

  7. Delete

  8. Process

  9. Process

maxParalleAtrybut l Parallel właściwość jest zestaw 2.Dlatego wystąpienie uruchamia poprzedniej listy poleceń, zgodnie z opisem w poniższej liście:

  • Polecenie 1 uruchamia seryjnie, ponieważ polecenia 1 Create polecenia i tylko Process poleceń można używać w równoległym.

  • Polecenie 2 jest wykonywane szeregowo po wykonaniu polecenia 1.

  • Polecenie 3 jest wykonywane szeregowo po wykonaniu polecenia 2.

  • Polecenia 4 i 5 równolegle po wykonaniu polecenia 3.Chociaż polecenie 6 jest również Process polecenia nie można uruchomić polecenia 6 równolegle z poleceń 4 i 5, ponieważ maxParallel właściwość jest zestaw 2.

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

  • Polecenie 7 jest wykonywane szeregowo po wykonaniu polecenia 6.

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

Za pomocą polecenia wsadowego do obiektów proces

Batch Polecenia zawiera kilka opcjonalnych właściwości i atrybuty zawarte w specjalnie do obsługi wielu przetwarzania Usługi Analysis Services projektów:

  • ProcessAffectedObjects atrybut Batch polecenia wskazuje, czy wystąpienie również przetwarzać dowolny obiekt, który wymaga ponownego przetwarzania w wyniku Process polecenia zawarte w Batch polecenia przetwarzania określonego obiektu.

  • Powiązania właściwość zawiera kolekcja -wiersza powiązań używanych przez wszystkie Process poleceń w Batch polecenia.

  • DataSource właściwość zawiera powiązanie wiersza dla źródło danych używane przez wszystkie Process poleceń w Batch polecenia.

  • Wartość DataSourceView właściwość zawiera powiązanie wiersza widok źródło danych używany przez wszystkie Process poleceń w Batch polecenia.

  • ErrorConfiguration właściwość określa sposób, w którym Batch polecenia obsługi błędów napotkanych przez wszystkie Process polecenia zawarte w Batch polecenia.

    Ważna informacjaWażne:

    A Process nie może zawierać polecenia Bindings, DataSource, DataSourceView, lub ErrorConfiguration Właściwości, jeśli Process polecenia zawarte w Batch polecenia.Jeśli musisz określić te właściwości dla Process polecenia, podaj niezbędne informacje w odpowiednich właściwości Batch polecenia, który zawiera Process polecenia.