SQL Server 2005 w linii poleceń – dta.exe, cz. II

Opublikowano: 11 września 2007
Zawartość strony
Opcje związane z rekomendacjamiOpcje związane z rekomendacjami
Opcje związane z raportamiOpcje związane z raportami
UwagiUwagi
PrzykładyPrzykłady
Doświadczenie w pracy z dta.exeDoświadczenie w pracy z dta.exe
PodsumowaniePodsumowanie
Przeczytaj pozostałe części tego artykułuPrzeczytaj pozostałe części tego artykułu

Opcje związane z rekomendacjami

-a

Analizuje dostarczone informacje zawarte w pliku bądź tablicy i aplikuje wszystkie rekomendacje bez konieczności ich potwierdzania przez użytkownika. Z punktu widzenia administratora baz danych ta opcja raczej na pewno nie będzie użyta z tego względu, iż każda rekomendacja powinna zostać skonfrontowana z rzeczywistością. Może zdarzyć się sytuacja, iż zaproponowana zostanie zmiana obejmująca dodanie nowego indeksu niezgrupowanego, który będzie zawierał kilkanaście kolumn. Doświadczenie uczy, iż żaden administrator baz danych nie pozwoli na wprowadzenie takiej zmiany w życie.

dta -a

-F

Wprowadzenie opcji –F zezwala na nadpisanie pliku z rekomendacjami wygenerowanymi podczas poprzednich analiz. W przypadku, gdy plik z identyczną nazwą istnieje i parametr –F nie został określony, to zostanie zwrócony błąd. Instrukcja –F może być wspólnie z innymi opcjami, takimi jak: -of, -or oraz –ox.

-ofoutput_script_file_name

Określa, iż rekomendacje zostaną zapisane w postaci komend TSQL w pliku o określonej nazwie i w określonej lokalizacji. Argument –of może być użyty wspólnie z opcja –F. Należy upewnić się, iż nazwa pliku jest unikalna zwłaszcza, gdy argument –of będzie używany w konfiguracji z opcjami –or i -ox.

dta –F –of C:\output.sql

-oxoutput_XML_file_name

Określa, iż dta zapisuje rekomendacje w postaci pliku xml w podanej lokalizacji. Należy się upewnić, iż dta posiada odpowiednie uprawnienia do zapisu takiego pliku. Uwagi wymienione wcześniej odnośnie użycia opcji –F (można) oraz unikalności nazwy podanej jako wartości argumentu –ox pozostają w mocy.

Do początku stronyDo początku strony

Opcje związane z raportami

-rlanalysis_report_list

Określa listę raportów (zawierających analizy z procesu dostrajanie), które powinny zostać wygenerowane. Poniższa tablica opisuje zestaw możliwych wartości parametrów dozwolonych dla opcji -rl:

Wartość Opis

ALL

Raporty z wszystkich analiz (All analysis reports)

STMT_COST

Raport z kosztów – opisuje, o ile każde dostrojone wyrażenie %poprawiło szybkość działania (Statement cost report)

EVT_FREQ

Raport z częstości zdarzeń (Event frequency report)

STMT_DET

Raport zawierający szczegółowe koszty wyrażeń – zawiera informacje o aktualnym i przewidywanym koszcie wykonania wyrażenia opo wprowadzeniu rekomendacji

(Statement detail report)

CUR_STMT_IDX

Raport opisujący relacje indeksy-wyrażenia w aktualnej konfiguracji – podaje informacje o indeksach wykorzystywanych przez każde z dostrojonych wyrażeń

[Statement-index relations report (current configuration)]

REC_STMT_IDX

Raport opisujący relacje indeksy-wyrażenia w rekomendowanej konfiguracji - podaje informacje o indeksach, które powinny być użyte przez każde z dostrojonych wyrażeń

[Statement-index relations report (recommended configuration)]

STMT_COSTRANGE

Raport z zakresu wyrażeń (Statement cost range report)

CUR_IDX_USAGE

Raport z wykorzystania indeksów w aktualnej konfiguracji

[Index usage report (current configuration)]

REC_IDX_USAGE

Raport z wykorzystania indeksów w rekomendowanej konfiguracji

[Index usage report (recommended configuration)]

CUR_IDX_DET

Szczegółowy raport o indeksach w aktualnej konfiguracji

[Index detail report (current configuration)]

REC_IDX_DET

Szczegółowy raport o indeksach w rekomendowanej konfiguracji

[Index detail report (recommended configuration)]

VIW_TAB

Raport obrazujący wykorzystanie tablic i widoków

(View-table relations report)

WKLD_ANL

Raport z analizy pliku z danymi testowymi

(Workload analysis report)

DB_ACCESS

Raport z wykorzystania baz danych (Database access report)

TAB_ACCESS

Raport z wykorzystania tabel (Table access report)

COL_ACCESS

Raport z wykorzystania kolumn (Column access report)

NONE

Żaden raport nie będzie wygenerowany

Nazwy raportów powinny zostać oddzielone przecinkami:

dta -rl EVT_FREQ, VIW_TAB, WKLD_ANL

Domyślną wartością parametru –rl jest ALL.

-or output_xml_report_file_name

Określa, iż dta zapisze zaproponowane rekomendacje w formie raportu w pliku XML. W przypadku, gdy nie zostanie podana nazwa pliku XML oraz jego lokalizacja to dta zapisze rekomendacje używając nazwy sesji do katalogu roboczego. Podobnie jak w przypadku omawianego już parametru –of opcja –or może być użyta wspólnie z argumentem –F. Stosują się również podobne uwagi odnoszące się do nazwy pliku – należy upewnić się, iż jest ona unikalna w przypadku użycia także opcji –of i –ox.

dta –F –of C:\output.sql –or C:\raport.xml

Do początku stronyDo początku strony

Uwagi

W trakcie działania analizy można ją zatrzymać naciskając CTRL+C. Zostaniemy wtedy poproszeni o zadecydowanie, czy mają zostać wygenerowane rekomendacje na podstawie przeprowadzonego do tego momentu procesu dostrajania. Naciśnięcie CTRL+C po raz kolejny spowoduje wyjście z procesu analizy bez generowania rekomendacji.

Do początku stronyDo początku strony

Przykłady

1.

Plik z danymi testowymi (trace20070829.trc) znajduje się na dysku D. Należy dostroić bazę danych ezSupport, która znajduje się na serwerze ezcontr2 w taki sposób, aby rekomendacje zawierały propozycje dodania nowych indeksów oraz widoków indeksowanych. Połączenie do bazy danych powinno być wykonane przy użyciu zaufanego połączenia. Rekomendacje powinny zostać zapisane na dysk D do pliku rekomendacje.sql. Analiza powinna trwać nie dłużej niż 1 godzinę. Oczekiwany wzrost wydajności zapytań powinien być nie mniejszy niż 5%. Dodatkowo na zakończenie sesji powinny zostać wygenerowane wszystkie raporty z analiz.

Rys. 1. Przykład 1 dla sesji testTrace.

Rys. 1. Przykład 1 dla sesji testTrace.

W podanym przykładzie jako nazwę sesji przyjęto testTrace.

2.

Plik z danymi testowymi (trace20070829.trc) znajduje się na dysku D. Należy dostroić bazę danych ezSupport, która znajduje się na serwerze ezcontr2 w taki sposób, aby rekomendacje nie zawierały propozycji dodania nowych struktur PDS; można rozważyć usunięcie niektórych istniejących struktur. Połączenie do bazy danych powinno być wykonane przy użyciu zaufanego połączenia. Analiza powinna trwać nie dłużej niż 1 godzinę i można przeanalizować 5000 zdarzeń w pliku testowym. Oczekiwany wzrost wydajności zapytań powinien być nie mniejszy niż 5%. Plik z rekomendacjami powinien być zapisany do katalogu roboczego pod nazwą rekomendacje.sql. Analiza ma przebiegać w trybie cichym.

Rys 2. Przykład 2 dla sesji testTrace.

Rys 2. Przykład 2 dla sesji testTrace.

3.

Plik z danymi testowymi (trace20070829.trc) znajduje się na dysku D. Należy dostroić bazę danych ezSupport, która znajduje się na serwerze ezcontr2 w taki sposób, aby rekomendacje zawierały propozycje dodania nowych indeksów w trybie online. Lista tablic, które powinny zostać dostrojone znajduje się w pliku tableList.txt na dysku D. Połączenie do bazy danych powinno być wykonane przy użyciu loginu tom i hasła px992kj. Rekomendacje powinny zostać zapisane na dysk D w formacie XML do pliku rekomendacje.xml. W przypadku, gdy plik istnieje to powinien zostać nadpisany. Nie podano ograniczeń czasowych na analizę danych. Oczekiwany wzrost wydajności zapytań powinien być nie mniejszy niż 10%. Dodatkowo na zakończenie sesji nie powinny zostać wygenerowane raporty.

Plik tableList.txt ma nastepujące wpisy:

ezSupport.dbo.EventLog 1000000

ezSupport.dbo.MessageMaster 100000000

ezSupport.dbo.CameraProblemsDetails 10000000

ezSupport.dbo.Stores

ezSupport.dbo.Devices 5000

Rys. 3. Przykład 3 dla sesji testTrace.

Rys. 3. Przykład 3 dla sesji testTrace.

Do początku stronyDo początku strony

Doświadczenie w pracy z dta.exe

Moje doświadczenie podczas pracy z dta.exe pozwoliło na rozwiązanie co najmniej kilku problemów związanych z wydajnością serwera. Każdorazowo dokładnie analizuję rekomendacje proponowane po zakończeniu dostrajania bazy danych. Zazwyczaj, po dokładnej analizie otrzymanego raportu, wprowadzam znaczną część rekomendacji w życie. W moim przypadku, podczas ostatniego dostrajania produkcyjnej bazy danych ezSupport osiągnąłem poprawę wydajności zapytania poprzez dodanie nowych indeksów o ponad 30%. Należy jednak pamiętać, o czym już wspomniałem podczas omawiania opcji –a), iż każdorazowo trzeba dokładnie zapoznać się z zaproponowanymi rekomendacjami przed wprowadzeniem ich w życie!

Do początku stronyDo początku strony

Podsumowanie

Dta.exe jest świetnym narzędziem umożliwiającym dostrajanie baz danych z linii komend. Skutkuje to w sposób oczywisty poprawą wydajności serwera baz danych. Dla każdego administratora baz danych jest to świetna wiadomość, ponieważ można łatwo zautomatyzować proces dostrajania – skrypt zawierający komendę dta -…. może być uruchomiony w porze najmniejszego obciążenia serwera a raport wraz z rekomendacjami zapisany w odpowiedniej lokalizacji. Dodatkowo należy pamiętać, iż używanie dta.exe jest bardzo proste, lista opcji nie jest zbyt duża (w rozumieniu – nie przytłacza) a ich nazwy są intuicyjne. Dta.exe jest także narzędziem bardzo elastycznym – nie odbiera żadnej opcji, którą dostarcza graficzny odpowiednik tego narzędzia.

Stojąc przed wyborem czy używać środowiska graficznego czy wykonać dostrajanie baz danych z linii poleceń, zdecydowanie stosuję (i polecam) tę druga opcję.

Do początku stronyDo początku strony

Przeczytaj pozostałe części tego artykułu

SQL Server 2005 w linii poleceń – dta.exe, cz. I


Damian Widera

Damian Widera, Project Manager & Team Lead (MCT, MCITP – DBA, MCSD.NET)
Od 8 lat zajmuje się projektowaniem, tworzeniem i wdrażaniem aplikacji wykorzystujących platformę .NET, SQL Server oraz Oracle. Obecnie pracuje jako project manager dla LGBS Polska. Pracował także jako trener, programista, administrator baz danych, twórca domumentacji oraz analityk biznesowy.
Aktywnie współpracuje z polskim oddziałem Microsoft publikując atykuły, webcasty oraz porady z zakresu SQL Server na stronach TechNet (http://www.microsoft.com/poland/technet). Jest współautorem książki „Serwer SQL 2008. Administracja i programowanie”.
Speaker na wielu konferencjach, m.in. Microsoft Heroes Happen Here, C2C, European PASS Conference, Microsoft Technology Summit, Energy Launch, TechED.
Od 2004 r. posiada certyfikaty firmy Microsoft: Microsoft Certified Trainer (MCT), Microsoft Certified IT Professional – Database Administrator (MCITP – DBA) oraz Microsoft Certified Solution Developer (MCSD.NET).
Jest współtwórcą oraz liderem jednej z najwiekszych grup pasjonatów SQL Server w Polsce – Śląskiej Regionalnej Grupy Microsoft (PLSSUG Katowice). Od listopada 2008 jest prezesem Polish SQL Server Users Group (PLSSUG) w Polsce.
W styczniu 2009 nagrodzony tytułem MVP w kategorii SQL Server.


Do początku stronyDo początku strony