Udostępnij za pośrednictwem


Using an XML Input File for Tuning

Wszystkie operacje dostosowywania, które umożliwia wykonywanie Database Engine Strojenia klasyfikatora graficznego interfejs użytkownika (GUI), DTA , narzędzie wiersza polecenia mogą być definiowane w Database Engine Dostrajanie wejściowego pliku XML klasyfikatora. Jednak wejściowego pliku XML obsługuje opcje dostosowywania, oprócz tych, które są dostępne w pakiecie graficznego interfejsu użytkownika i narzędzia wiersza polecenia.

Publikowane używa wejściowego pliku XML Database Engine Dostosowywania schematu XML klasyfikatora, który można znaleźć w następującej lokalizacji w sieci SQL Server 2008 Katalog instalacyjny:

C:\Program Files\Microsoft SQL Server\10\Tools\Binn\schemas\sqlserver\2004\07\dta\dtaschema.xsd

Można go również pobrać z następujący adres URL:

https://schemas.Microsoft.com/SQLServer/2004/07/DTA

Wejściowego pliku XML pozwala na korzystanie z ulubionych narzędzi XML podczas dostrajania bazy danych i zapewnia większą elastyczność Administratorzy doświadczonych bazy danych.Na przykład przy użyciu wejściowego pliku XML, można określić konfiguracja, która zawiera kombinację istniejące i hipotetyczną struktur fizycznego projektu (indeksy, widoki indeksowane i partycji).Następnie można użyć DTA narzędzie wiersza polecenia, aby dostroić bazy danych, jak w przypadku tej kombinacji istniejących i hipotetyczną struktury projektu fizycznego zostało już wykonane.Dzięki temu "pomocy analizy co-jeśli", bez powstanie obciążenie, które towarzyszy wykonania rzeczywistej konfiguracja przed dostrajanie.

Następujących podsekcjach omówiono operacje dostosowywania, które można wykonać tylko przy użyciu Database Engine Dostrajanie wejściowego pliku XML klasyfikatora. Aby uzyskać więcej informacji na temat tego pliku i jak go używać zobacz XML Input File Reference (Database Engine Tuning Advisor).

Określanie konfiguracja przy użyciu elementu konfiguracja

Mimo że funkcja konfiguracja określonych przez użytkownika może być używana w ograniczonym zakresie przez Database Engine Dostrajanie klasyfikatora graficznego interfejsu użytkownika, funkcja ta jest w pełni obsługiwany tylko wtedy, gdy używasz wejściowego pliku XML z wiersza polecenia DTA narzędzie.Podczas używania wejściowego pliku XML, całkowicie hipotetyczny konfiguracja można określić w nim lub można określić konfiguracja zawierającą kombinację istniejące i hipotetyczną struktury projektu fizycznego.Następnie, po sprawdzania poprawności plików wejściowych przed Database Engine Dostosowywanie schematu XML klasyfikatora, można użyć go jako dane wejściowe do DTA , narzędzie wiersza polecenia.Podczas strojenia sesja Database Engine Dostrajanie klasyfikatora uruchamia określone obciążenie pracą dla baz danych. Jednak Database Engine Dostrajanie klasyfikatora nie zwraca istniejącej konfiguracja indeksów, widoki indeksowane i partycji. Zamiast tego Database Engine Dostrajanie klasyfikatora używa danej konfiguracja, który jest kombinacją hipotetyczny i istniejących struktur. Korzystanie z konfiguracja hipotetyczny umożliwia analizowanie wpływu określoną konfiguracja na wydajność bazy danych bez dodatkowego obciążenia związanego z wykonania rzeczywistej konfiguracja.

Aby określić konfigurację, która zawiera istniejące i hipotetyczną struktury fizycznej projektu, należy użyć Konfiguracja podelement po TuningOptions elementDatabase Engine Dostrajanie wejściowego pliku XML klasyfikatora. Aby uzyskać więcej informacji zobacz How to: Perform Exploratory Analysis i Przykładowy plik wprowadzania XML z konfiguracją określoną przez użytkownika (DTA).

Optymalizowanie obciążeń równo z elementem EventString

Istnieje możliwość całkowicie należy unikać korzystania z pliku obciążenia, korzystając z danych wejściowych XML z Database Engine Dostrajanie klasyfikatora. Zamiast tego można określić, obciążenie pracą i jej wbudowany wagi skojarzone wejściowego pliku XML.Obciążenie oddzielnych plików lub tabela ma następujące zalety:

  • Dostrajanie zdalnych serwerów łatwiejsze, ponieważ nie trzeba się martwić o czy jest dostępny do oddzielnego pliku lub tabela Database Engine Dostrajanie klasyfikatora dostrajania.

  • Można dołączyć Database Engine Dostosowywanie funkcji Klasyfikator łatwiejsze do skryptów, które są przenośne w środowisku przedsiębiorstwa.

Aby określić obciążenie pracą wbudowanych, należy użyć EventString podelement, dla których można opcjonalnie określić skojarzone wagi.Kiedy używasz tej podelement zostało ono określone dla Obciążenie pracą nadrzędny element, a nie oddzielnych obciążenie pliku lub tabela.Następujący kod przykłady Pokaż, jak korzystać z EventString elementu z pliku XML wprowadzania porównuje pliku, aby użyć pliku regularnych obciążenie pracą z wejściowego pliku XML:

Przykłady

A.Określić osobny plik obciążenie pracą z elementem obciążenie pracą

<DTAInput>
...code removed
  <Workload>
    <File>MyWorkload.sql</File>
  </Workload>
...code removed
</DTAInput>

B.Określić obciążenie pracą równo z elementem EventString

<DTAInput>
...code removed
  <Workload>
    <EventString Weight="100">
     SELECT * FROM MyTable1
     WHERE MyColumn1 &gt; 200
     ORDER BY MyColumn1
    </EventString>
    <EventString Weight="1">
     SELECT * FROM MyTable2
     WHERE MyColumn2 &gt; 200
     ORDER BY MyColumn2
    </EventString>
  </Workload>
...code removed
</DTAInput>

W powyższym przykładzie określono dla każdej kwerendy w różnych wag EventString element: Waga 100 i waga 1. Oznacza to, że gdy Database Engine Dostrajanie klasyfikatora tunes te kwerendy, aplikacja zostanie potraktowany kwerendy z wagi z 100 jak gdyby tę kwerendę w porównaniu z jednego wystąpienie kwerendy o masie 100 wystąpienie 1. W powyższym przykładzie jest 100 razy ważniejszy niż drugą kwerendę dla pierwszej kwerendy Database Engine Dostrajanie klasyfikatora celów ewaluacji. Należy zwrócić również uwagę, że większa niż podpisania ()>) został przekonwertowany na &gt ponieważ > jest zarezerwowany znak specjalne znaczenie w formacie XML.

Aby zapoznać się z określania obciążenia wbudowany z EventString patrz elementuPrzykładowy plik wprowadzania XML z wbudowanej obciążenie pracą (DTA).

Ignorowanie stałych w obciążenie pracą w z elementem IgnoreConstantsInWorkload

Obciążenie pracą może zawierać instrukcje odwołujące się do stałych.Database Engine Dostrajanie Klasyfikator może używać stałych w obciążenie pracą zaleceń, które zawierają widoki indeksowane z warunków zaznaczenia lub zakres funkcji partycji dla indeksów podzielonym na partycje.

Jednak czasami może nie być korzystne dla Database Engine Klasyfikator strojenia należy wziąć pod uwagę stałych w obciążenie pracą. Na przykład, należy wziąć pod uwagę obciążenia, który zawiera następujące instrukcja:

UPDATE BankAccountTable
SET AccountBalance = AccountBalance - 1000.00
WHERE CustomerID = 
       (SELECT CustomerID FROM Customer WHERE CustomerName = 'Alice')

To obciążenie może obejmować stała 'Alice' ponieważ przechwycenia obciążenie Alicja utworzenia transakcji. Jeśli Database Engine Dostrajanie klasyfikatora to stała, mogą nie dawać skuteczne zalecenie strojenia. W takim wypadku może być znaczeniu, aby określić, że Database Engine Dostrajanie klasyfikatora zignorować stałych bazy danych za pomocą tego obciążenia.

The IgnoreConstantsInWorkload element, which resides under the TuningOptions element can be specified in the XML input file to force Database Engine Tuning Advisor to ignore all constants in a workload.Po określeniu tego elementu indeksowania widoków, Database Engine Dostrajanie klasyfikatora zaleca będzie nie może zawierać warunki zaznaczenia. Ponadto stałe, używane w funkcjach partycji będą pochodzić z tylko dane, a nie stałymi, zawarte w obciążenia.

Korzystanie z serwera testowego na Nastaw obciążenie pracą na serwer produkcyjny

Dostrajanie duże obciążenie pracą można utworzyć znaczne obciążenie na serwerze, na którym jest jest dostrojony z powodu wielu wywołań, Database Engine Dostrajanie klasyfikatora zwykle wprowadza optymalizator kwerendy w trakcie procesu dostosowywania. Korzystanie z serwera testowego, dodatkowo do serwera produkcyjnego eliminuje ten problem.Database Engine Dostrajanie klasyfikatora obsługuje ten scenariusz w unikatowy sposób:

  1. Sprawdź, czy użytkownik chce przeprowadzić strojenie istnieje zarówno w produkcji, jak i serwery testu.Jeśli jesteś członkiem sysadmin roli serwera stałą, w tym kroku jest zbędne.

  2. Można określić serwera testowego dostrajania wejściowego pliku XML wraz z pozostałymi parametry definiujące strojenia sesja.

  3. Używasz DTA narzędzie wiersza polecenia, aby rozpocząć sesja strojenia i rozpocząć analizę obciążenia pracą.

Podczas tego badania serwera sesja, dostrajanie Database Engine Dostrajanie klasyfikatora sprawia, że minimalny połączeń do serwera produkcyjnego w celu pobrania informacji o profilu sprzętowym, metadane bazy danych i statystyk w celu dokładnego optymalizacji kwerendy dla serwera testowego optymalizator kwerendy.

W tym scenariuszu faktycznie strojenie serwera test, który duplikuje środowisku produkcyjnym serwera.Po otrzymaniu zalecenie konfiguracja projektowania bazy danych z dostrajanie serwera testu można następnie zaimplementować go na serwerze produkcji w oknie konserwacji.Za pomocą tego procesu minimalizuje utworzone przez wpływ na wydajność Database Engine Dostrajanie klasyfikatora. Ponadto ten proces zapisuje czas rzeczywistego kopiowania danych za pośrednictwem produkcji na serwerze do badania serwera i zapisuje wydatków niezbędne do duplikowania wydajne produkcji sprzętu serwera w środowisku testowym.

Aby określić serwera testowego, należy użyć TestServer podelement w obszarzeTuningOptions elementu nadrzędnego, jak pokazano w poniższym przykładzie:

Przykład

<DTAInput>
...code removed
  <TuningOptions>
    <TestServer>MyTestServer</TestServer>
    <FeatureSet>IDX_IV</FeatureSet>
    <Partitioning>NONE</Partitioning>
    <KeepExisting>NONE</KeepExisting>
  </TuningOptions>
...code removed
</DTAInput>

Aby uzyskać więcej informacji o korzystaniu z tej funkcji i innym przykładem kodu zobacz Reducing the Production Server Tuning Load.

See Also

Other Resources