Konfigurieren von Azure SQL-Datenbank und Azure SQL Managed Instance

Abgeschlossen

Sie haben sich vergewissert, dass Ihre Bereitstellung erfolgreich war, und Sie wissen, welche Ressourcen verfügbar sind. Möglicherweise möchten Sie nun die SQL Managed Instance, die SQL-Datenbank oder die Datenbanken in einer verwalteten Instanz konfigurieren. Diese werden als verwaltete Datenbanken bezeichnet.

Konfigurieren von Azure SQL Managed Instance

Bei Azure SQL Managed Instance handelt es sich im Wesentlichen um eine verwaltete SQL Server-Instanz. Viele der in SQL Server verfügbaren Konfigurationen werden hier angewendet. Beispielsweise können Sie die Konfiguration mit sp_configure und bestimmten globalen Ablaufverfolgungsflags durchführen. Außerdem stehen Optionen für tempdb, model und master zur Verfügung. Darüber hinaus können Sie die Netzwerkkonnektivität und -konfiguration steuern.

Datenbankkonfiguration

Für verwaltete Datenbanken in Azure SQL Managed Instance und Azure SQL-Datenbank sind Optionen für den Befehl ALTER DATABASE verfügbar. Es gibt SET Optionen, und Sie können den gewünschten dbcompat-Wert auswählen. Dieser Wert kann bei Migrationen hilfreich sein. Außerdem können Sie mit dem Befehl ALTER DATABASE die Edition oder Dienstebene ändern.

In Azure SQL-Datenbank haben Sie keinen Zugriff auf die zugrunde liegende Dateikonfiguration. In einer Azure SQL Managed Instance können Sie die Dateiwartung durchführen. Ähnlich wie in SQL Managed Instance sind Optionen für die Netzwerkkonnektivität, die Netzwerkkonfiguration und die Speicherverwaltung verfügbar.

In Azure SQL-Datenbank ist die Erkennung veralteter Seiten aktiviert, und die Standardserversortierung SQL_Latin1_General_CP1_CI_AS wird immer verwendet. Außerdem sind die folgenden Standardoptionen auf ON festgelegt:

  • SNAPSHOT_ISOLATION_STATE
  • READ_COMMITTED_SNAPSHOT
  • FULL RECOVERY
  • CHECKSUM
  • QUERY_STORE
  • TDE
  • ACCELERATED_DATABASE_RECOVERY

Auftragsverwaltung

Der SQL Server-Agent stellt ein Konfigurations- und Planungssystem für SQL Server-Benutzer bereit. Mithilfe der folgenden Optionen können Sie eine äquivalente Funktionalität in Azure SQL erzielen:

SQL-Agent in SQL Managed Instance

Der Dienst „SQL-Agent“ wird in Azure SQL Managed Instance vollständig unterstützt. SQL-Agent-Aufträge werden nur für Auftragsschritte von T-SQL und SQL Server Integration Services unterstützt. Befehlsshellschritte werden nicht unterstützt. Zwar werden keine Warnungen unterstützt, jedoch werden E-Mail-Benachrichtigungen über Datenbank-E-Mails unterstützt.

Elastische Aufträge für SQL-Datenbank

Azure SQL-Datenbank bietet keine Unterstützung für SQL Server-Agent. Sie können Aufträge jedoch mit dem Agent für elastische Aufträge in Azure erstellen und planen. Bei Aufträgen handelt es sich um T-SQL-Skripts, die Sie für mehrere Datenbanken ausführen können, einschließlich parallel ausgeführter Datenbanken.

Azure Automation

Sie können den Dienst Azure Automation verwenden, um Prozesse über sogenannte Runbooks zu orchestrieren. Ein Runbook kann z. B. aus PowerShell- oder Python-Code bestehen und auf jede beliebige Azure-Ressource angewendet werden.

Eingeschränkte Konfigurationsoptionen

Die Dienste Azure SQL Managed Instance und Azure SQL-Datenbank schränken die folgenden Konfigurationen ein. Diese Einschränkungen können sich darauf auswirken, wie einige Aufgaben ausgeführt werden.

  • Server können nicht beendet oder neu gestartet werden.
  • Folgende Aktionen sind nicht möglich:
    • Sofortige Dateiinitialisierung.
    • Gesperrte Seiten im Arbeitsspeicher.
    • FILESTREAM und Verfügbarkeitsgruppen.
    • Serversortierung. In SQL Managed Instance können Sie die Serversortierung während der Bereitstellung auswählen, aber nicht ändern.
    • Startparameter.
    • Fehlerberichterstattung und Kundenfeedback.
    • ALTER SERVER CONFIGURATION.
    • ERRORLOG-Konfiguration.
  • Die Sicherheitsmaßnahme Gemischter Modus wird erzwungen.
  • Anmeldungsüberprüfung erfolgt über das SQL-Audit.
  • Serverproxykonto ist nicht anwendbar.

Azure SQL Managed Instance und SQL-Datenbank sind PaaS-Angebote (Platform as a Service). Eine Einschränkung dieser Optionen sollte die Verwendung von verwalteten SQL Server-Diensten nicht beeinträchtigen.

Speicherverwaltung

Für Azure SQL Managed Instance basiert die mögliche, maximale Speicherplatzgröße, die für die Instanz zulässig ist, auf dem ausgewählten SLO. Sie können einen maximalen Speicherplatz für die Instanz bis zu dieser möglichen Maximalgröße auswählen. Wird die maximale Speichergröße erreicht, erhalten Sie möglicherweise Nachricht 1105 für eine verwaltete Datenbank oder Nachricht 1133 für die Instanz.

Genau wie bei SQL Server basiert die Größe einer neuen Datenbank auf der Größe der Modelldatenbank. Bei der Modelldatenbank handelt es sich um eine Datendatei mit 100 MB und eine Protokolldatei mit 8 MB. Eine weitere Parallele zu SQL Server ist der Umstand, dass die Modellgröße konfigurierbar ist. Sie können die Größe und die Anzahl der Dateien ändern, aber Sie haben keine Kontrolle über ihren physischen Speicherort. Microsoft macht anhand der von Ihnen gewählten Bereitstellung Zusagen bezüglich der E/A-Leistung. Da in der Dienstebene „Universell“ zudem Remotespeicher verwendet wird, kann die Leistung durch die Größe der Datendatei und der Protokolldatei beeinflusst werden.

Für Azure SQL-Datenbank basiert die mögliche maximale Größe von Datenbankdateien auf dem ausgewählten SLO. Sie können einen Wert für Data max size (Maximale Datengröße) festlegen, der bis zu diesem möglichen Maximalwert reichen kann. Der Wert von Maxsize (Maximale Größe) von Datenbankdateien, der in der Spalte sys.database_files.max_size definiert wird, kann den der maximalen Datengröße erreichen.

Die Konzepte maximale Datengröße und maximale Größe lassen sich am folgenden Beispiel veranschaulichen: Angenommen, eine Datenbank der Dienstebene „Universell“ wird mit einer maximalen Datengröße von 1 TB bereitgestellt. Wenn Sie diese Bereitstellung durchführen, benötigt die Datenbank nur ~500 GB, nicht 1 TB. Wenn die Datenbank größer wird und sich der maximalen Datengröße nähert, wächst auch die maximale Größe der Datenbankdateien bis zum Grenzwert von 1 TB.

Das Transaktionsprotokoll wird zusätzlich zur Datengröße berechnet und ist in den Gebühren enthalten, die Sie für den Speicher zahlen. Es wird regelmäßig aufgrund automatischer Sicherungen gekürzt, da standardmäßig die beschleunigte Datenbankwiederherstellung aktiviert ist. Die maximale Größe des Protokolls beträgt stets 30 % der maximalen Datengröße. Beträgt die maximale Datengröße beispielsweise 1 TB, dann beläuft sich die maximale Größe des Transaktionsprotokolls auf 0,3 TB, und die Summe aus maximaler Datengröße und Protokollgröße entspricht 1,3 TB.

Die Azure SQL-Datenbank-Dienstebene „Hyperscale“ unterscheidet sich von den anderen Dienstebenen. Sie erstellt eine Datenbank, die eine anfängliche Größe von 40 GB hat und automatisch bis zum Grenzwert von 100 TB wächst. Das Transaktionsprotokoll verfügt über eine feste Größenbeschränkung von 1 TB.

Konnektivitätsarchitektur und -richtlinie

Im Rahmen der Konfiguration Ihres logischen Azure SQL-Datenbank-Servers oder Ihrer Instanz von Azure SQL Managed Instance müssen Sie auch die Verbindungsrouten zu Ihren Datenbanken festlegen.

Für Azure SQL Managed Instance können Sie den Verbindungstyp oder die Verbindungsrichtlinie während der Bereitstellung auswählen. In Azure SQL-Datenbank wird der Verbindungstyp nach der Bereitstellung festgelegt.

Sie können die Standardeinstellung für Proxy for connections from outside and Redirect for connections within Azure („Proxy“ für Verbindungen von außerhalb oder „Redirect“ für Azure-interne Verbindungen) beibehalten oder diese bearbeiten.

Diagram of the connection policies in Azure SQL.

Auf oberster Ebene, im Proxy-Modus, werden alle Verbindungen über ein Gateway weitergeleitet. Im Redirect-Modus kann eine direkte Verbindung zur Datenbank oder verwalteten Instanz hergestellt werden, nachdem die Verbindung über das Gateway hergestellt wurde. Das Gateway befindet sich redirect-find-db in der vorherigen Abbildung.

Die direkte Verbindung („redirect“) ermöglicht eine geringere Latenz und einen verbesserten Durchsatz. Es müssen weitere Ports geöffnet werden, um die eingehende und ausgehende Kommunikation im Bereich von 11000 bis 11999 zuzulassen.

In der nächsten Übung lernen Sie einige Befehle zum Konfigurieren von Azure SQL mit der Azure CLI kennen. Anschließend untersuchen Sie genauer, wie Sie den Proxy auswerten und Verbindungsrichtlinien umleiten.

Wissensbeurteilung

1.

Wenn die maximale Datengröße in Azure SQL-Datenbank 10 GB beträgt, wie groß kann dann ein Transaktionsprotokoll maximal sein?

2.

Welche Verbindungsrichtlinie wird für Azure SQL-Datenbank und Azure SQL Managed Instance standardmäßig verwendet?