| Opcje związane z rekomendacjami | |
| Opcje związane z raportami | |
| Uwagi | |
| Przykłady | |
| Doświadczenie w pracy z dta.exe | |
| Podsumowanie | |
| Przeczytaj pozostałe części tego artykułu |
-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.
-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
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.
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. 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. |
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. |
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!
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ę.
| • |
![]() | Damian Widera, Project Manager & Team Lead (MCT, MCITP – DBA, MCSD.NET) |