Udostępnij przez


dta , narzędzie

Dotyczy:programu SQL Server

Narzędzie dta to wersja wiersza polecenia doradcy dostrajania aparatu bazy danych. Narzędzie dta zostało zaprojektowane tak, aby umożliwić korzystanie z funkcji Advisor dostrajania aparatu bazy danych w aplikacjach i skryptach.

Uwaga / Notatka

Doradca dostrajania aparatu bazy danych nie jest obsługiwany w przypadku usługi Azure SQL Database ani usługi Azure SQL Managed Instance. Zamiast tego należy wziąć pod uwagę strategie zalecane w temacie Monitorowanie i dostrajanie wydajności w usługach Azure SQL Database i Azure SQL Managed Instance. W przypadku usługi Azure SQL Database zobacz również zalecenia dotyczące wydajności usługi Database Advisor dotyczące usługi Azure SQL Database.

Podobnie jak doradca dostrajania aparatu bazy danych, narzędzie dta analizuje obciążenie i zaleca fizyczne struktury projektowe w celu zwiększenia wydajności serwera dla tego obciążenia. Obciążenie może być pamięcią podręczną planu, plikiem śledzenia lub tabelą programu SQL Server Profiler albo skryptem Transact-SQL. Fizyczne struktury projektowe obejmują indeksy, widoki indeksowane i partycjonowanie.

Po przeanalizowaniu obciążenia przez narzędzie dta generuje zalecenie dotyczące fizycznego projektowania baz danych i może wygenerować niezbędny skrypt do zaimplementowania zalecenia. Obciążenia można określić w wierszu polecenia za pomocą argumentu -if-it lub . Możesz również określić plik wejściowy XML z wiersza polecenia za pomocą argumentu -ix . W takim przypadku obciążenie jest określone w pliku wejściowym XML.

Składnia

dta
[ -? ] |
[
      [ -S server_name [ \instance ] ]
      { { -U login_id [ -P password ] } | -E }
      { -ce connection_encrypt_option }
      { -tc }
      { -hc hostname_in_certificate }
      { -D database_name [ , ...n ] }
      [ -d database_name ]
      [ -Tl table_list | -Tf table_list_file ]
      { -if workload_file | -it workload_trace_table_name |
        -ip | -iq }
      { -ssession_name | -IDsession_ID }
      [ -F ]
      [ -of output_script_file_name ]
      [ -or output_xml_report_file_name ]
      [ -ox output_XML_file_name ]
      [ -rl analysis_report_list [ , ...n ] ]
      [ -ix input_XML_file_name ]
      [ -A time_for_tuning_in_minutes ]
      [ -n number_of_events ]
      [ -l time_window_in_hours ]
      [ -m minimum_improvement ]
      [ -fa physical_design_structures_to_add ]
      [ -fi filtered_indexes ]
      [ -fc columnstore_indexes ]
      [ -fp partitioning_strategy ]
      [ -fk keep_existing_option ]
      [ -fx drop_only_mode ]
      [ -B storage_size ]
      [ -c max_key_columns_in_index ]
      [ -C max_columns_in_index ]
      [ -e | -e tuning_log_name ]
      [ -N online_option ]
      [ -q ]
      [ -u ]
      [ -x ]
      [ -a ]
]

Argumenty (w programowaniu)

-?

Wyświetla informacje o użyciu.

-A czas_na_dostrajanie_w_minutach

Określa limit czasu dostrajania w minutach. Dta używa określonego czasu, aby dostroić obciążenie i wygenerować skrypt z zalecanymi zmianami projektu fizycznego. Domyślnie dta zakłada czas dostrajania 8 godzin. Określenie wartości 0 umożliwia nieograniczone dostrajanie czasu. Dta może zakończyć dostrajanie całego obciążenia przed upływem limitu czasu. Aby jednak upewnić się, że całe obciążenie jest dostrojone, zalecamy określenie nieograniczonego czasu dostrajania (-A 0).

-a

Dobiera obciążenie i stosuje zalecenia bez pytania o potwierdzenie.

-B rozmiar_miejsca

Określa maksymalną ilość miejsca w megabajtach, które mogą być używane przez zalecany indeks i partycjonowanie. Gdy dostraja się wiele baz danych, zalecenia dotyczące wszystkich baz danych są brane pod uwagę podczas obliczania przestrzeni. Domyślnie dta zakłada mniejszy z następujących rozmiarów pamięci:

  • Trzy razy bieżący rozmiar danych pierwotnych, który obejmuje całkowity rozmiar sterty i indeksów klastrowanych w tabelach w bazie danych.

  • Wolne miejsce na wszystkich dołączonych dyskach oraz rozmiar danych pierwotnych.

Domyślny rozmiar magazynu nie obejmuje indeksów nieklastrowanych i indeksowanych widoków.

-C max_columns_in_index

Określa maksymalną liczbę kolumn w indeksach, które proponuje dta . Maksymalna wartość to 1024. Domyślnie ten argument jest ustawiony na 16.

-c max_key_columns_in_index (maksymalna liczba kolumn kluczowych w indeksie)

Określa maksymalną liczbę kolumn kluczy w indeksach, które proponuje dta . Wartość domyślna to 16, dozwolona maksymalna wartość. dta uwzględnia również tworzenie indeksów z dołączonymi kolumnami. Indeksy zalecane z dołączonymi kolumnami mogą przekraczać liczbę kolumn określonych w tym argumencie.

-ce opcja_szyfrowania_połączenia

Dotyczy do: SQL Server 2025 (17.x) i nowszych wersji

Określa, że połączenie jest szyfrowane między serwerem a klientem. Możliwe wartości: yes, noi strict. Domyślną opcją jest yes. Aby uzyskać więcej informacji, zobacz TDS 8.0.

-Tc

Dotyczy do: SQL Server 2025 (17.x) i nowszych wersji

Określa, czy należy ufać certyfikatowi serwera. Ten parametr jest opcjonalny, podobnie jak HostnameInCertificate w innych narzędziach i parametrach połączenia.

Aby uzyskać więcej informacji, zobacz TDS 8.0.

-hc hostname_in_certificate

Dotyczy do: SQL Server 2025 (17.x) i nowszych wersji

Określa inną, oczekiwaną nazwę CN lub SIEĆ SAN w certyfikacie serwera do użycia podczas walidacji certyfikatu serwera. Aby uzyskać więcej informacji, zobacz TDS 8.0.

-D database_name

Określa nazwę każdej bazy danych, która ma zostać dostrojona. Pierwsza baza danych jest domyślną bazą danych. Można określić wiele baz danych, oddzielając nazwy baz danych przecinkami, na przykład:

dta -D database_name1, database_name2...

Alternatywnie można określić wiele baz danych przy użyciu argumentu -D dla każdej nazwy bazy danych, na przykład:

dta -D database_name1 -D database_name2... n

Argument -D jest obowiązkowy. -d Jeśli argument nie jest określony, dta początkowo łączy się z bazą danych określoną przy pierwszej USE database_name klauzuli w obciążeniu. Jeśli w obciążeniu nie ma jawnej USE database_name klauzuli, należy użyć argumentu -d .

Jeśli na przykład masz obciążenie, które nie zawiera jawnej USE database_name klauzuli i używasz następującego polecenia dta , rekomendacja nie jest generowana:

dta -D db_name1, db_name2...

Jeśli jednak używasz tego samego obciążenia i użyj następującego polecenia dta , które używa argumentu -d , zostanie wygenerowane zalecenie:

dta -D db_name1, db_name2 -d db_name1

-d database_name

Określa pierwszą bazę danych, z którą usługa dta łączy się podczas dostrajania obciążenia. Dla tego argumentu można określić tylko jedną bazę danych. Przykład:

dta -d AdventureWorks2022 ...

Jeśli określono wiele nazw baz danych, funkcja dta zwraca błąd. Argument -d jest opcjonalny.

Jeśli używasz pliku wejściowego XML, możesz określić pierwszą bazę danych, z którą usługa dta łączy się przy użyciu elementu DatabaseToConnect , który znajduje się w elemecie TuningOptions . Aby uzyskać więcej informacji, zobacz Doradca optymalizacji silnika bazy danych.

Jeśli dostrajasz tylko jedną bazę danych, -d argument zapewnia podobną funkcjonalność do argumentu -d w narzędziu sqlcmd, ale nie wykonuje USE instrukcji database_name. Aby uzyskać więcej informacji, zobacz sqlcmd Utility (Narzędzie sqlcmd).

-E

Używa zaufanego połączenia zamiast żądania hasła. Należy użyć argumentu -E lub argumentu -U , który określa identyfikator logowania.

-e tuning_log_name

Określa nazwę tabeli lub pliku, w którym dta rejestruje zdarzenia, których nie można dostroić. Tabela jest tworzona na serwerze, na którym jest wykonywane dostrajanie.

Jeśli tabela jest używana, określ jej nazwę w formacie: [database_name].[ owner_name].table_name. W poniższej tabeli przedstawiono wartości domyślne dla każdego parametru:

Parametr Wartość domyślna Szczegóły
database_name database_name określone z opcją -D
owner_name Dbo owner_name musi być dbo. Jeśli zostanie określona inna wartość, wykonanie dta zakończy się niepowodzeniem i zwróci błąd.
table_name Żaden

Jeśli plik jest używany, określ .xml jako jego rozszerzenie. Na przykład TuningLog.xml.

Uwaga / Notatka

Narzędzie dta nie usuwa zawartości tabel dziennika dostrajania określonego przez użytkownika, jeśli sesja zostanie usunięta. Podczas dostrajania dużych obciążeń zalecamy określenie tabeli dla dziennika dostrajania. Ponieważ dostrajanie dużych obciążeń może spowodować duże logi dostrajania, sesje można szybciej usuwać, gdy używana jest tabela.

-F

Zezwala dta na zastąpienie istniejącego pliku wyjściowego. Jeśli plik wyjściowy o tej samej nazwie już istnieje i -F nie został określony, dta zwraca błąd. Można użyć z -F , -of-orlub -ox.

-fa fizyczne_struktury_projektowe_do_dodania

Określa, jakie typy fizycznych struktur projektowych dta powinny zawierać w rekomendacji. W poniższej tabeli wymieniono i opisano wartości, które można określić dla tego argumentu. Jeśli nie określono żadnej wartości, dta używa wartości domyślnej -fa IDX.

Wartość Opis
IDX_IV Indeksy i indeksowane widoki.
IDX Tylko indeksy.
IV Tylko indeksowane widoki.
NCL_IDX Indeksy nieklastrowane wyłącznie.

-fi

Określa, że filtrowane indeksy mają być brane pod uwagę w przypadku nowych zaleceń. Aby uzyskać więcej informacji, zobacz Tworzenie filtrowanych indeksów.

-Fc

Określa, że indeksy kolumnowe mają być uwzględniane przy tworzeniu nowych zaleceń. Usługa DTA uwzględnia zarówno klastrowane, jak i nieklastrowane indeksy magazynu kolumn. Aby uzyskać więcej informacji, zobacz Zalecenia dotyczące indeksu magazynu kolumn w usłudze Advisor dostrajania aparatu bazy danych (DTA).

Dotyczy: SQL Server 2016 (13.x) i nowsze wersje.

-fk keep_existing_option

Określa, jakie istniejące fizyczne struktury projektowe dta muszą zachować podczas generowania rekomendacji. W poniższej tabeli wymieniono i opisano wartości, które można określić dla tego argumentu:

Wartość Opis
NONE Brak istniejących struktur
Wszystkie Wszystkie istniejące struktury
WYRÓWNANE Wszystkie struktury wyrównane do partycji.
CL_IDX Wszystkie indeksy klastrowane w tabelach
IDX Wszystkie indeksy klastrowane i nieklastrowane w tabelach

-fp strategia partycjonowania

Określa, czy nowe fizyczne struktury projektowe (indeksy i widoki indeksowane) proponowane przez dta powinny być partycjonowane i jak powinny być partycjonowane. W poniższej tabeli wymieniono i opisano wartości, które można określić dla tego argumentu:

Wartość Opis
NONE Brak partycjonowania
FULL Pełne partycjonowanie (wybierz zwiększenie wydajności)
ALIGNED Tylko wyrównane partycjonowanie (wybierz, aby zwiększyć możliwości zarządzania)

ALIGNED oznacza, że w rekomendacji wygenerowanej przez dta każdy proponowany indeks jest partycjonowany w dokładnie taki sam sposób, jak w tabeli bazowej, dla której zdefiniowano indeks. Indeksy nieklastrowane w widoku indeksowanym są wyrównane do widoku indeksowanego. Dla tego argumentu można określić tylko jedną wartość. Wartość domyślna to -fp NONE.

-fx drop_only_mode

Określa, że dta uwzględnia tylko usunięcie istniejących fizycznych struktur projektowych. Nie są brane pod uwagę żadne nowe fizyczne struktury projektowe. Po określeniu tej opcji dta ocenia użyteczność istniejących fizycznych struktur projektowych i zaleca usunięcie rzadko używanych struktur. Ten argument nie przyjmuje żadnych wartości. Nie można jej używać z -faargumentami , -fplub -fk ALL

-ID session_ID

Określa identyfikator liczbowy sesji dostrajania. Jeśli nie zostanie określony, wówczas dta generuje numer identyfikatora. Tego identyfikatora można użyć do wyświetlania informacji dotyczących istniejących sesji dostrajania. Jeśli nie określisz wartości parametru -ID, należy określić nazwę sesji za pomocą polecenia -s.

-Ip

Określa, że pamięć podręczna planu jest używana jako obciążenie. Przeanalizowano 1000 najważniejszych zdarzeń pamięci podręcznej planu dla jawnie wybranych baz danych. Tę wartość można zmienić przy użyciu -n opcji .

-IQ

Określa, że magazyn zapytań jest używany jako obciążenie. Przeanalizowano 1000 najważniejszych zdarzeń z Magazynu Zapytań dla jawnie wybranych baz danych. Tę wartość można zmienić przy użyciu -n opcji . Aby uzyskać więcej informacji, zobacz Jak magazyn zapytań zbiera dane i dostraja bazę danych przy użyciu obciążenia z magazynu zapytań za pomocą doradcy dostrajania aparatu bazy danych.

Dotyczy: SQL Server 2016 (13.x) i nowsze wersje.

-if workload_file

Określa ścieżkę i nazwę pliku obciążenia do użycia jako dane wejściowe do dostrajania. Plik musi być w jednym z następujących formatów: .trc (plik śledzenia programu SQL Server Profiler), .sql ( plikTransact-SQL) lub .log (plik śledzenia programu SQL Server). Należy określić jeden plik obciążenia lub jedną tabelę obciążenia.

-it workload_trace_table_name

Określa nazwę tabeli zawierającej ślad obciążenia do optymalizacji. Nazwa jest określona w formacie[ database_name]. [owner_name]. table_name.

W poniższej tabeli przedstawiono wartości domyślne dla każdej z nich:

Parametr Wartość domyślna
database_name database_name określone z opcją -D .
owner_name dbo.
table_name Żaden.

Uwaga / Notatka

owner_name musi być dbo. Jeśli zostanie określona inna wartość, wykonanie dta zakończy się niepowodzeniem i zostanie zwrócony błąd. Należy również pamiętać, że należy określić jedną tabelę obciążenia lub jeden plik obciążenia.

-ix input_XML_file_name

Określa nazwę pliku XML zawierającego informacje wejściowe dta . Ten dokument XML musi być zgodny ze schematem DTASchema.xsd . Argumenty powodujące konflikt określone w wierszu polecenia dla opcji dostrajania zastępują odpowiednią wartość w tym pliku XML. Jedynym wyjątkiem jest wprowadzenie konfiguracji określonej przez użytkownika w trybie oceny w pliku wejściowym XML. Jeśli na przykład konfiguracja zostanie wprowadzona w elemecie Configuration pliku wejściowego XML, a element EvaluateConfiguration jest również określony jako jedna z opcji dostrajania, opcje dostrajania określone w pliku wejściowym XML zastępują wszystkie opcje dostrajania wprowadzone w wierszu polecenia.

-k maxtotalindexes

Maksymalna liczba indeksów w rekomendacji.

-K maxtotalindexes

Maksymalna liczba indeksów na tabelę.

-m minimum_improvement

Określa minimalny procent ulepszeń, które musi spełniać zalecana konfiguracja.

-N opcja_online

Określa, czy fizyczne struktury projektowe są tworzone w trybie online. W poniższej tabeli wymieniono i opisano wartości, które można określić dla tego argumentu:

Wartość Opis
OFF Nie można tworzyć zalecanych fizycznych struktur projektowych w trybie online.
ON Wszystkie zalecane fizyczne struktury projektowe można tworzyć w trybie online.
MIXED Doradca dostrajania aparatu bazy danych próbuje zalecić fizyczne struktury projektowe, które można utworzyć w trybie online, gdy jest to możliwe.

Jeśli indeksy są tworzone w trybie online, ONLINE = ON jest dołączany do definicji obiektu.

-n liczba_zdarzeń

Określa liczbę zdarzeń w obciążeniu roboczym, które dta ma dostroić. Jeśli ten argument jest określony, a obciążenie jest plikiem śledzenia zawierającym informacje o czasie trwania, wtedy dta stroi zdarzenia w kolejności malejącej czasu trwania. Ten argument jest przydatny do porównywania dwóch konfiguracji fizycznych struktur projektowych. Aby porównać dwie konfiguracje, określ tę samą liczbę zdarzeń, które mają być dostrojone dla obu konfiguracji, a następnie określ nieograniczony czas dostrajania dla obu tych konfiguracji w następujący sposób:

dta -n number_of_events -A 0

W takim przypadku ważne jest określenie nieograniczonego czasu dostrajania (-A 0). W przeciwnym razie Asystent dostrajania silnika bazy danych zakłada domyślnie 8-godzinny czas dostrajania.

-l okno_czasowe_w_godzinach

Określa przedział czasu (w godzinach), kiedy zapytanie musi zostać wykonane, aby było brana pod uwagę do dostrajania przy użyciu opcji -iq (Obciążenie z magazynu zapytań).

dta -iq -l 48

W takim przypadku usługa DTA używa magazynu zapytań jako źródła obciążenia i uwzględnia tylko zapytania, które zostały wykonane z ostatnich 48 godzin.

Dotyczy: SQL Server 2016 (13.x) i nowszych.

-of output_script_file_name

Określa, że dta zapisuje zalecenie jako skrypt Transact-SQL do określonej nazwy pliku i miejsca docelowego.

Możesz użyć -F tej opcji. Upewnij się, że nazwa pliku jest unikatowa, zwłaszcza jeśli używasz również elementów -or i -ox.

-lub output_xml_report_file_name

Określa, że dta zapisuje zalecenie do raportu wyjściowego w formacie XML. Jeśli zostanie podana nazwa pliku, zalecenia są zapisywane w tym miejscu docelowym. W przeciwnym razie dta używa nazwy sesji do wygenerowania nazwy pliku i zapisuje ją w bieżącym katalogu.

Możesz użyć -F tej opcji. Upewnij się, że nazwa pliku jest unikatowa, zwłaszcza jeśli używasz również elementów -of i -ox.

- ox output_XML_file_name

Określa, że dta zapisuje zalecenie jako plik XML do podanej nazwy pliku i miejsca docelowego. Upewnij się, że Doradca dostrajania silnika bazy danych ma uprawnienia do zapisu w katalogu docelowym.

Możesz użyć -F tej opcji. Upewnij się, że nazwa pliku jest unikatowa, zwłaszcza jeśli używasz również elementów -of i -or.

-P hasło

Określa hasło identyfikatora logowania. Jeśli ta opcja nie jest używana, dta monituje o hasło.

-q

Ustawia tryb cichy. W konsoli nie są zapisywane żadne informacje, w tym informacje o postępie i nagłówku.

-rl lista_raportów_z_analizy

Określa listę raportów analizy do wygenerowania. W poniższej tabeli wymieniono wartości, które można określić dla tego argumentu:

Wartość Raport
Wszystkie Wszystkie raporty analizy
STMT_COST Raport kosztów zestawienia
EVT_FREQ Raport częstotliwości zdarzeń
STMT_DET Raport szczegółów instrukcji
CUR_STMT_IDX Raport relacji między instrukcją a indeksem (bieżąca konfiguracja)
REC_STMT_IDX Raport relacji instrukcji-indeks (zalecana konfiguracja)
STMT_COSTRANGE Raport dotyczący zakresu kosztów zestawienia
CUR_IDX_USAGE Raport użycia indeksu (bieżąca konfiguracja)
REC_IDX_USAGE Raport użycia indeksu (zalecana konfiguracja)
CUR_IDX_DET Raport szczegółów indeksu (bieżąca konfiguracja)
REC_IDX_DET Raport szczegółów indeksu (zalecana konfiguracja)
VIW_TAB Raport relacji między widokami a tabelami
WKLD_ANL Raport analizy obciążenia
Dostęp do bazy danych (DB_ACCESS) Raport dostępu do bazy danych
DOSTĘP DO KART Raport dostępu do tabel
COL_ACCESS Raport dostępu do kolumn

Określ wiele raportów, oddzielając wartości przecinkami, na przykład:

... -rl EVT_FREQ, VIW_TAB, WKLD_ANL ...

-S server_name [ \instance ]

Określa nazwę komputera i wystąpienia programu SQL Server do nawiązania połączenia. Jeśli nie określono server_name , dta łączy się z domyślnym wystąpieniem programu SQL Server na komputerze lokalnym. Opcja ta jest wymagana podczas nawiązywania połączenia z nazwanym wystąpieniem lub gdy program dta jest uruchamiany z komputera zdalnego w sieci.

-s session_name

Określa nazwę sesji dostrajania. Jest to wymagane, jeśli -ID nie zostanie określony.

-Tf table_list_file

Określa nazwę pliku zawierającego listę tabel, które mają być dostrojone. Każda tabela wymieniona w pliku powinna rozpoczynać się w nowym wierszu. Nazwy tabel powinny być kwalifikowane z trzema częściami nazewnictwa, na przykład AdventureWorks2022.HumanResources.Department. Opcjonalnie, aby wywołać funkcję skalowania tabeli, po nazwie istniejącej tabeli można podać liczbę wskazującą przewidywaną liczbę wierszy w tabeli. Doradca optymalizacji silnika bazy danych uwzględnia przewidywaną liczbę wierszy podczas optymalizacji lub oceniania instrukcji w obciążeniu odwołującym się do tych tabel. Może istnieć co najmniej jedna spacja między liczbą number_of_rows a table_name.

Jest to format pliku dla table_list_file:

database_name. [schema_name]. table_name [number_of_rows]
database_name. [schema_name]. table_name [number_of_rows]
database_name. [schema_name]. table_name [number_of_rows]

Ten argument jest alternatywą dla wprowadzania listy tabel w wierszu polecenia (-Tl). Nie używaj pliku listy tabel (-Tf), jeśli używasz polecenia -Tl. Jeśli są używane oba argumenty, dta kończy się niepowodzeniem i zwraca błąd.

-Tf Jeśli argumenty i -Tl zostaną pominięte, wszystkie tabele użytkowników w określonych bazach danych są brane pod uwagę do dostrajania.

-Tl table_list

Określa w wierszu polecenia listę tabel, które mają być dostrojone. Umieść przecinki między nazwami tabel, aby je oddzielić. Jeśli tylko jedna baza danych jest określona z argumentem -D , nazwy tabel nie muszą być kwalifikowane przy użyciu nazwy bazy danych. W przeciwnym razie w pełni kwalifikowana nazwa w formacie: database_name.schema_name.table_name jest wymagana dla każdej tabeli.

Ten argument jest alternatywą dla używania pliku listy tabel (-Tf). Jeśli są używane zarówno, jak -Tl i -Tf są używane, dta kończy się niepowodzeniem i zwraca błąd.

-U identyfikator_logowania

Określa identyfikator logowania używany do połączenia z serwerem SQL.

-u

Uruchamia graficzny interfejs użytkownika doradcy dostrajania aparatu bazy danych. Wszystkie parametry są traktowane jako początkowe ustawienia interfejsu użytkownika.

-x

Rozpoczyna sesję dostrajania i wychodzi.

Uwagi

Naciśnij raz Ctrl+C, aby zatrzymać sesję dostrajania i wygenerować zalecenia na podstawie analizy, którą dta zakończyło do tego momentu. Zostanie wyświetlony monit o podjęcie decyzji, czy chcesz wygenerować rekomendacje, czy nie. Naciśnij ponownie Ctrl+C , aby zatrzymać sesję dostrajania bez generowania zaleceń.

Przykłady

Odp. Dostrajanie obciążenia zawierającego indeksy i widoki indeksowane w rekomendacji

W tym przykładzie użyto bezpiecznego połączenia (-E) w celu nawiązania połączenia z bazą tpcd1G danych na serwerze MyServer w celu przeanalizowania obciążenia i utworzenia zaleceń. Zapisuje dane wyjściowe w pliku skryptu o nazwie script.sql. Jeśli script.sql już istnieje, to dta zastępuje plik, ponieważ podano argument -F. Sesja dostrajania jest uruchamiana przez nieograniczony czas, aby zapewnić pełną analizę obciążenia (-A 0). Zalecenie musi zapewnić minimalną poprawę wynoszącą 5% (-m 5). dta powinna zawierać indeksy i widoki indeksowane w ostatecznym rekomendacji (-fa IDX_IV).

dta -S MyServer -E -D tpcd1G -if tpcd_22.sql -F -of script.sql -A 0 -m 5 -fa IDX_IV

B. Ograniczanie użycia dysku

Ten przykład ogranicza całkowity rozmiar bazy danych, który obejmuje nieprzetworzone dane i dodatkowe indeksy, do 3 gigabajtów (GB) (-B 3000) i kieruje dane wyjściowe do d:\result_dir\script1.sql. Działa nie dłużej niż 1 godzinę (-A 60).

dta -D tpcd1G -if tpcd_22.sql -B 3000 -of "d:\result_dir\script1.sql" -A 60

C. Ogranicz liczbę dostrajanych zapytań

Ten przykład ogranicza liczbę zapytań odczytanych z pliku orders_wkld.sql do maksymalnie 10 (-n 10) i działa przez 15 minut (-A 15), w zależności od tego, co nastąpi wcześniej. Aby upewnić się, że wszystkie 10 zapytań jest dostrojonych, określ nieograniczony czas dostrajania za pomocą polecenia -A 0. Jeśli czas jest ważny, określ odpowiedni limit czasu, określając liczbę minut, które są dostępne do dostrajania za pomocą argumentu -A , jak pokazano w tym przykładzie.

dta -D orders -if orders_wkld.sql -of script.sql -A 15 -n 10

D. Dostrajanie określonych tabel wymienionych w pliku

W tym przykładzie pokazano użycie table_list_file (argumentu -Tf ). Zawartość pliku table_list.txt jest następująca:

AdventureWorks2022.Sales.Customer  100000
AdventureWorks2022.Sales.Store
AdventureWorks2022.Production.Product  2000000

Zawartość parametru table_list.txt określa, że:

  • Należy dostroić Customertylko tabele , Storei Product w bazie danych.

  • Przyjmuje się, że liczba wierszy w Customer tabelach i Product to odpowiednio 100 000 i 2000 000.

  • Przyjmuje się, że liczba wierszy w Store tabeli jest bieżącą liczbą wierszy.

    Może istnieć co najmniej jedna spacja między liczbą wierszy i poprzednią nazwą tabeli w table_list_file.

    Czas dostrajania wynosi 2 godziny (-A 120), a dane wyjściowe są zapisywane w pliku XML (-ox XMLTune.xml).

dta -D pubs -if pubs_wkld.sql -ox XMLTune.xml -A 120 -Tf table_list.txt

E. Nawiązywanie połączenia z plikiem obciążenia, zastępowanie pliku wyjściowego przy użyciu opcji dostrajania

W tym przykładzie pokazano, jak nawiązać połączenie bez szyfrowania, dołączyć plik obciążenia, zastąpić plik wyjściowy, dostroić przez 60 minut, z 5% ulepszeniami i tylko indeksami. Zastąp <server> i <database> prawidłowymi wartościami.

dta -S <server> -E -ce no -D <database> -if workload_file.sql -F -of output_script.sql -A 60 -m 5 -fa IDX

Ten przykład jest taki sam jak poprzednie polecenie, ale z szyfrowaniem połączenia. Zastąp <server> i <database> prawidłowymi wartościami.

dta -S <server> -E -ce yes -tc -D <database> -if workload_file.sql -F -of output_script.sql -A 60 -m 5 -fa IDX