Bereitstellen eines verwalteten Datenbankdiensts mit SQL Managed Instance mit Azure Arc-Unterstützung

Abgeschlossen

SQL Managed Instance mit Azure Arc-Unterstützung ist ein Azure SQL-Dienst, der von der SQL Server-Engine unterstützt wird und in der Infrastruktur Ihrer Wahl bereitgestellt werden kann.

Vergleich mit Azure SQL

Azure SQL ist eine Familie von Datenbankdiensten, die in der Azure-Infrastruktur bereitgestellt werden:

SQL Server auf einer Azure Virtual Machine

Mit dieser Azure SQL-Bereitstellungsoption kann ein vollständig lizenziertes SQL Server-Produkt unter der Version Ihrer Wahl unter Windows oder Linux ausgeführt werden. Der Benutzer verwaltet alles auf dem virtuellen Gastcomputer, während Microsoft die Infrastruktur verwaltet. Diese Option wird Infrastructure-as-a-Service (IaaS) genannt.

Verwaltete Azure SQL-Instanz

Diese Azure SQL-Bereitstellungsoption bietet eine vorinstallierte, versionslose SQL Server-Instanz als vollständig verwalteten Dienst. Benutzer*innen verfügen über Zugriff auf fast 100 % der Funktionen einer SQL Server Engine-Instanz. Microsoft verwaltet alle Aspekte der Plattform und Infrastruktur, die zum Hosten der Instanz erforderlich sind. Diese Option ist ein Beispiel für eine Platform as a Service (PaaS).

Azure SQL-Datenbank

Diese Azure SQL-Bereitstellungsoption bietet eine eigenständige SQL Server-Datenbank, die von einem vorinstallierten, versionslosen SQL Server als vollständig verwalteter Dienst unterstützt wird. Die Benutzer*innen verwalten die Datenbank, und Microsoft verwaltet die zugrunde liegenden SQL-Instanz, Plattform und Infrastruktur. Diese Option ist auch ein Beispiel für eine Platform as a Service (PaaS).

SQL Managed Instance mit Azure Arc-Unterstützung

SQL Managed Instance mit Azure Arc-Unterstützung ähnelt SQL Managed Instance. Die Features und Verwaltungsfunktionen sind ähnlich. SQL Managed Instance mit Azure Arc-Unterstützung soll die gleichen Platform as a Service-Funktionen (PaaS) und gleiche Benutzeroberfläche wie Azure besitzen, während die Kund*innen die Infrastruktur mithilfe der Kubernetes-Plattform auswählt und verwaltet.

Vergleich der Features

Um die Funktionen von SQL Managed Instance mit Azure Arc-Unterstützung zu verstehen, ist es wichtig, sich die Hauptfeatures, Bereitstellungsoptionen und die Integration in Azure zu betrachten.

Wichtige Funktionen

Da SQL Managed Instance mit Azure Arc-Unterstützung auf der SQL Server-Engine basiert, bietet sie Hauptinstanzfeatures, die fast zu 100 % mit SQL Server und Azure SQL Managed Instance kompatibel sind. Die Instanz enthält eine kompatible T-SQL-Sprachschnittstelle und alle Sicherheits-, Leistungs- und Verfügbarkeitsfeatures. Weitere Informationen zu Features für SQL Managed Instance mit Azure Arc-Unterstützung finden Sie in der Microsoft-Dokumentation.

Wenn Sie SQL Managed Instance mit Azure Arc-Unterstützung bereitstellen, erhalten Sie wie bei Azure SQL Managed Instance einen vorinstallierten, versionslosen SQL Server. SQL Managed Instance mit Azure Arc-Unterstützung verwendet Containerimages aus Microsoft Container Registry (MCR).

Azure SQL Managed Instance verwendet Gatewayserver, um die App von zugrunde liegenden Konnektivitätsdetails zu abstrahieren. SQL Managed Instance mit Azure Arc-Unterstützung bietet auch eine Verbindungsabstraktion mithilfe von Kubernetes LoadBalancer- oder NodePort-Diensten.

Dienstebenen

SQL Managed Instance mit Azure Arc-Unterstützung können Sie wie Azure SQL Managed Instance mit zwei Bereitstellungsoptionen bereitstellen, die als Dienstebenen bezeichnet werden:

  • Universell: Wie der Name schon sagt, ist diese Dienstebene für die meisten Workloads konzipiert. Diese Dienstebene verfügt über ein Limit für Ressourcen wie Kern und Arbeitsspeicher, verfügt jedoch über integrierte grundlegende Hochverfügbarkeit durch Kubernetes und freigegebenen Speicher. Instanzen auf der Ebene „Allgemeine Zwecke“ lassen sich Features zuordnen, die in der SQL Server Standard Edition unterstützt werden.

  • Unternehmenskritisch: Diese Dienstebene ist für Workloads konzipiert, die die beste Leistung und höchste Verfügbarkeit erfordern. Diese Dienstebene hat keine Grenzwerte für Arbeitsspeicher oder Kerne und verwendet Verfügbarkeitsgruppen, um Hochverfügbarkeit mit Leseskalierung zu ermöglichen. Instanzen auf der Ebene „Unternehmenskritisch“ sind den Features zuzuordnen, die in der SQL Server Enterprise Edition unterstützt werden.

Beide Dienstebenen werden pro Kern abgerechnet, besitzen aber auch die Möglichkeit, Azure-Hybridvorteil-Lizenzierung und eine Entwickleroption ohne Kosten zu verwenden. Die Dienstebene „Unternehmenskritisch“ befindet sich derzeit in der Vorschau, sodass keine Nutzungsgebühren anfallen. Weitere Informationen finden Sie unter Dienstebenen in der Microsoft-Dokumentation.

Azure-Integration

Wenn Sie eine Azure SQL Managed Instance bereitstellen, können Abrechnung, Nutzung, Metriken und Protokolle in Azure integriert werden. Darüber hinaus können Sie Azure-Schnittstellen wie das Portal zum Bereitstellen und Konfigurieren von Azure SQL Managed Instance verwenden.

Die Integration von SQL Managed Instance mit Azure Arc-Unterstützung in Azure hängt davon ab, welchen verbundenen Modus Sie verwenden.

Die Integration mit Azure erfolgt automatisch im direkt verbundenen Modus über Azure Arc-Agenten und den Azure Arc-Datencontroller. Azure-Schnittstellen wie das Azure-Portal können für die Bereitstellung und Konfiguration verwendet werden.

Wenn Sie den indirekt verbundenen Modus verwenden, muss zu Abrechnungszwecken eine minimale Datenmenge an Azure gesendet werden. Optional können Sie Daten wie Metriken und Protokolle exportieren. Die Bereitstellung und Konfiguration über das Azure-Portal wird im indirekt verbundenen Modus nicht unterstützt. Schnittstellen wie die Azure CLI und kubectl können jedoch zur Bereitstellung und Konfiguration verwendet werden.

Vergleich der Verwaltungsfunktionen

Da SQL Managed Instance mit Azure Arc-Unterstützung ein verwalteter Dienst ist, ist es hilfreich, die Verwaltungsfunktionen mit Azure SQL Managed Instance zu vergleichen. In den folgenden Abschnitten werden die Funktionen für versionslose Engine, Bereitstellung und Konfiguration, Überwachung, Hochverfügbarkeit, Notfallwiederherstellung und Migration verglichen.

Versionslos

Einer der Vorteile der Verwendung von Azure SQL Managed Instance besteht darin, dass für SQL Server, das Betriebssystem und jegliche Plattformsoftware kein Patch durchgeführt werden muss und sie nicht aktualisiert werden müssen. Die Engine für Azure SQL Managed Instance wird oft als versionslos bezeichnet, da es nicht wie bei SQL Server das Konzept einer Hauptversion gibt. Die Instanz wird bei Bedarf für Softwarepatches oder neue Funktionen ständig aktualisiert.

SQL Managed Instance mit Azure Arc-Unterstützung verwendet ebenfalls eine versionslose Engine, sodass Updates bei Bedarf automatisch über aktualisierte Containerimages angewendet werden können. Die Verfügbarkeit wird aufrechterhalten, indem die Leistung von Kubernetes zum Stoppen und Starten neuer Container verwendet wird.

Bereitstellung und Konfiguration

Die Bereitstellung von SQL Managed Instance mit Azure Arc-Unterstützung ist ein einfacher, deklarativer Prozess, der Azure SQL Managed Instance ähnelt. Wenn Sie SQL Managed Instance mit Azure Arc-Unterstützung bereitstellen, können Sie eine Dienstebene, Kern- und Arbeitsspeichergrenzwerte, Speicherklassenspezifikationen und SQL-Konfigurationsoptionen wie SQL Server-Agent, Sortierung und Ablaufverfolgungsflags angeben.

Im direkt verbundenen Modus kann SQL Managed Instance mit Azure Arc-Unterstützung im Azure-Portal bereitgestellt werden. Im indirekt verbundenen Modus kann SQL Managed Instance mit Azure Arc-Unterstützung bereitgestellt werden, indem die Azure CLI (mit der arcdata-Erweiterung), kubectl oder Azure Data Studio verwendet werden.

Außerhalb der SQL-Instanz kann SQL Managed Instance mit Azure Arc-Unterstützung auch im direkt verbundenen Modus mithilfe von Azure-Portal konfiguriert werden. In beiden verbundenen Modi können Optionen außerhalb der SQL-Instanz mit der Azure CLI oder kubectl konfiguriert werden.

Innerhalb der SQL-Instanz können SQL Server-Standardschnittstellen wie z. B. sp_configure, ALTER SERVER CONFIGURATION und ALTER DATABASE verwendet werden, um die Instanz und die Datenbankoptionen zu konfigurieren.

Überwachung

Wie auch Azure SQL Managed Instance können Sie SQL Managed Instance mit Azure Arc-Unterstützung mithilfe von Azure Monitor auf Schlüsselmetriken überwachen. Lokal im Cluster können Sie auch die integrierte Überwachung mit Grafana-Dashboards für Knoten oder die SQL-Instanz verwenden.

Protokolle für SQL Managed Instance mit Azure Arc-Unterstützung können im Azure-Portal über die Protokollanalyse angezeigt werden. Lokal im Cluster können Sie auch die integrierten Protokolle mit Kibana verwenden.

Da SQL Managed Instance mit Azure Arc-Unterstützung auf SQL Server basiert, stehen die Fehlerprotokoll-Standarddateien zum Anzeigen von SQL-Fehlern und Instanzdetails zur Verfügung. SQL Managed Instance mit Azure Arc-Unterstützung unterstützt auch alle verfügbaren dynamischen Verwaltungssichten (DMV) und erweiterten Ereignisse.

Hochverfügbarkeit

Einer der Vorteile des Verwendens eines verwalteten Diensts wie SQL Managed Instance mit Azure Arc-Unterstützung ist die integrierte Hochverfügbarkeit. Wie auch Azure SQL Managed Instance hängt die Methode, die zum Erreichen von Hochverfügbarkeit angewendet wird, von der Dienstebene ab.

Für die Dienstebene „Universell“ wird die integrierte Hochverfügbarkeit von Kubernetes StatefulSets mit freigegebenen Speicher verwendet.

Für die Dienstebene „Unternehmenskritisch“ wird die integrierte Hochverfügbarkeit mithilfe einer Kombination aus Kubernetes StatefulSets und Replikaten von SQL Server AlwaysOn-Verfügbarkeitsgruppen bereitgestellt. Verfügbarkeitsgruppenreplikate werden automatisch bereitgestellt und für den*die Benutzer*in konfiguriert. Wie auch bei Azure SQL Managed Instance ist ein schreibgeschütztes Replikat verfügbar, um Leseworkloads auszulagern. Systemdatenbanken wie die Master- und Modelldatenbanken sind Teil der Verfügbarkeitsgruppe. Objekte auf Systemebene wie SQL-Agent-Aufträge sind nach einem Failoverereignis automatisch verfügbar.

Sollte die Instanz innerhalb des Clusters verschoben werden, stellen Kubernetes Load Balancers und NodePorts eine Verbindungsabstraktion für die Anwendung zur Verfügung. Zusätzlich wird ein schreibgeschützter Verbindungsabstraktionspunkt für „Unternehmenskritisch“-Dienstebenen bereitgestellt.

Da Microsoft die gesamte Plattform und Infrastruktur von Azure SQL Managed Instance verwaltet, profitieren Benutzer*innen von einer Vereinbarung zum Servicelevel (SLA). Da die Kundschaft die Infrastruktur für SQL Managed Instance mit Azure Arc-Unterstützung verwalten muss, besitzt und verwaltet die Kundschaft jede SLA.

Notfallwiederherstellung

Wie auch Azure SQL Managed Instance stellt SQL Managed Instance mit Azure Arc-Unterstützung ein automatisches Sicherungssystem für Datenbanken einschließlich Zeitpunktwiederherstellung bereit. Benutzer*innen können COPY_ONLY-Sicherungen manuell ausführen und diese jederzeit wiederherstellen.

Benutzer*innen konfigurieren eine gewünschte Recovery Point Objective (RPO) und einen Aufbewahrungszeitraum. Diese Einstellungen bestimmen, wie oft Transaktionsprotokollsicherungen erstellt werden und wie lange diese Sicherungen aufbewahrt werden.

Azure SQL Managed Instance bietet integrierte Redundanz für Sicherungen mithilfe von Azure Storage. Benutzer*innen von SQL Managed Instance mit Azure Arc-Unterstützung können eine spezifische Kubernetes-Speicherklasse konfigurieren, die für SQL-Sicherungen verwendet werden soll. Sie sind jedoch für alle Redundanzanforderungen verantwortlich.

Migration

Da SQL Managed Instance mit Azure Arc-Unterstützung eine SQL Server-Engine verwendet, können vorhandene SQL Server-Versionen mithilfe der Datenbanksicherung und -wiederherstellung migriert werden. Datenbanken können direkt aus Azure Storage oder durch das Kopieren einer lokalen Sicherung in den Container für SQL Managed Instance wiederhergestellt werden.

Schnittstellen für SQL Managed Instance mit Azure Arc-Unterstützung

Die folgenden Schnittstellen können mit SQL Managed Instance mit Azure Arc-Unterstützung verwendet werden, um die Instanz zu verwalten und Anwendungen zu erstellen:

SQL Server Management Studio (SSMS)

SQL Server Management Studio (SSMS) ist vollständig mit dem Abfragen und Verwalten von SQL Managed Instance mit Azure Arc-Unterstützung kompatibel.

Azure Data Studio (ADS)

Azure Data Studio (ADS) ist ein plattformübergreifendes Tool, das geeignet ist, um SQL Managed Instance mit Azure Arc-Unterstützung abzufragen und zu verwalten. ADS unterstützt Abfragen, die T-SQL zusammen mit T-SQL-Notebooks verwenden. Außerdem können Sie die Azure Arc-Erweiterung für ADS verwenden, um Datendienstressourcen mit Azure Arc-Unterstützung wie den Datencontroller, SQL Managed Instance und PostgreSQL-Server (Vorschau) zu erstellen und zu verwalten.

SQL-Befehlszeilentools

SQL-Befehlszeilentools wie sqlcmd und bcp werden mit SQL Managed Instance mit Azure Arc-Unterstützung unterstützt.

Azure-Portal

Wenn Sie den direkt verbundenen Modus verwenden, können Sie Datendienste mit Azure Arc-Unterstützung über Azure-Portal erstellen, anzeigen und verwalten. Wenn Sie Daten im indirekt verbundenen Modus hochladen, können Sie die Details von SQL Managed Instance mit Azure Arc-Unterstützung im Azure-Portal anzeigen.

Azure CLI

Sie können die arcdata-Erweiterung mit der plattformübergreifenden Azure CLI verwenden, um Datendienste mit Azure Arc-Unterstützung wie SQL Managed Instance zu erstellen, anzuzeigen und zu verwalten. Die Azure CLI kann nur im indirekt verbundenen Modus verwendet werden, um SQL Managed Instance mit Azure Arc-Unterstützung bereitzustellen. Die Azure CLI ist die primäre Schnittstelle zum Hochladen von Abrechnungen, Metriken und Protokollen bei Verwendung des indirekt verbundenen Modus.

kubectl

Sie können die plattformübergreifende kubectl-Befehlszeilenschnittstelle (CLI) verwenden, um Datendienste mit Azure Arc-Unterstützung einschließlich SQL Managed Instance zu erstellen, anzuzeigen und zu verwalten. Das Tool „Azure CLI“ ist die bevorzugte Befehlszeilenschnittstelle für das Verwenden von SQL Managed Instance mit Azure Arc-Unterstützung. Sie können YAML-Dateien jedoch mit kubectl verwenden, um Ressourcen zu erstellen und zu verwalten. Kubectl kann nur im indirekt verbundenen Modus verwendet werden, um SQL Managed Instance mit Azure Arc-Unterstützung bereitzustellen. Es gibt einige Szenarios, wie z. B. das Bearbeiten der Standardkonfiguration der Zeitpunktwiederherstellung, das die Verwendung von kubectl erfordert.

SQL-Treiber

Sie können einen beliebigen unterstützten SQL Server-Treiber für Ihre Anwendung verwenden, um eine Verbindung herzustellen und Abfragen für SQL Managed Instance mit Azure Arc-Unterstützung auszuführen. Für beliebte Programmiersprachen wie C#, Java, Node.js, PHP, Python und Ruby ist die Treiberunterstützung enthalten.

Überprüfen Sie Ihr Wissen

1.

Welche Dienstebene bietet Hochverfügbarkeit mit Replikaten unter Verwendung von Always On-Verfügbarkeitsgruppen?

2.

Sie können Abrechnung, Metriken und Protokolle für SQL Managed Instance mit Azure Arc-Unterstützung im Azure-Portal unter Verwendung des indirekt verbundenen Modus anzeigen.

3.

Welche Optionen haben Benutzer*innen zum Konfigurieren automatisierter Sicherungen für SQL Managed Instance mit Azure Arc-Unterstützung?

4.

Welches Tool kann verwendet werden, um SQL Managed Instance mit Azure Arc-Unterstützung zu verwalten?