Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Das dta -Hilfsprogramm ist die Eingabeaufforderungsversion des Datenbankoptimierungsratgebers. Mit dem Hilfsprogramm dta soll es Ihnen ermöglicht werden, die Funktionalität des Datenbankoptimierungsratgebers in Anwendungen und Skripts zu verwenden.
Hinweis
Der Datenbankmoduloptimierungsratgeber wird für Azure SQL-Datenbank oder azure SQL Managed Instance nicht unterstützt. Berücksichtigen Sie stattdessen die strategien, die in der Überwachung und Leistungsoptimierung in Azure SQL-Datenbank und der von Azure SQL verwalteten Instanz empfohlen werden. Informationen zu Azure SQL-Datenbank finden Sie auch unter Database Advisor: Empfehlungen zur Leistung für Azure SQL-Datenbank.
Wie der Datenbankoptimierungsratgeber dient auch das dta -Hilfsprogramm dazu, eine Arbeitsauslastung zu analysieren und Empfehlungen zu den physischen Entwurfsstrukturen auszugeben, um die Serverleistung für diese Arbeitsauslastung zu verbessern. Bei der Arbeitsauslastung kann es sich um einen Plancache, eine SQL Server Profiler-Ablaufverfolgungsdatei oder -tabelle oder ein Transact-SQL-Skript handeln. Zu den physischen Entwurfsstrukturen zählen Indizes, indizierte Sichten und die Partitionierung.
Nachdem das dta-Hilfsprogramm eine Workload analysiert hat, wird eine Empfehlung für den physischen Entwurf von Datenbanken erstellt und kann das erforderliche Skript generieren, um die Empfehlung zu implementieren. Workloads können über die Eingabeaufforderung mit dem -if Argument oder dem -it Argument angegeben werden. Sie können auch eine XML-Eingabedatei aus der Eingabeaufforderung mit dem -ix Argument angeben. In diesem Fall wird die Arbeitsauslastung in der XML-Eingabedatei angegeben.
Syntax
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 ]
]
Argumente
-?
Zeigt Informationen zur Nutzung an.
-A zeit_für_Abstimmung_in_Minuten
Gibt das Zeitlimit für die Optimierung in Minuten an. Dasdta -Hilfsprogramm verwendet die angegebene Zeitspanne, um die Arbeitsauslastung zu optimieren und ein Skript mit den empfohlenen Änderungen des physischen Entwurfs zu generieren. Standardmäßig geht dta von einer Optimierungszeit von 8 Stunden aus. Durch den Wert 0 wird eine unbegrenzte Optimierungszeit festgelegt. Dasdta -Hilfsprogramm beendet die Optimierung der gesamten Arbeitsauslastung möglicherweise bereits vor Ablauf des Zeitlimits. Wenn sichergestellt werden soll, dass die gesamte Arbeitsauslastung optimiert wird, empfiehlt es sich jedoch, eine unbegrenzte Optimierungszeit anzugeben (-A 0).
-a
Optimiert die Arbeitsauslastung und wendet die Empfehlung an, ohne Sie zur Bestätigung aufzufordern.
-B Speichergröße
Gibt den maximalen Speicherplatz (in MB) an, der durch den empfohlenen Index und die Partitionierung beansprucht werden kann. Wenn mehrere Datenbanken optimiert werden, werden bei der Berechnung des Speicherplatzes Empfehlungen für alle Datenbanken berücksichtigt. Standardmäßig geht dta von der kleineren der folgenden Speichergrößen aus:
Das Dreifache der aktuellen Rohdatengröße, einschließlich der Gesamtgröße der Heaps und gruppierten Indizes der Tabellen in der Datenbank.
Der freie Speicherplatz auf allen angefügten Laufwerken plus die Rohdatengröße.
Die Standardspeichergröße enthält keine nicht gruppierten Indizes und indizierten Ansichten.
-C max_columns_in_index
Gibt die maximale Anzahl von Spalten in Indizes an, die von dta vorgeschlagen werden. Der Maximalwert ist 1024. Standardmäßig ist dieses Argument auf 16 festgelegt.
-c maximale_Schlüsselspalten_im_Index
Gibt die maximale Anzahl von Schlüsselspalten in Indizes an, die von dta vorgeschlagen werden. Der Standardwert ist 16, was dem maximal zulässigen Wert entspricht. Dasdta -Hilfsprogramm berücksichtigt auch die Erstellung von Indizes mit integrierten Spalten. Bei eingeschlossenen Spalten empfohlene Indizes können die Anzahl der in diesem Argument angegebenen Spalten überschreiten.
-ce Verbindungsverschlüsselungsoption
Gilt für: SQL Server 2025 (17.x) und spätere Versionen
Gibt an, dass die Verbindung zwischen dem Server und dem Client verschlüsselt ist. Mögliche Werte: yes, no und strict. Die Standardoption ist yes. Weitere Informationen finden Sie unter TDS 8.0.
-Tc
Gilt für: SQL Server 2025 (17.x) und spätere Versionen
Gibt an, ob dem Serverzertifikat vertraut werden soll. Dieser Parameter ist optional, ähnlich wie HostnameInCertificate in anderen Tools und Verbindungszeichenfolgen.
Weitere Informationen finden Sie unter TDS 8.0.
-hc hostname_in_certificate
Gilt für: SQL Server 2025 (17.x) und spätere Versionen
Gibt eine andere, erwartete CN oder SAN im Serverzertifikat an, die während der Serverzertifikatüberprüfung verwendet werden soll. Weitere Informationen finden Sie unter TDS 8.0.
-D database_name
Gibt den Namen jeder zu optimierenden Datenbank an. Die erste Datenbank ist die Standarddatenbank. Sie können mehrere Datenbanken angeben, indem Sie Kommas als Trennzeichen zwischen den Datenbanknamen verwenden. Beispiel:
dta -D database_name1, database_name2...
Alternativ können Sie mehrere Datenbanken mithilfe des -D Arguments für jeden Datenbanknamen angeben, z. B.:
dta -D database_name1 -D database_name2... n
Das -D Argument ist obligatorisch. Wenn das -d Argument nicht angegeben ist, stellt dta zunächst eine Verbindung mit der Datenbank her, die in der Workload mit der ersten USE database_name Klausel angegeben ist. Wenn keine explizite USE database_name Klausel in der Workload vorhanden ist, müssen Sie das -d Argument verwenden.
Wenn Sie beispielsweise über eine Workload verfügen, die keine explizite USE database_name Klausel enthält, und Sie den folgenden dta-Befehl verwenden, wird keine Empfehlung generiert:
dta -D db_name1, db_name2...
Wenn Sie jedoch dieselbe Workload verwenden und den folgenden dta-Befehl verwenden, der das -d Argument verwendet, wird eine Empfehlung generiert:
dta -D db_name1, db_name2 -d db_name1
-d database_name
Gibt die erste Datenbank an, mit der dta eine Verbindung herstellt, wenn eine Arbeitsauslastung optimiert wird. Für dieses Argument kann nur eine einzige Datenbank angegeben werden. Beispiel:
dta -d AdventureWorks2022 ...
Wenn mehrere Datenbanknamen angegeben werden, gibt dta einen Fehler zurück. Das -d Argument ist optional.
Wenn Sie eine XML-Eingabedatei verwenden, können Sie die erste Datenbank angeben, mit der dta eine Verbindung herstellt, indem Sie das DatabaseToConnect-Element verwenden, das sich unter dem TuningOptions-Element befindet. Weitere Informationen finden Sie unter Database Engine Tuning Advisor.
Wenn Sie nur eine Datenbank optimieren, stellt das -d Argument ähnliche Funktionen wie das -d Argument im sqlcmd-Hilfsprogramm bereit, führt jedoch die USE nicht aus. Weitere Informationen finden Sie unter sqlcmd Utility.
-E
Verwendet eine vertrauenswürdige Verbindung, statt ein Kennwort anzufordern. Entweder das -E Argument oder das -U Argument, das eine Anmelde-ID angibt, muss verwendet werden.
-e tuning_log_name
Gibt den Namen der Tabelle oder Datei an, in der dta Ereignisse aufzeichnet, die nicht optimiert werden konnten. Die Tabelle wird auf dem Server erstellt, auf dem die Optimierung ausgeführt wird.
Wenn eine Tabelle verwendet wird, geben Sie den Namen im folgenden Format an: [database_name].[owner_name].table_name. In der folgenden Tabelle ist für jeden Parameter der zugehörige Standardwert aufgeführt:
| Parameter | Standardwert | Einzelheiten |
|---|---|---|
| database_name |
database_name mit der -D Option angegeben |
|
| owner_name | Dbo | owner_name muss dbolauten. Wenn ein anderer Wert angegeben wird, schlägt die Ausführung von dta fehl, und es wird ein Fehler ausgegeben. |
| table_name | Keine |
Wenn eine Datei verwendet wird, geben Sie sie als Erweiterung an .xml . Beispiel: TuningLog.xml.
Hinweis
Das dta-Hilfsprogramm löscht den Inhalt der vom Benutzer angegebenen Optimierungsprotokolltabellen nicht, wenn die Sitzung gelöscht wird. Bei der Optimierung großer Workloads wird empfohlen, dass eine Tabelle für das Optimierungsprotokoll angegeben ist. Da die Optimierung großer Workloads zu großen Optimierungsprotokollen führen kann, können die Sitzungen schneller gelöscht werden, wenn eine Tabelle verwendet wird.
-F
Ermöglicht dta das Überschreiben einer vorhandenen Ausgabedatei. Wenn eine Ausgabedatei mit demselben Namen bereits vorhanden ist und -F nicht angegeben ist, gibt dta einen Fehler zurück. Sie können -F mit -of, , -oroder -ox.
-fa physische_Designstrukturen_zum_Hinzufügen
Gibt an, welche Arten physischer Entwurfsstruktur dta in die Empfehlung aufnehmen soll. In der folgenden Tabelle sind die Werte, die für dieses Argument angegeben werden können, sowie die zugehörigen Beschreibungen aufgeführt. Wenn kein Wert angegeben wird, verwendet dta den Standardwert -fa IDX.
| Wert | BESCHREIBUNG |
|---|---|
IDX_IV |
Indizes und indizierte Sichten. |
IDX |
Nur Indizes. |
IV |
Nur indizierte Sichten. |
NCL_IDX |
Nur nicht gruppierte Indizes. |
-Fi
Gibt an, dass gefilterte Indizes für neue Empfehlungen berücksichtigt werden. Weitere Informationen finden Sie unter Erstellen gefilterter Indizes.
-FC
Gibt an, dass Columnstore-Indizes für neue Empfehlungen berücksichtigt werden sollen. DTA berücksichtigt gruppierte und nicht gruppierte Spaltenspeicherindizes. Weitere Informationen finden Sie in den Empfehlungen für den Columnstore-Index in Database Engine Tuning Advisor (DTA).For more information, see Columnstore index recommendations in Database Engine Tuning Advisor (DTA).
Gilt für: SQL Server 2016 (13.x) und höhere Versionen.
-fk keep_existing_option
Gibt an, welche vorhandenen physischen Entwurfsstrukturen dta beim Generieren der Empfehlung beibehalten muss. In der folgenden Tabelle sind die Werte, die für dieses Argument angegeben werden können, sowie die zugehörigen Beschreibungen aufgeführt:
| Wert | BESCHREIBUNG |
|---|---|
NONE |
Keine vorhandenen Strukturen |
| ALLE | Alle vorhandenen Strukturen |
| ABGESTIMMT | Alle Strukturen mit ausgerichteten Partitionen. |
| CL_IDX | Alle gruppierten Indizes für Tabellen |
| IDX | Alle gruppierten und nicht gruppierten Indizes für Tabellen |
-fp Partitionierungsstrategie
Gibt an, ob neue physische Entwurfsstrukturen (Indizes und indizierte Sichten), die von dta vorgeschlagen werden, partitioniert werden sollen und wie diese Partitionierung ggf. erfolgen soll. In der folgenden Tabelle sind die Werte, die für dieses Argument angegeben werden können, sowie die zugehörigen Beschreibungen aufgeführt:
| Wert | BESCHREIBUNG |
|---|---|
NONE |
Keine Partitionierung |
FULL |
Vollständige Partitionierung (zur Verbesserung der Leistung) |
ALIGNED |
Nur ausgerichtete Partitionierung (zur Verbesserung der Verwaltbarkeit) |
ALIGNED bedeutet, dass in der empfehlung, die von dta generiert wird, jeder vorgeschlagene Index auf genau die gleiche Weise wie die zugrunde liegende Tabelle, für die der Index definiert ist, partitioniert wird. Nicht gruppierte Indizes für eine indizierte Sicht werden mit der indizierten Sicht ausgerichtet. Für dieses Argument kann nur ein Wert angegeben werden. Der Standardwert lautet -fp NONE.
-fx drop_only_mode
Gibt an, dass dta nur das Löschen vorhandener physischer Entwurfsstrukturen in Erwägung zieht. Das Erstellen neuer physischer Entwurfsstrukturen wird nicht in Erwägung gezogen. Wenn diese Option angegeben wird, bewertet dta die Zweckmäßigkeit vorhandener physischer Entwurfsstrukturen und empfiehlt das Löschen selten verwendeter Strukturen. Für dieses Argument werden keinen Werte angegeben. Sie kann nicht mit den Argumenten -faoder -fp-fk ALL Argumenten verwendet werden.
-ID session_ID
Gibt einen numerischen Bezeichner für die Optimierungssitzung an. Wird dieses Argument nicht angegeben, generiert dta eine ID-Nummer. Sie können diesen Bezeichner zum Anzeigen von Informationen zu vorhandenen Optimierungssitzungen verwenden. Wenn Sie keinen Wert angeben -ID, muss ein Sitzungsname mit -sangegeben werden.
-ip
Gibt an, dass der Plancache als Workload verwendet wird. Die ersten 1.000 Plancacheereignisse für explizit ausgewählte Datenbanken werden analysiert. Dieser Wert kann mithilfe der -n Option geändert werden.
-IQ
Gibt an, dass der Abfragespeicher als Workload verwendet wird. Die wichtigsten 1.000 Ereignisse aus dem Abfragespeicher für explizit ausgewählte Datenbanken werden analysiert. Dieser Wert kann mithilfe der -n Option geändert werden. Weitere Informationen finden Sie unter "Sammeln von Daten und Optimieren der Datenbank mithilfe von Workload aus dem Abfragespeicher mit dem Optimierungsratgeber für Datenbankmodulen".
Gilt für: SQL Server 2016 (13.x) und höhere Versionen.
-if workload_file
Gibt den Pfad und den Namen der Arbeitsauslastungsdatei an, die als Eingabe für die Optimierung verwendet werden soll. Die Datei muss in einem der folgenden Formate vorliegen: .trc (SQL Server Profiler-Ablaufverfolgungsdatei), .sql (Transact-SQL Datei) oder .log (SQL Server-Ablaufverfolgungsdatei). Es muss entweder eine Arbeitsauslastungsdatei oder eine Arbeitsauslastungstabelle angegeben werden.
-it workload_trace_table_name
Gibt den Namen einer Tabelle an, die die Arbeitsauslastungs-Ablaufverfolgung für das Optimieren enthält. Der Name wird im Format angegeben: [database_name]. [owner_name]. table_name.
In der folgenden Tabelle ist für jeden Parameter der zugehörige Standardwert aufgeführt:
| Parameter | Standardwert |
|---|---|
| database_name |
database_name mit -D Option angegeben. |
| owner_name | dbo |
| table_name | Keine. |
Hinweis
owner_name muss dbolauten. Wenn ein anderer Wert angegeben wird, schlägt die Ausführung von dta fehl, und es wird ein Fehler zurückgegeben. Beachten Sie zudem, dass entweder eine Arbeitsauslastungstabelle oder eine Arbeitsauslastungsdatei angegeben werden muss.
-ix input_XML_file_name
Gibt den Namen der XML-Datei an, die die Eingabeinformationen für dta enthält. Dieses XML-Dokument muss dem DTASchema.xsd Schema entsprechen. Widersprüchliche Argumente, die an der Eingabeaufforderung für Optimierungsoptionen angegeben werden, überschreiben den entsprechenden Wert in dieser XML-Datei. Die einzige Ausnahme hiervon sind benutzerdefinierte Konfigurationen, die im Auswertungsmodus in der XML-Eingabedatei eingegeben werden. Wenn beispielsweise eine Konfiguration im Configuration-Element der XML-Eingabedatei eingegeben wird und das EvaluateConfiguration-Element auch als eine der Optimierungsoptionen angegeben wird, überschreiben die in der XML-Eingabedatei angegebenen Optimierungsoptionen alle optimierungsoptionen, die über die Eingabeaufforderung eingegeben wurden.
-k maxtotalindexes
Die maximale Anzahl von Indizes in der Empfehlung
-K maxtotalindexes
Die maximale Anzahl von Indizes pro Tabelle
-m Mindestverbesserung
Gibt den Mindestprozentsatz der Verbesserung an, die durch eine empfohlene Konfiguration erreicht werden muss.
-N online_option
Gibt an, ob physische Entwurfsstrukturen online erstellt werden. In der folgenden Tabelle sind die Werte, die Sie für dieses Argument angeben können, sowie die zugehörigen Beschreibungen aufgeführt:
| Wert | BESCHREIBUNG |
|---|---|
OFF |
Es können keine empfohlenen physischen Entwurfsstrukturen online erstellt werden. |
ON |
Alle empfohlenen physischen Entwurfsstrukturen können online erstellt werden. |
MIXED |
Der Datenbankoptimierungsratgeber versucht, sofern möglich physische Entwurfsstrukturen zu empfehlen, die online erstellt werden können. |
Wenn Indizes online erstellt werden, ONLINE = ON wird sie an die Objektdefinition angefügt.
-n anzahl_der_ereignisse
Gibt die Anzahl von Ereignissen in der Arbeitsauslastung an, die dta optimieren soll. Wenn dieses Argument angegeben wird und es sich bei der Arbeitsauslastung um eine Ablaufverfolgungsdatei handelt, die Informationen zur Dauer enthält, optimiert dta die Ereignisse dabei Anhand ihrer Dauer in abnehmender Reihenfolge. Dieses Argument ist hilfreich, um zwei Konfigurationen mit physischen Entwurfsstrukturen miteinander zu vergleichen. Um zwei Konfigurationen zu vergleichen, geben Sie die gleiche Anzahl von Ereignissen an, die für beide Konfigurationen abgestimmt werden sollen, und geben Sie dann eine unbegrenzte Optimierungszeit für beides wie folgt an:
dta -n number_of_events -A 0
In diesem Fall ist es wichtig, eine unbegrenzte Optimierungszeit (-A 0) anzugeben. Andernfalls geht der Datenbankoptimierungsratgeber standardmäßig von einer achtstündigen Optimierungsdauer aus.
-l Zeitfenster_in_Stunden
Gibt das Zeitfenster (in Stunden) an, innerhalb dessen eine Abfrage ausgeführt werden muss, um bei Verwendung der Option -iq (Workload aus dem Abfragespeicher) für die Optimierung berücksichtigt zu werden.
dta -iq -l 48
In diesem Fall verwendet DTA den Abfragespeicher als Quelle der Workload und berücksichtigt nur Abfragen, die mit den letzten 48 Stunden ausgeführt wurden.
Gilt für: SQL Server 2016 (13.x) und höher.
-von output_script_file_name
Gibt an, dass dta die Empfehlung in Form eines Transact-SQL-Skripts in die Datei mit dem angegebenen Dateinamen im angegebenen Zielverzeichnis schreibt.
Sie können diese Option verwenden -F . Stellen Sie sicher, dass der Dateiname eindeutig ist, insbesondere, wenn Sie auch verwenden -or und -ox.
-oder output_xml_report_file_name
Gibt an, dass dta die Empfehlung in einen Ausgabebericht im XML-Format schreibt. Wenn ein Dateiname angegeben wird, werden die Empfehlungen in diese Datei im angegebenen Zielverzeichnis geschrieben. Andernfalls verwendet dta den Sitzungsnamen, um den Dateinamen zu generieren, und schreibt diese Datei in das aktuelle Verzeichnis.
Sie können diese Option verwenden -F . Stellen Sie sicher, dass der Dateiname eindeutig ist, insbesondere, wenn Sie auch verwenden -of und -ox.
-Ox output_XML_file_name
Gibt an, dass dta die Empfehlung in Form einer XML-Datei mit dem angegebenen Dateinamen im angegebenen Zielverzeichnis schreibt. Stellen Sie sicher, dass der Datenbankoptimierungsratgeber über die Berechtigungen zum Schreiben in das Zielverzeichnis verfügt.
Sie können diese Option verwenden -F . Stellen Sie sicher, dass der Dateiname eindeutig ist, insbesondere, wenn Sie auch verwenden -of und -or.
- P-Kennwort
Gibt das Kennwort für die Anmelde-ID an. Wenn diese Option nicht verwendet wird, fordert dta sie zur Eingabe eines Kennworts auf.
-q
Legt den stillen Modus fest. Es werden keine Informationen an der Konsole ausgegeben. Das gilt auch für Status- und Headerinformationen.
-rl Analyseberichtsliste
Gibt die Liste der zu generierenden Analyseberichte an. In der folgenden Tabelle sind die Werte aufgeführt, die für dieses Argument angegeben werden können:
| Wert | Bericht |
|---|---|
| ALLE | Alle Analyseberichte |
| STMT_COST | Anweisungskostenbericht |
| EVT_FREQ | Ereignishäufigkeitsbericht |
| STMT_DET | Anweisungsdetailbericht |
| CUR_STMT_IDX | Beziehungsbericht Anweisung – Index (aktuelle Konfiguration) |
| REC_STMT_IDX | Beziehungsbericht Anweisung – Index (empfohlene Konfiguration) |
| STMT_COSTRANGE | Anweisungskostenumfangs-Bericht |
| CUR_IDX_USAGE | Indexverwendungsbericht (aktuelle Konfiguration) |
| Nutzung des Aufnahmeindex | Indexverwendungsbericht (empfohlene Konfiguration) |
| CUR_IDX_DET | Indexdetailbericht (aktuelle Konfiguration) |
| REC_IDX_DET | Indexdetailbericht (empfohlene Konfiguration) |
| VIW_TAB | Beziehungsbericht Sicht – Tabelle |
| WKLD_ANL | Arbeitsauslastungsanalyse-Bericht |
| DB_Zugriff | Datenbankzugriffsbericht |
| TAB_ZUGANG | Tabellenzugriffsbericht |
| COL_ACCESS | Spaltenzugriffsbericht |
Sie können mehrere Berichte angeben, indem Sie die einzelnen Werte durch Kommas voneinander trennen. Beispiel:
... -rl EVT_FREQ, VIW_TAB, WKLD_ANL ...
-S server_name [ \instance ]
Gibt den Namen des Computers und der SQL Server -Instanz an, mit der eine Verbindung hergestellt werden soll. Wenn server_name nicht angegeben wird, stellt dta eine Verbindung mit der Standardinstanz von SQL Server auf dem lokalen Computer her. Diese Option ist erforderlich, wenn eine Verbindung mit einer benannten Instanz hergestellt wird oder wenn dta von einem Remotecomputer im Netzwerk aus ausgeführt wird.
-s session_name
Gibt den Namen der Optimierungssitzung an. Dies ist erforderlich, wenn -ID sie nicht angegeben ist.
-Tf table_list_file
Gibt den Namen einer Datei an, die eine Liste der Tabellen enthält, die optimiert werden sollen. Jede Tabelle, die in der Datei aufgelistet wird, sollte in einer neuen Zeile beginnen. Tabellennamen sollten mit dreiteiliger Benennung qualifiziert werden, AdventureWorks2022.HumanResources.Departmentz. B. . Zum Aufrufen der Tabellenskalierungsfunktion kann hinter dem Namen einer vorhandenen Tabelle eine Zahl angegeben werden, die die voraussichtliche Anzahl von Zeilen in der Tabelle anzeigt. Der Datenbankoptimierungsratgeber berücksichtigt die voraussichtliche Anzahl von Zeilen bei der Optimierung oder Bewertung von Anweisungen in der Arbeitsauslastung, die auf diese Tabellen verweisen. Es kann ein oder mehrere Leerzeichen zwischen der anzahl number_of_rows und dem table_name geben.
Eine für table_list_fileangegebene Datei muss folgendes Format aufweisen:
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]
Dieses Argument ist eine Alternative zum Eingeben einer Tabellenliste an der Eingabeaufforderung (-Tl). Verwenden Sie keine Tabellenlistendatei (-Tf) bei Verwendung -Tlvon . Wenn beide Argumente verwendet werden, schlägt die Ausführung von dta fehl und es wird ein Fehler zurückgegeben.
Wenn die -Tf Argumente nicht -Tl angegeben werden, werden alle Benutzertabellen in den angegebenen Datenbanken zur Optimierung berücksichtigt.
-Tl table_list
Gibt eine Liste mit zu optimierenden Tabellen an der Eingabeaufforderung an. Geben Sie zwischen Tabellennamen ein Komma als Trennzeichen ein. Wenn nur eine Datenbank mit dem -D Argument angegeben wird, müssen Tabellennamen nicht mit einem Datenbanknamen qualifiziert werden. Andernfalls ist für jede Tabelle ihr vollqualifizierter Name im Format database_name.schema_name.table_name erforderlich.
Dieses Argument ist eine Alternative zur Verwendung einer Tabellenlistendatei (-Tf). Wenn beide -Tl und -Tf verwendet werden, schlägt dta fehl und gibt einen Fehler zurück.
-U login_id
Gibt die Anmelde-ID an, die zum Herstellen einer Verbindung mit SQL Serververwendet wird.
-u
Startet die Benutzeroberfläche des Datenbankoptimierungsratgebers. Alle Parameter werden als Starteinstellungen für die Benutzeroberfläche interpretiert.
-x
Startet eine Optimierungssitzung und beendet das Hilfsprogramm.
Bemerkungen
Drücken Sie einmal STRG+C , um die Optimierungssitzung zu beenden und Empfehlungen zu generieren, basierend auf der Analysedta , die bis zu diesem Punkt abgeschlossen wurde. Sie werden aufgefordert, zu entscheiden, ob Sie Empfehlungen generieren möchten oder nicht. Drücken Sie erneut STRG+C , um die Optimierungssitzung zu beenden, ohne Empfehlungen zu generieren.
Beispiele
Ein. Optimieren einer Arbeitsauslastung mit einer Empfehlung, die Indizes und indizierte Sichten einschließt
In diesem Beispiel wird eine sichere Verbindung (-E) verwendet, um eine Verbindung mit der tpcd1G Datenbank auf MyServer herzustellen, um eine Workload zu analysieren und Empfehlungen zu erstellen. Die Ausgabe wird in eine Skriptdatei mit dem Namen script.sqlgeschrieben. Wenn script.sql bereits vorhanden, überschreibt dta die Datei, da das -F Argument angegeben wurde. Die Dauer der Optimierungssitzung wird nicht begrenzt, um sicherzustellen, dass die Arbeitsauslastung vollständig analysiert wird (-A 0). Die Empfehlung muss eine Verbesserung von mindestens 5 % (-m 5) ergeben. In der endgültigen Empfehlung vondta sollten Indizes und indizierte Sichten enthalten sein (-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. Begrenzen des verwendeten Speicherplatzes
In diesem Beispiel wird die Gesamtgröße der Datenbank beschränkt, die die Rohdaten und die zusätzlichen Indizes enthält, auf 3 Gigabyte (GB) () und-B 3000 leitet die Ausgabe an d:\result_dir\script1.sql. Die Optimierung wird maximal 1 Stunde ausgeführt (-A 60).
dta -D tpcd1G -if tpcd_22.sql -B 3000 -of "d:\result_dir\script1.sql" -A 60
C. Begrenzen der Anzahl optimierter Abfragen
In diesem Beispiel wird die Anzahl der Abfragen, die aus der Datei orders_wkld.sql gelesen werden, auf maximal 10 (-n 10) beschränkt und für 15 Minuten (-A 15), je nachdem, was zuerst kommt. Wenn Sie die Optimierung aller 10 Abfragen sicherstellen möchten, geben Sie mithilfe von -A 0 eine unbegrenzte Optimierungszeit an. Wenn die Zeit ein wichtiger Faktor ist, geben Sie ein geeignetes Zeitlimit an, indem Sie wie im folgenden Beispiel gezeigt mit dem Argument -A die Anzahl der Minuten angeben, die für die Optimierung zur Verfügung stehen.
dta -D orders -if orders_wkld.sql -of script.sql -A 15 -n 10
D: Optimieren bestimmter Tabellen, die in einer Datei aufgeführt sind
In diesem Beispiel wird die Verwendung von table_list_file (dem -Tf Argument) veranschaulicht. Der Inhalt der Datei table_list.txt lautet wie folgt:
AdventureWorks2022.Sales.Customer 100000
AdventureWorks2022.Sales.Store
AdventureWorks2022.Production.Product 2000000
Der Inhalt von table_list.txt specifies that:
Nur die
CustomerTabellenStoreundProductTabellen in der Datenbank sollten abgestimmt werden.Die Anzahl der Zeilen in den
Customertabellen undProduct100.000 bzw. 2.000.000 wird angenommen.Die Anzahl der Zeilen in
Storeder Tabelle wird als aktuelle Anzahl von Zeilen in der Tabelle angenommen.Es kann ein oder mehrere Leerzeichen zwischen der Anzahl der Zeilen und dem vorherigen Tabellennamen in der table_list_file geben.
Die Optimierungszeit beträgt 2 Stunden (
-A 120), und die Ausgabe wird in eine XML-Datei geschrieben (-ox XMLTune.xml).
dta -D pubs -if pubs_wkld.sql -ox XMLTune.xml -A 120 -Tf table_list.txt
E. Herstellen einer Verbindung mit einer Workloaddatei, Überschreiben der Ausgabedatei mit Optimierungsoptionen
In diesem Beispiel wird gezeigt, wie Sie eine Verbindung ohne Verschlüsselung herstellen, eine Workloaddatei einschließen, die Ausgabedatei überschreiben, 60 Minuten anpassen, um eine Verbesserung von 5 % zu erzielen, und nur Indizes verwenden. Ersetzen Sie <server> und <database> durch gültige Werte.
dta -S <server> -E -ce no -D <database> -if workload_file.sql -F -of output_script.sql -A 60 -m 5 -fa IDX
Dieses Beispiel ist identisch mit dem vorherigen Befehl, aber mit Verbindungsverschlüsselung. Ersetzen Sie <server> und <database> durch gültige Werte.
dta -S <server> -E -ce yes -tc -D <database> -if workload_file.sql -F -of output_script.sql -A 60 -m 5 -fa IDX