Udostępnij za pośrednictwem


Reducing the Production Server Tuning Load

Database Engine Dostrajanie klasyfikatora opiera się na optymalizator kwerendy do analizowania obciążenia pracą i strojenia zaleceń.Wykonywanie tej analizy na serwerze produkcyjnym dodaje do obciążenia serwera i może wówczas wydajność serwera podczas sesja strojenia.Można zmniejszyć wpływ obciążenie serwera podczas dostosowywania sesja przy użyciu serwera testowego, dodatkowo do serwera produkcyjnego.

Można także zmniejszyć wpływ Database Engine Dostrajanie klasyfikatora na obciążenie serwera przy użyciu SQL Server 2008. We wcześniejszych wersjach Database Engine Dostrajanie Klasyfikator może spowodować, że optymalizator kwerendy ponowną kompilację planów tym tabele odwołań dostrojone. Ponowna kompilacja występuje, gdy Database Engine Dostrajanie klasyfikatora unieważnia planów pamięć podręczna procedury dostrajania sesja. Ponowna kompilacja nie występuje aż po raz pierwszy uruchamiać kwerendę po strojenia sesja.SQL Server 2008 Doradca dostrajania aparat bazy danych nie unieważnia wszystkich planów pamięć podręczna procedury, eliminując tym samym tych dodatkowych ponownych kompilacji.

Poniżej opisano sposoby korzystania z serwera testowego Database Engine Dostrajanie klasyfikatora.

W jaki sposób dostrajania klasyfikatora aparat bazy danych używa serwera test

Jest tradycyjnym sposobem korzystania z serwera testowego do kopiowania wszystkich danych na serwerze produkcji do serwera testu, dostrajanie serwera testowego, a następnie wykonania zalecenia na serwerze produkcji.Ten proces eliminuje spadek wydajności serwera produkcyjnego, ale jest jednak optymalnym rozwiązaniem.Na przykład kopiowanie dużych ilości danych z produkcji do serwera testu zajmowane znacznej ilości czas i zasobów.Ponadto test sprzętu serwera rzadko bywa tak wydajne jak sprzęt, który jest wdrożony w przypadku serwerów produkcyjnych.Proces dostosowywania zależy od optymalizator kwerendy i generuje zalecenia są częściowo oparte na sprzęcie podstawowej.Jeśli sprzęt serwera testowe i produkcyjne nie są identyczne, Database Engine Regulowanie jakości będzie mniejsza zalecenie klasyfikatora.

Aby uniknąć tych problemów Database Engine Dostrajanie klasyfikatora tunes bazy danych na serwerze produkcyjnym przenosząc większość strojenia obciążenie serwera testu. Robi to za pomocą informacje o konfiguracja sprzętu produkcji serwera i bez faktycznie kopiowania danych z serwera produkcyjnego z serwera testowego.Database Engine Dostrajanie klasyfikatora nie kopiuje rzeczywiste dane z serwera produkcyjnego z serwera testowego.Kopiuje tylko metadane i potrzeby statystyki.

Poniżej zostały wymienione poszczególne kroki uwierzytelniania proces dostrajania produkcyjnej bazy danych na serwerze testu:

  1. Upewnij się, czy użytkownik chce korzystać z serwera testowego znajduje się na obu serwerach.

    Przed rozpoczęciem należy upewnić się, czy użytkownik chce korzystać z serwera testowego dostrajania bazy danych na serwerze produkcyjnym, znajduje się na obu serwerach.To wymaga, aby utworzyć użytkownika i jego logowania na serwerze testu.Jeśli jesteś członkiem sysadmin stała rola serwera na obu komputerach, w tym kroku nie jest konieczne.

  2. Strojenie obciążenia serwera testowego.

    Aby dostroić obciążenia serwera testowego, należy użyć wejściowego pliku XML z DTA , narzędzie wiersza polecenia.Wejściowego pliku XML, należy określić nazwę serwera testu z TestServer podelement oprócz określenia wartości przez inne podelementy pod TuningOptions elementu nadrzędnego.

    W trakcie dostosowywania Doradca dostrajania aparat bazy danych tworzy powłoki bazę danych na serwerze testu.Aby utworzyć tę bazę danych powłoki i strojenie go, klasyfikatora strojenia aparat bazy danych wykonywania wywołań do serwera produkcyjnego dla następujących elementów:

    1. Database Engine Dostrajanie klasyfikatora importuje metadane z produkcyjnej bazy danych do testowej bazy danych powłoki serwera.Te metadane zawiera puste tabele, indeksów, widoków, procedur przechowywanych, wyzwalaczy i tak dalej.Dzięki temu można w kwerendach obciążenia wykonać na bazie powłoki badania serwera.

    2. Database Engine Dostrajanie klasyfikatora importuje statystyk z serwer produkcyjny, więc optymalizator kwerendy dokładnie może optymalizować kwerend dotyczących serwera testowego.

    3. Database Engine Dostrajanie klasyfikatora importuje parametrów sprzętu, określając liczbę procesorów i ilość dostępnej pamięci z serwera produkcji w celu zapewnienia optymalizator kwerendy informacji potrzebnych do wygenerowania planu kwerend.

  3. Po Database Engine Dostrajanie klasyfikatora zakończy się dostrajanie powłoki serwera testowej bazy danych, generuje zalecenie strojenia.

  4. Stosuje się zalecenie otrzymanych od dostrajanie serwera testowego na serwer produkcyjny.

Na poniższej ilustracji przedstawiono badania serwera i serwer produkcyjny scenariusza:

Database Engine Tuning Advisor test server usage

Uwaga

Dostosowywanie funkcji serwera testu nie jest obsługiwany w Database Engine Dostrajanie klasyfikatora graficznego interfejs użytkownika (GUI).

Przykład

Po pierwsze upewnij się, czy użytkownik chce przeprowadzić strojenie znajduje się na serwerach produkcyjnych i badania.

Po skopiowaniu informacji o użytkowniku ciągu do badania serwera można zdefiniować dostrajanie sesja serwera testu Database Engine Dostrajanie wejściowego pliku XML klasyfikatora. Następujący plik danych wejściowych XML przykładzie pokazano, jak określić dostrajania bazy danych z serwera testowego Database Engine Dostrajanie klasyfikatora.

W tym przykładzie MyDatabaseName Baza danych jest jest dostrojony na MyServerName. The Transact-SQL script, MyWorkloadScript.sql, is used as the workload.To obciążenie pracą zawiera zdarzenia, które są wykonać przed MyDatabaseName. Większość kwerendy Optymalizator wywołania do tej bazy danych, które występują w ramach procesu dostosowywania, są obsługiwane przez powłokę bazę danych, która znajduje się na MyTestServerName. Baza danych powłoki składa się z metadane i statystyki.Ten proces powoduje dostrajanie obciążenie jest odciążanych serwera testowego.Kiedy Database Engine Dostrajanie klasyfikatora generuje zalecenie strojenia przy użyciu tego wejściowego pliku XML, należy wziąć pod uwagę (tylko) indeksów<FeatureSet>IDX</FeatureSet>), nie partycjonowanie i potrzeby nie przechowywać dowolny istniejący projekt fizycznej struktury w MyDatabaseName.

<?xml version="1.0" encoding="utf-16" ?>
<DTAXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://schemas.microsoft.com/sqlserver/2004/07/dta">
  <DTAInput>
    <Server>
      <Name>MyServerName</Name>
      <Database>
        <Name>MyDatabaseName</Name>
      </Database>
    </Server>
    <Workload>
      <File>MyWorkloadScript.sql</File>
    </Workload>
    <TuningOptions>
      <TestServer>MyTestServerName</TestServer>
      <FeatureSet>IDX</FeatureSet>
      <Partitioning>NONE</Partitioning>
      <KeepExisting>NONE</KeepExisting>
    </TuningOptions>
  </DTAInput>
</DTAXML>