Freigeben über


Aktivieren von SQL Insights (Vorschau)

Gilt für:Azure SQL-DatenbankAzure SQL Managed Instance

In diesem Artikel wird beschrieben, wie Sie SQL Insights (Vorschau) zum Überwachen Ihrer SQL-Bereitstellungen aktivieren. Die Überwachung erfolgt über einen virtuellen Azure-Computer, der eine Verbindung mit Ihren SQL-Bereitstellungen herstellt und dynamische Verwaltungssichten (Dynamic Management Views, DMVs) verwendet, um Überwachungsdaten zu erfassen. Sie können mithilfe eines Überwachungsprofils steuern, welche Datasets mit welcher Häufigkeit gesammelt werden.

Hinweis

Informationen zum Aktivieren von SQL Insights (Vorschau) durch Erstellen des Überwachungsprofils und des virtuellen Computers mithilfe einer Resource Manager-Vorlage finden Sie unter Beispiele für Resource Manager-Vorlagen für SQL Insights (Vorschau).

Sie können sich auch diese Data Exposed-Folge ansehen, wenn Sie mehr zum Aktivieren von SQL Insights (Vorschau) erfahren möchten.

Erstellen eines Log Analytics-Arbeitsbereichs

SQL Insights speichert die Daten in mindestens einem Log Analytics-Arbeitsbereich. Bevor Sie SQL Insights aktivieren können, müssen Sie entweder einen Arbeitsbereich erstellen oder einen vorhandenen auswählen. Ein einzelner Arbeitsbereich kann mit mehreren Überwachungsprofilen verwendet werden, aber der Arbeitsbereich und die Profile müssen sich in derselben Azure-Region befinden. Um die Features in SQL Insights aktivieren und darauf zugreifen zu können, müssen Sie im Arbeitsbereich über die Rolle Log Analytics-Mitwirkender verfügen.

Erstellen eines Überwachungsbenutzers

Sie benötigen einen Benutzer (Anmeldname) für die SQL-Bereitstellungen, die Sie überwachen möchten. Führen Sie die folgenden Verfahren für verschiedene Arten von SQL-Bereitstellungen aus.

Die folgenden Anweisungen beziehen sich auf den Prozess pro SQL-Typ, den Sie überwachen können. Um dies mit einem Skript für mehrere SQL-Ressourcen gleichzeitig zu erreichen, lesen Sie die folgende README-Datei und das Beispielskript.

Hinweis

SQL Insights (Vorschau) unterstützt die folgenden Szenarien für Azure SQL-Datenbank nicht:

  • Pools für elastische Datenbanken: Für Pools für elastische Datenbanken können keine Metriken erfasst werden. Metriken können nicht für Datenbanken in Elastic Pools gesammelt werden.
  • Niedrige Dienstebenen: Für Datenbanken mit den Dienstzielen Basic, S0 und S1 können keine Metriken erfasst werden.

SQL Insights (Vorschau) bietet eingeschränkte Unterstützung für die folgenden Azure SQL-Datenbank-Szenarien:

  • Serverlose Ebene: Metriken können für Datenbanken mit der serverlosen Computeebene erfasst werden. Durch das Erfassen von Metriken wird jedoch der Verzögerungstimer für automatische Pausierung zurückgesetzt, wodurch verhindert wird, dass die Datenbank in einen automatischen Pausenzustand übergeht.

Stellen Sie mit SQL Server Management Studio, dem Abfrage-Editor (Vorschau) im Azure-Portal oder mit einem beliebigen anderen SQL-Clienttool eine Verbindung zu einer Azure SQL-Datenbank her.

Führen Sie das folgende Skript aus, um einen Benutzer mit den erforderlichen Berechtigungen zu erstellen. Ersetzen Sie user durch einen Benutzernamen und mystrongpassword durch ein sicheres Kennwort.

CREATE USER [user] WITH PASSWORD = N'mystrongpassword'; 
GO 
GRANT VIEW DATABASE STATE TO [user]; 
GO 

Screenshot: Abfrage-Editor beim Erstellen eines Telegraf-Benutzerskripts.

Vergewissern Sie sich, dass der Benutzer erstellt wurde.

Screenshot: Abfragefenster im Abfrage-Editor bei Überprüfung des Telegraf-Benutzerskripts.

select name as username,
       create_date,
       modify_date,
       type_desc as type,
       authentication_type_desc as authentication_type
from sys.database_principals
where type not in ('A', 'G', 'R', 'X')
       and sid is not null
order by username

Erstellen eines virtuellen Azure-Computers

Sie müssen mindestens einen virtuellen Azure-Computer erstellen, der zum Sammeln von Daten zum Überwachen von SQL verwendet wird.

Hinweis

Mit den Überwachungsprofilen wird angegeben, welche Daten Sie von den verschiedenen SQL-Typen erfassen, die Sie überwachen möchten. Jedem virtuellen Überwachungscomputer kann nur ein Überwachungsprofil zugeordnet werden. Wenn Sie mehrere Überwachungsprofile benötigen, müssen Sie jeweils einen virtuellen Computer erstellen.

Anforderungen für virtuelle Azure-Maschinen

Für den virtuellen Azure-Computer gelten folgende Anforderungen:

  • Betriebssystem: Ubuntu 18.04 mit Azure Marketplace-Image. Benutzerdefinierte Images werden nicht unterstützt. Um die Extended Security Maintenance (ESM) für diese Version von Ubuntu zu erhalten, empfehlen wir die Verwendung des Ubuntu Pro 18.04 LTS Marketplace-Images. Unter Support für Linux und Open-Source-Technologie in Azure finden Sie weitere Informationen.
  • Empfohlene Mindestgrößen für virtuelle Azure-Computer: Standard_B2s (2 CPUs, 4 GiB Arbeitsspeicher)
  • Bereitstellung in einer beliebigen Azure-Region , die vom Azure Monitor-Agent unterstützt wird , und Erfüllung aller Voraussetzungen des Azure Monitor-Agents.

Hinweis

Die Größe des virtuellen Computers Standard_B2s (2 CPUs, 4 GiB Arbeitsspeicher) unterstützt bis zu 100 Verbindungszeichenfolgen. Sie sollten einem einzelnen virtuellen Computer nicht mehr als 100 Verbindungen zuordnen.

Abhängig von den Netzwerkeinstellungen Ihrer SQL-Ressourcen müssen die virtuellen Maschinen möglicherweise in dasselbe virtuelle Netzwerk wie Ihre SQL-Ressourcen platziert werden, damit sie Netzwerkverbindungen herstellen können, um Überwachungsdaten zu sammeln.

Konfigurieren der Netzwerkeinstellungen

Jeder SQL-Typ bietet Methoden, mit denen der virtuelle Computer für die Überwachung sicher auf SQL zugreifen können. In den folgenden Abschnitten werden die Optionen basierend auf dem SQL-Bereitstellungstyp behandelt.

SQL Insights unterstützt den Zugriff auf Ihre Azure SQL-Datenbank-Instanz sowohl über den öffentlichen Endpunkt als auch über das virtuelle Netzwerk.

Für den Zugriff über den öffentlichen Endpunkt müssen Sie auf der Seite Firewalleinstellungen im Abschnitt IP-Firewalleinstellungen im Azure-Portal eine Regel hinzufügen. Um den Zugriff aus einem virtuellen Netzwerk anzugeben, können Sie Firewallregeln für virtuelle Netzwerke und die vom Azure Monitor-Agent benötigten Diensttags festlegen.

Screenshot: Seite „Azure SQL-Datenbank“ im Azure-Portal. Die Schaltfläche „Serverfirewall festlegen“ ist hervorgehoben.

Screenshot: Seite „Azure SQL-Datenbank-Firewalleinstellungen“ im Azure-Portal mit Firewalleinstellungen.

Speichern des Überwachungskennworts in Azure Key Vault

Aus Sicherheitsgründen wird dringend empfohlen, die Kennwörter für SQL-Benutzer (Anmeldename) in einem Key Vault zu speichern, anstatt sie direkt in die Verbindungszeichenfolgen Ihres Überwachungsprofils einzugeben.

Wenn Sie Ihr Profil für die SQL-Überwachung einrichten, benötigen Sie eine der folgenden Berechtigungen für die Key Vault-Ressource, die Sie verwenden möchten:

  • Microsoft.Authorization/roleAssignments/write
  • Microsoft.Authorization/roleAssignments/delete

Beim Erstellen des SQL-Überwachungsprofils, das die von Ihnen angegebene Key Vault-Instanz verwendet, wird automatisch eine neue Zugriffsrichtlinie erstellt.

Wichtig

Sie müssen sicherstellen, dass die Netzwerk- und Sicherheitskonfiguration Zugriff des virtuellen Überwachungscomputers auf Key Vault zulässt. Weitere Informationen finden Sie unter Zugreifen auf Azure Key Vault hinter einer Firewall und Konfigurieren von Azure Key Vault-Netzwerkeinstellungen.

Erstellen eines SQL-Überwachungsprofils

Sie können SQL Insights (Vorschau) durch Auswählen von SQL (Vorschau) im Bereich Insights des Menüs Azure Monitor im Azure-Portal öffnen. Klicken Sie auf Neues Profil erstellen.

Screenshot: Seite „Azure Monitor“ im Azure-Portal. Die Schaltfläche „Neues Profil erstellen“ ist hervorgehoben.

Im Profil werden die Informationen gespeichert, die Sie aus Ihren SQL-Systemen erfassen möchten. Es bietet spezifische Einstellungen für:

  • Azure SQL-Datenbank
  • Verwaltete Azure SQL-Instanz
  • SQL Server auf Azure VMs

Sie können z. B. ein Profil mit dem Namen SQL-Produktion und ein anderes namens SQL-Staging mit anderen Einstellungen für die Häufigkeit der Datensammlung, die zu sammelnden Daten und den Arbeitsbereich, an den die Daten gesendet werden sollen, erstellen.

Das Profil wird als Datensammlungsregel-Ressource in dem Abonnement und der Ressourcengruppe Ihrer Wahl gespeichert. Für jedes Profil ist Folgendes erforderlich:

  • Name. Kann nach der Erstellung nicht mehr bearbeitet werden.
  • Der Standort. Dies ist eine Azure-Region.
  • Log Analytics-Arbeitsbereich zum Speichern von Überwachungsdaten.
  • Sammlungseinstellungen für die Häufigkeit und den Typ der zu sammelnden SQL-Überwachungsdaten.

Hinweis

Der Speicherort des Profils sollte sich an demselben Speicherort befinden wie der Log Analytics-Arbeitsbereich, an den die Überwachungsdaten gesendet werden sollen.

Screenshot: Seite „Neues Profil erstellen – Details“ im Azure-Portal.

Wählen Sie Überwachungsprofil erstellen aus, nachdem Sie die Details für Ihr Überwachungsprofil eingegeben haben. Es kann bis zu einer Minute dauern, bis das Profil bereitgestellt wird. Wenn das neue Profil nicht im Kombinationsfeld Überwachungsprofil angezeigt wird, wählen Sie die Schaltfläche „Aktualisieren“ aus, die nach Abschluss der Bereitstellung angezeigt werden sollte. Nachdem Sie das neue Profil ausgewählt haben, wählen Sie die Registerkarte Profil verwalten aus, um einen Überwachungscomputer hinzuzufügen, der dem Profil zugeordnet wird.

Hinzufügen des Überwachungscomputers

Wählen Sie Überwachungscomputer hinzufügen aus, um einen Add monitoring virtual machine Kontextbereich zu öffnen und den virtuellen Computer auszuwählen, den Sie zum Überwachen Ihrer SQL-Instanzen einrichten möchten. Geben Sie auch die Verbindungszeichenfolgen an.

Wählen Sie das Abonnement und den Namen des virtuellen Computers zur Überwachung aus. Wenn Sie den Schlüsseltresor zum Speichern von Kennwörtern für die Überwachungsanmeldungen verwenden (dringend empfohlen), wählen Sie unter Key vault subscriptions das Abonnement dieses Schlüsseltresors und dann unter KeyVault den Schlüsseltresor, in dem geheime Schlüssel gespeichert werden. Geben Sie in das Feld Connection strings den Tresor-URI und den geheimen Namen für jedes Kennwort ein, das in den Verbindungszeichenfolgen verwendet werden soll.

Wenn z. B. der Schlüsseltresor-URI https://mykeyvault.vault.azure.net/ lautet und die geheimen Namen sqlPassword1 und sqlPassword2 sind, enthält der JSON-Code im Feld Connection strings Folgendes:

{
   "secrets": {
      "telegrafPassword1": {
         "keyvault": "https://mykeyvault.vault.azure.net/",
         "name": "sqlPassword1"
      },
      "telegrafPassword2": {
         "keyvault": "https://mykeyvault.vault.azure.net/",
         "name": "sqlPassword2"
      }
   }
}

Sie können nun im Feld Connection strings auf diese geheimen Schlüssel weiter verweisen. Im folgenden Beispiel verweisen die beiden Verbindungszeichenfolgen auf die zuvor definierten geheimen Schlüssel telegrafPassword1 und telegrafPassword2:

{
   "sqlAzureConnections": [
      "Server=mysqlserver.database.windows.net;Port=1433;Database=mydatabase;User Id=telegraf;Password=$telegrafPassword1;"
   ],
   "sqlVmConnections": [
      "Server=mysqlserver1;Port=1433;Database=master;User Id=telegraf;Password=$telegrafPassword2;"
   ]
}

Screenshot: Seite „Überwachungs-VM hinzufügen“ im Azure-Portal. Wählen Sie den virtuellen Computer aus, geben Sie die URL des Key Vaults (falls verwendet) und den Namen des Geheimnisses an. Geben Sie für jedes zu überwachende System Verbindungszeichenfolgen ein. Wählen Sie den Key Vault aus, in dem Sie das in den Verbindungszeichenfolgen verwendete Geheimnis erstellt haben.

Weitere Informationen zum Identifizieren der Verbindungszeichenfolge für verschiedene SQL-Bereitstellungen finden Sie im nächsten Abschnitt.

Hinzufügen von Verbindungszeichenfolgen

Die Verbindungszeichenfolge gibt den Anmeldenamen an, den SQL Insights (Vorschau) bei der Anmeldung bei SQL zum Erfassen von Überwachungsdaten verwenden soll. Wenn Sie einen Key Vault verwenden, um das Kennwort für den Überwachungsbenutzer zu speichern, geben Sie den URI für den Key Vault und den Namen des Geheimnisses an, das das Kennwort enthält.

Die Verbindungszeichenfolge ist für jeden SQL-Ressourcentyp unterschiedlich:

TCP-Verbindungen vom Überwachungscomputer zu der IP-Adresse und dem Port, die von der Datenbank verwendet werden, müssen von allen Firewalls oder Netzwerksicherheitsgruppen (NSGs) zugelassen werden, die möglicherweise im Netzwerkpfad vorhanden sind. Ausführliche Informationen zu IP-Adressen und Ports finden Sie unter Verbindungsarchitektur der Azure SQL-Datenbank.

Geben Sie Ihre Verbindungszeichenfolge in dieser Form ein:

"sqlAzureConnections": [
   "Server=mysqlserver1.database.windows.net;Port=1433;Database=mydatabase;User Id=$username;Password=$password;",
   "Server=mysqlserver2.database.windows.net;Port=1433;Database=mydatabase;User Id=$username;Password=$password;"
]

Rufen Sie die Details auf der Seite Verbindungszeichenfolgen und den entsprechenden ADO.NET-Endpunkt für die Datenbank ab.

Zum Überwachen einer lesbaren sekundären Datenbank fügen Sie ;ApplicationIntent=ReadOnly an die Verbindungszeichenfolge an. SQL Insights unterstützt die Überwachung einer einzelnen sekundären Datenbank. Die gesammelten Daten werden als primäre oder sekundäre Daten gekennzeichnet.