SQL-Bewertung für bewährte Methoden für SQL Server auf Azure-VMs

Gilt für:SQL Server auf Azure-VM

Die SQL-Bewertungsfunktion für bewährte Methoden im Azure-Portal dient zur Identifizierung möglicher Leistungsprobleme und dazu, zu bewerten, ob Ihre SQL Server-Instanz für Azure Virtual Machines (VMs) so konfiguriert ist, dass bewährte Methoden befolgt werden. Dabei wird der umfangreiche Regelsatz verwendet, der von der SQL-Bewertungs-API bereitgestellt wird.

Weitere Informationen finden Sie in diesem Video zur SQL-Bewertung für bewährte Methoden:

Übersicht

Sobald die SQL-Bewertungsfunktion für bewährte Methoden aktiviert ist, werden Ihre SQL Server-Instanz und SQL-Datenbanken gescannt, um Empfehlungen zu Indizes, veralteten Funktionen, aktivierten oder fehlenden Ablaufverfolgungsflags, Statistiken usw. bereitzustellen. Die Empfehlungen werden auf der SQL VM-Verwaltungsseite des Azure-Portals angezeigt.

Bewertungsergebnisse werden mithilfe von Azure Monitor Agent (AMA) in Ihren Log Analytics-Arbeitsbereich hochgeladen. Die AMA-Erweiterung wird auf der SQL Server-VM installiert, sofern sie noch nicht installiert ist, und AMA-Ressourcen wie DCE und DCR werden erstellt und mit dem angegebenen Log Analytics-Arbeitsbereich verbunden.

Die Ausführungszeit der Bewertung hängt von Ihrer Umgebung ab (Anzahl der Datenbanken, Objekte usw.) und kann von einigen Minuten bis zu einer Stunde dauern. Die Größe des Bewertungsergebnisses hängt ebenfalls von Ihrer Umgebung ab. Die Bewertung wird für Ihre Instanz und alle Datenbanken auf dieser Instanz ausgeführt. Bei unseren Tests haben wir festgestellt, dass eine Bewertungsausführung 5 bis 10 % der CPU des Computers in Anspruch nehmen kann. Bei diesen Tests erfolgte die Bewertung, während eine TPC-C-ähnliche Anwendung für SQL Server ausgeführt wurde.

Voraussetzungen

Um diese SQL-Bewertungsfunktion für bewährte Methoden verwenden zu können, müssen die folgenden Voraussetzungen erfüllt sein:

Aktivieren

Sie können SQL-Best-Practices-Bewertungen mithilfe des Azure-Portals oder der Azure CLI aktivieren.

Um SQL-Best-Practices-Bewertungen mithilfe des Azure-Portals zu aktivieren, führen Sie die folgenden Schritte aus:

  1. Melden Sie sich am Azure-Portal an, und navigieren Sie zu Ihrer SQL Server-VM-Ressource.
  2. Wählen Sie unter Einstellungen die Option SQL-Bewertungen für bewährte Methoden aus.
  3. Wählen Sie SQL-Bewertungen für bewährte Methoden aktivieren oder Konfiguration aus, um zur Seite Konfiguration zu navigieren.
  4. Aktivieren Sie das Kontrollkästchen SQL-Bewertungen für bewährte Methoden aktivieren, und geben Sie Folgendes an:
    1. Den Log Analytics-Arbeitsbereich, in den Bewertungen hochgeladen werden. Wählen Sie in der Dropdownliste einen vorhandenen Arbeitsbereich des Abonnements aus.
    2. Wählen Sie die Ressourcengruppe aus, in der die Azure Monitor Agent-Ressourcen DCE und DCR erstellt werden. Wenn Sie dieselbe Ressourcengruppe für mehrere SQL Server-VMs angeben, werden diese Ressourcen wiederverwendet.
    3. Den Zeitplan für die Ausführung. Sie können Bewertungen nach Bedarf oder automatisch gemäß einem Zeitplan ausführen. Wenn Sie einen Zeitplan auswählen, geben Sie die Häufigkeit (wöchentlich oder monatlich), den Wochentag, die Wiederholung (alle 1 bis 6 Wochen) und die Tageszeit an, zu der Ihre Bewertungen gestartet werden sollen (lokal zur VM-Zeit).
  5. Wählen Sie Übernehmen aus, um Ihre Änderungen zu speichern und den Azure Monitor Agent auf Ihrer SQL Server-VM bereitzustellen, sofern er noch nicht bereitgestellt wurde. Eine Benachrichtigung des Azure-Portals informiert Sie, sobald die SQL-Bewertungsfunktion für bewährte Methoden für Ihre SQL Server-VM bereit ist.

Bewerten der SQL Server-VM

Die Ausführung von Bewertungen erfolgt:

  • Nach einem Zeitplan
  • On-Demand-Streaming

Ausführen einer geplanten Bewertung

Sie können die Bewertung mit einem Zeitplan mithilfe des Azure-Portals und der Azure CLI konfigurieren.

Wenn Sie im Konfigurationsbereich einen Zeitplan festlegen, wird eine Bewertung automatisch zum angegebenen Datum und zur angegebenen Uhrzeit ausgeführt. Wählen Sie Konfiguration aus, um Ihren Bewertungszeitplan zu ändern. Sobald Sie einen neuen Zeitplan bereitstellen, wird der vorherige Zeitplan überschrieben.

Ausführen einer Bewertung bei Bedarf

Nachdem die SQL-Best-Practices-Bewertungsfunktion für Ihre SQL Server-VM aktiviert wurde, ist es möglich, bei Bedarf eine Bewertung mit dem Azure-Portal oder der Azure CLI auszuführen.

Wenn Sie eine On-Demand-Bewertung mithilfe des Azure-Portals ausführen möchten, wählen Sie Bewertung ausführen im Bereich „SQL-Best-Practices-Bewertung“ der Seite SQL Server-VM-Ressource des Azure-Portals aus.

Anzeigen der Ergebnisse

Im Abschnitt Bewertungsergebnisse der Seite SQL-Bewertungen für bewährte Methoden wird eine Liste der letzten Bewertungsausführungen angezeigt. In jeder Zeile werden die Startzeit einer Ausführung und der Status (geplant, wird ausgeführt, Ergebnisse werden hochgeladen, abgeschlossen oder Fehler) angezeigt. Jede Bewertungsausführung besteht aus zwei Teilen: Auswerten Ihrer Instanz und Hochladen der Ergebnisse in Ihren Log Analytics-Arbeitsbereich. Das Statusfeld deckt beide Teile ab. Bewertungsergebnisse werden in Azure-Arbeitsmappen angezeigt.

Es gibt drei Möglichkeiten, um auf die Bewertungsergebnisse der Azure-Arbeitsmappe zuzugreifen:

  • Wählen Sie die Schaltfläche Letzte erfolgreiche Bewertung anzeigen auf der Seite SQL-Bewertungen für bewährte Methoden aus.
  • Wählen Sie eine abgeschlossene Ausführung im Abschnitt Bewertungsergebnisse der Seite SQL-Bewertungen für bewährte Methoden aus.
  • Wählen Sie Bewertungsergebnisse anzeigen aus den 10 besten Empfehlungen auf der Seite Übersicht Ihrer SQL-VM-Ressource aus.

Nachdem Sie die Arbeitsmappe geöffnet haben, können Sie die Dropdownliste verwenden, um vorherige Ausführungen auszuwählen. Sie können die Ergebnisse einer einzelnen Ausführung auf der Seite Ergebnisse anzeigen oder historische Trends auf der Seite Trends überprüfen.

Seite „Ergebnisse“

Auf der Seite Ergebnisse werden die Empfehlungen mithilfe von Registerkarten für Alle, neue, aufgelöste organisiert. Verwenden Sie diese Registerkarten, um alle Empfehlungen der aktuellen Ausführung, alle neuen Empfehlungen (das Delta aus vorherigen Ausführungen) oder die aufgelösten Empfehlungen aus vorherigen Ausführungen anzuzeigen. Registerkarten helfen Ihnen beim Nachverfolgen des Fortschritts zwischen den Ausführungen. Auf der Registerkarte Erkenntnisse werden die am häufigsten auftretenden Probleme und die Datenbanken mit den meisten Problemen identifiziert. Verwenden Sie diese Angaben, um zu entscheiden, wo Sie Ihre Maßnahmen konzentrieren sollten.

Im Diagramm werden Bewertungsergebnisse in die Schweregrade „hoch“, „mittel“ und „niedrig“ unterteilt und Informationen angezeigt. Wählen Sie jede Kategorie aus, um die Liste der Empfehlungen anzuzeigen, oder suchen Sie im Suchfeld nach Schlüsselbegriffen. Es ist am besten, mit den schwerwiegendsten Empfehlungen zu beginnen und die Liste dann absteigend abzuarbeiten.

Im ersten Raster werden die einzelnen Empfehlungen und die Anzahl der Instanzen angezeigt, die in Ihrer Umgebung auf dieses Problem stoßen. Wenn Sie eine Zeile im ersten Raster auswählen, werden im zweiten Raster alle Instanzen für diese spezielle Empfehlung aufgelistet. Wenn im ersten Raster keine Auswahl vorhanden ist, zeigt das zweite Raster alle Empfehlungen an. Diese Liste kann recht lang sein. Sie können die Dropdowns über dem Raster (Name, Schweregrad, Tags, ID überprüfen) verwenden, um die Ergebnisse zu filtern. Sie können auch die Optionen In Excel exportieren und Zuletzt ausgeführte Abfrage in Protokollansicht öffnen verwenden, indem Sie die kleinen Symbole oben rechts im jeweiligen Raster auswählen.

Der Abschnitt bestanden des Diagramms identifiziert Empfehlungen, die Ihr System bereits befolgt.

Zeigen Sie ausführliche Informationen zu jeder Empfehlung an, indem Sie das Feld Meldung auswählen, z. B. eine lange Beschreibung und relevante Onlineressourcen.

Es gibt drei Diagramme auf der Seite Trends, um Änderungen im Laufe der Zeit anzuzeigen: alle Probleme, neue Probleme und behobene Probleme. Die Diagramme helfen Ihnen, Ihren Fortschritt zu erkennen. Im Idealfall sollte die Anzahl der Empfehlungen abnehmen, während die Anzahl der behobenen Probleme ansteigt. Die Legende zeigt die durchschnittliche Anzahl von Problemen für jeden Schweregrad an. Positionieren Sie den Mauszeiger über den Balken, um die einzelnen Werte für jede Ausführung anzuzeigen.

Wenn an einem Tag mehrere Ausführungen erfolgt sind, ist nur die letzte Ausführung in den Diagrammen auf der Seite Trends enthalten.

Aktivieren aller VMs in einem Abonnement

Sie können die Azure CLI verwenden, um die SQL-Best-Practices-Bewertung für alle SQL Server-VMs innerhalb eines Abonnements zu aktivieren. Verwenden Sie dazu das folgende Beispielskript:

# This script is formatted for use with Az CLI on Windows PowerShell. You may need to update the script for use with Az CLI on other shells.
# This script enables SQL best practices assessment feature for all SQL Servers on Azure VMs in a given subscription. It configures the VMs to use a Log Analytics workspace to upload assessment results. It sets a schedule to start an assessment run every Sunday at 11pm (local VM time).
# Please note that if a VM is already associated with another Log Analytics workspace, it will give an error.
 
$subscriptionId = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
# Resource Group where the Log Analytics workspace belongs
$myWsRg = 'myWsRg'
# Log Analytics workspace where assessment results will be stored
$myWsName = 'myWsName'
# Resource Group where the Azure Monitor Agent resources will be created
$myAgentRg = 'myAgentRg'
 
# Ensure in correct subscription
az account set --subscription $subscriptionId
 
$sqlvms = az sql vm list | ConvertFrom-Json 
 
foreach ($sqlvm in $sqlvms)
{
  echo "Configuring feature on $($sqlvm.id)"
  az sql vm update --assessment-weekly-interval 1 --assessment-day-of-week Sunday --assessment-start-time-local "23:00" --workspace-name $myWsName --workspace-rg $myWsRg -g $sqlvm.resourceGroup --agent-rg $myAgentRg -n $sqlvm.name
  
  # Alternatively you can use this command to only enable the feature without setting a schedule
  # az sql vm update --enable-assessment true --workspace-name $myWsName --workspace-rg $myWsRg -g $sqlvm.resourceGroup --agent-rg $myAgentRg -n $sqlvm.name  
 
  # You can use this command to start an on-demand assessment on each VM
  # az sql vm start-assessment -g $sqlvm.resourceGroup -n $sqlvm.name
}

Bekannte Probleme

Bei der Verwendung von SQL-Bewertungen für bewährte Methoden können einige der folgenden bekannten Probleme auftreten.

Migrieren von Microsoft Monitoring Agent (MMA) zu Azure Monitor Agent (AMA)

Zuvor verwendete die Funktion „SQL-Best-Practices-Bewertung“ MMA, um Bewertungen in den Log Analytics-Arbeitsbereich hochzuladen. MMA wird eingestellt. Diese Funktion verwendet jetzt AMA zum Hochladen von Bewertungen. Wenn Sie in der Vergangenheit „SQL-Best-Practices-Bewertung“ mithilfe von MMA aktiviert hatten, können Sie einfach zu AMA migrieren, indem Sie die Funktion zuerst deaktivieren und dann wieder aktivieren. Ihre vorhandenen Ergebnisse stehen nach dem Deaktivieren/Aktivieren weiterhin zur Verfügung, solange Sie denselben Log Analytics-Arbeitsbereich angeben. Sie können den Microsoft Monitoring Agent dann entfernen, sofern er nicht von anderen Diensten verwendet wird. Folgen Sie dazu diesen Anleitungen. Stellen Sie vor der Migration sicher, dass Azure Monitor Log Analytics in der Region unterstützt wird, in der sich Ihre SQL Server-VM befindet. Einzelheiten finden Sie in dieser Tabelle.

Bereitstellungsfehler beim Aktivieren oder Ausführen der Bewertung

Verwenden Sie den Bereitstellungsverlauf der Ressourcengruppe, die die SQL-VM enthält, um die Fehlermeldung im Zusammenhang mit der fehlgeschlagenen Aktion anzuzeigen.

Fehlgeschlagene Bewertungen

Wenn das Bewerten oder Hochladen der Ergebnisse aus irgendeinem Grund fehlgeschlagen ist, gibt der Status dieses Laufs den Fehler an. Wenn Sie auf den Status klicken, öffnet sich ein Kontextbereich, in dem Sie Details zum Fehler und mögliche Wege zur Behebung des Problems finden.

Tipp

Wenn Sie TLS 1.0 oder höher in Windows erzwungen und ältere SSL-Protokolle wie hier beschrieben deaktiviert haben, müssen Sie auch sicherstellen, dass .NET Framework für die Verwendung starker Kryptografie konfiguriert ist.

Nächste Schritte