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
Azure SQL-Datenbank
Azure SQL Managed Instance
Der Bericht "Transaktionsleistungsanalyse" in SQL Server Management Studio hilft Ihnen zu bewerten, ob In-Memory OLTP die Leistung Ihrer Datenbankanwendung verbessern kann. Der Bericht gibt darüber hinaus an, welchen Arbeitsaufwand Sie leisten müssen, um In-Memory-OLTP in Ihrer Anwendung zu aktivieren. Nachdem Sie eine datenträgerbasierte Tabelle zum Portieren zu In-Memory OLTP identifiziert haben, verwenden Sie den Speicheroptimierungsratgeber , um die Tabelle zu migrieren. Ebenso hilft Ihnen der native Kompilierungsratgeber beim Portieren einer gespeicherten Prozedur zu einer nativ kompilierten gespeicherten Prozedur. Weitere Informationen zu Migrationsmethoden finden Sie unter In-Memory OLTP - Common Workload Patterns and Migration Considerations (In-Memory-OLTP: Allgemeine Workloadmuster und Überlegungen zur Migration).
Der Bericht "Transaktionsleistungsanalyse" wird direkt mit der Produktionsdatenbank oder einer Testdatenbank mit einer aktiven Workload ausgeführt, die der Produktionsauslastung ähnelt.
Die Bericht- und die Migrationsratgeber helfen Ihnen, die folgenden Aufgaben auszuführen:
Analysieren Sie Ihre Arbeitsauslastung, um Hotspots zu ermitteln, bei denen In-Memory OLTP potenziell zu einer Leistungsverbesserung beitragen kann. Der Bericht "Transaktionsleistungsanalyse" empfiehlt Tabellen und gespeicherte Prozeduren, die am meisten von der Konvertierung in In-Memory OLTP profitieren.
Hilfe bei der Planung und Durchführung der Migration zu In-Memory OLTP. Der Migrationspfad von einer datenträgerbasierten Tabelle zu einer speicheroptimierten Tabelle kann zeitaufwendig sein. Mit dem Ratgeber für die Speicheroptimierung können Sie Inkompatibilitäten in Ihrer Tabelle identifizieren, die Sie entfernen müssen, bevor Sie die Tabelle zu In-Memory OLTP verschieben. Der Memory-Optimization Advisor hilft Ihnen auch zu verstehen, welche Auswirkungen die Migration einer Tabelle zu einer speicheroptimierten Tabelle auf Ihrer Anwendung haben kann.
Sie können sehen, ob Ihre Anwendung von In-Memory OLTP profitiert, wenn Sie die Migration auf In-Memory OLTP planen möchten, und wann immer Sie arbeiten, um einige Ihrer Tabellen und gespeicherten Prozeduren zu In-Memory OLTP zu migrieren.
Wichtig
Die Leistung eines Datenbanksystems hängt von mehreren Faktoren ab, nicht von denen der Transaktionsleistungssammler beobachten und messen kann. Daher garantiert der Bericht zur Transaktionsleistungsanalyse nicht, dass die tatsächlichen Leistungsgewinne den Vorhersagen entsprechen, falls Vorhersagen gemacht werden.
Der Bericht "Transaktionsleistungsanalyse" und die Migrationsberater werden als Teil von SQL Server Management Studio (SSMS) installiert, wenn Sie bei der Installation von SQL Server SQL Server oder SQL Server Management Studiodie Option "Management Tools-Basic" oder "Management Tools-Advanced" auswählen.
Berichte zur Transaktionsleistungsanalyse
Sie können Berichte zur Transaktionsleistungsanalyse erstellen, indem Sie im Objekt-Explorer mit der rechten Maustaste auf die Datenbank klicken und nacheinander Berichte, Standardberichteund Übersicht der Transaktionsleistungsanalyseauswählen. Die Datenbank muss eine aktive oder eine kurz zuvor ausgeführte Arbeitsauslastung aufweisen, damit ein aussagekräftiger Analysebericht erstellt werden kann.
Tabellen
Der Detailbericht für eine Tabelle umfasst drei Abschnitte:
Abschnitt "Scanstatistik"
Dieser Abschnitt enthält eine einzelne Tabelle, in der die Statistiken angezeigt werden, die über Scanvorgänge der Datenbanktabelle gesammelt werden. Die Spalten sind wie folgt:
Prozent der Gesamtzugriffe. Der Prozentsatz der Scans und Suchvorgänge für diese Tabelle im Verhältnis zur Aktivität für die gesamte Datenbank. Je höher der Prozentsatz, desto stärker wird die Tabelle im Vergleich zu anderen Tabellen in der Datenbank verwendet.
Statistik für Nachschlagen und Bereichsscan. In dieser Spalte wird die Anzahl der Punktsuchen und Bereichsscans (Indexscans und Tabellenscans) aufgeführt, die während der Profilerstellung für die Tabelle durchgeführt wurden. Der Durchschnitt je Transaktion beruht auf einer Schätzung.
Abschnitt "Contention Statistics"
Dieser Abschnitt enthält eine Tabelle mit den Konflikten für die Datenbanktabelle. Weitere Informationen zu Datenbankverriegelungen und -sperren finden Sie im Leitfaden zur Transaktionssperre und Zeilenversionsverwaltung. Es gibt folgende Spalten:
Prozentsatz der Gesamtwartedauer. Der Prozentsatz der Latch- und Sperrenwartevorgänge für diese Datenbanktabelle im Verhältnis zur Aktivität für die Datenbank. Je höher der Prozentsatz, desto stärker wird die Tabelle im Vergleich zu anderen Tabellen in der Datenbank verwendet.
Latch Statistics. Diese Spalten zeichnen die Anzahl der Latch-Warten bei Abfragen auf, die diese Tabelle betreffen. Informationen über Latches finden Sie unter wie SQL Server Latches verwendet. Je höher diese Zahl, desto mehr Latch-Kollisionen gibt es in der Tabelle.
Sperrstatistik. In dieser Gruppe von Spalten wird die Anzahl der Sperrenerhalt- und -wartevorgänge für Seiten bei Abfragen, die diese Tabelle betreffen, aufgeführt. Weitere Informationen zu Sperren finden Sie unter "Granularität und Hierarchie sperren". Je höher die Anzahl der Wartevorgänge ist, desto mehr Sperrenkonflikte treten für die Tabelle auf.
Abschnitt "Migrationsschwierigkeiten"
Dieser Abschnitt enthält eine Tabelle, die angibt, wie schwierig es ist, diese Datenbanktabelle in eine speicheroptimierte Tabelle zu konvertieren. Eine höhere Schwierigkeitsbewertung weist auf mehr Schwierigkeitsgrade hin, um die Tabelle zu konvertieren. Um Details zum Konvertieren dieser Datenbanktabelle anzuzeigen, verwenden Sie den Speicheroptimierungsratgeber.
Der Prozess sammelt und aggregiert Scan- und Inhaltsstatistiken für den Tabellendetailsbericht aus sys.dm_db_index_operational_stats.
Gespeicherte Prozeduren
Ziehen Sie die Migration gespeicherter Prozeduren in Betracht, die ein hohes Verhältnis von CPU-Zeit zu verstrichener Zeit aufweisen. Der Bericht zeigt alle Tabellenverweise an, da nativ kompilierte gespeicherte Prozeduren nur auf speicheroptimierte Tabellen verweisen können, die zu den Migrationskosten addiert werden können.
Der Detailbericht für eine gespeicherte Prozedur umfasst zwei Abschnitte:
Abschnitt "Ausführungsstatistik"
Dieser Abschnitt enthält eine Tabelle, in der die Statistiken angezeigt werden, die über die Ausführung der gespeicherten Prozedur gesammelt wurden. Es gibt folgende Spalten:
Zwischengespeicherte Zeit. Die Zwischenspeicherungsdauer des Ausführungsplans. Wenn die gespeicherte Prozedur aus dem Plancache entfernt wird und neu eingelagert wird, sehen Sie die Zeiten pro Cache.
Cpu-Gesamtzeit. Die gesamte CPU-Zeit, die die gespeicherte Prozedur während der Profilerstellung verbraucht hat. Je höher diese Zahl ist, desto mehr CPU-Leistung hat die gespeicherte Prozedur genutzt.
Gesamtausführungszeit. Die Gesamtdauer der Ausführungszeit, die die gespeicherte Prozedur während der Profilerstellung genutzt hat. Je höher der Unterschied zwischen dieser Zahl und der CPU-Zeit ist, desto weniger effizient verwendet die gespeicherte Prozedur die CPU.
Gesamtzahl der Cache-Verfehlungen. Die Anzahl der Cachefehler (liest aus physischem Speicher), die die Ausführung der gespeicherten Prozedur während der Profilerstellung verursacht hat.
Ausführungsanzahl. Gibt an, wie oft diese gespeicherte Prozedur während der Profilerstellung ausgeführt wurde.
Abschnitt "Tabellenverweise"
Dieser Abschnitt enthält eine Tabelle mit den Tabellen, auf die diese gespeicherte Prozedur verweist. Bevor Sie die gespeicherte Prozedur in eine nativ kompilierte gespeicherte Prozedur konvertieren, konvertieren Sie alle diese Tabellen in speicheroptimierte Tabellen. Diese Tabellen müssen auf demselben Server und derselben Datenbank bleiben.
Die Ausführungsstatistik für den Bericht über gespeicherte Prozedurdetails wird gesammelt und aggregiert aus sys.dm_exec_procedure_stats (Transact-SQL). Die Verweise stammen aus sys.sql_expression_dependencies (Transact-SQL).
Verwenden Sie den Native Compilation Advisor, um ausführliche Informationen darüber zu erhalten, wie eine gespeicherte Prozedur in eine nativ kompilierte gespeicherte Prozedur konvertiert wird.
Generieren von OLTP-Migrationsprüflisten im Arbeitsspeicher
Migrationsprüflisten identifizieren tabellen- oder gespeicherte Prozedurfeatures, die nicht mit speicheroptimierten Tabellen oder nativ kompilierten gespeicherten Prozeduren unterstützt werden. Die Speicheroptimierung und der native Kompilierungsratgeber können eine Prüfliste für eine einzelne datenträgerbasierte Tabelle oder mit T-SQL interpretierte gespeicherte Prozedur. Sie können auch Migrationsprüflisten für mehrere Tabellen und gespeicherte Prozeduren in einer Datenbank generieren.
Verwenden Sie in SQL Server Management Studio den Befehl "OLTP-Migrationsprüflisten In-Memory generieren " oder "PowerShell", um eine Migrationsprüfliste zu generieren.
Generieren einer Migrationsprüfliste mithilfe des Benutzeroberflächenbefehls
Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf eine andere Datenbank als die Systemdatenbank, wählen Sie "Aufgaben" aus, und wählen Sie dann "Generieren In-Memory OLTP-Migrationsprüflisten" aus.
Wählen Sie im Dialogfeld "In-Memory-OLTP-Migrationsprüflisten generieren" die Option "Weiter" aus, um zur Seite "Optionen zur Checklistengenerierung konfigurieren" zu navigieren. Führen Sie auf dieser Seite die folgenden Schritte aus:
Geben Sie einen Ordnerpfad in das Feld Prüfliste speichern in ein.
Überprüfen Sie, ob Prüflisten für bestimmte Tabellen und gespeicherte Prozeduren erstellen ausgewählt ist.
Erweitern Sie im Auswahlbereich die Knoten Tabelle und Gespeicherte Prozedur .
Wählen Sie einige Objekte im Auswahlbereich aus.
Wählen Sie "Weiter" aus, und bestätigen Sie, dass die Liste der Aufgaben Ihren Einstellungen auf der Seite " Checklistengenerierungsoptionen konfigurieren " entspricht.
Wählen Sie "Fertig stellen" aus, und bestätigen Sie dann, dass Migrationsprüflistenberichte nur für die von Ihnen ausgewählten Objekte generiert wurden.
Sie können die Genauigkeit der Berichte überprüfen, indem Sie sie mit den Berichten vergleichen, die von den Tools „Speicheroptimierungsratgeber“ und „Ratgeber für native Kompilierung“ erstellt wurden. Weitere Informationen finden Sie unter Ratgeber für die Speicheroptimierung und Ratgeber für native Kompilierung.
Generieren einer Migrationsprüfliste mit SQL Server PowerShell
Wählen Sie im Objekt-Explorer eine Datenbank und dann "PowerShell starten" aus. Überprüfen Sie, ob die folgende Eingabeaufforderung angezeigt wird.
PS SQLSERVER: \SQL\{Instance Name}\DEFAULT\Databases\{two-part DB Name}>Geben Sie den folgenden Befehl ein.
Save-SqlMigrationReport -FolderPath "<folder_path>"Überprüfen Sie die folgenden Ergebnisse:
Der Befehl erstellt den Ordnerpfad, wenn er noch nicht vorhanden ist.
Der Befehl generiert den Migrationsprüflistenbericht für alle Tabellen und gespeicherten Prozeduren in der Datenbank. Der Bericht befindet sich an dem durch
folder_pathangegebenen Ort.
Generieren einer Migrationsprüfliste mit Windows PowerShell
Starten Sie eine Windows PowerShell-Sitzung mit erhöhten Rechten.
Geben Sie die folgenden Befehle ein. Das Objekt kann entweder eine Tabelle oder eine gespeicherte Prozedur sein.
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO')Save-SqlMigrationReport -Server "<instance_name>" -Database "<db_name>" -FolderPath "<folder_path1>"Save-SqlMigrationReport -Server "<instance_name>" -Database "<db_name>" -Object <object_name> -FolderPath "<folder_path2>"Überprüfen Sie die folgenden Ergebnisse:
Der Befehl generiert einen Migrationsprüflistenbericht für alle Tabellen und gespeicherten Prozeduren in der Datenbank. Der Bericht befindet sich an der angegebenen Stelle durch
folder_path.Der Migrations-Checklistenbericht für
<object_name>ist der einzige Bericht an dem vonfolder_path2angegebenen Speicherort.