Zum Inhalt springen

Architektur von SQLServer Flex

SQLServer Flex ist ein vollständig verwalteter Datenbankservice auf der STACKIT Plattform, der Microsoft SQL Server-Instanzen auf dedizierten virtuellen Maschinen bereitstellt. Dieses Design stellt Isolation sicher und verhindert „Noisy-Neighbor“-Probleme. STACKIT übernimmt die Bereitstellung, den Betrieb, die Hochverfügbarkeit, das Monitoring und die Backups.

Eine Instanz wird durch ihren Typ, die Rechenleistung, den Arbeitsspeicher, den zugrunde liegenden Storage und das Netzwerk definiert. Weitere Informationen finden Sie unter Erstellen Sie Ihre erste Instanz von SQLServer Flex und stellen Sie eine Verbindung her.

Auf der Instanzebene definieren Sie, auf wie vielen Nodes Ihr SQL Server ausgeführt wird. Der Serviceplan legt fest, ob Ihre Instanz ein Single-Node-Setup oder ein Hochverfügbarkeits-Cluster ist.

  • Der Allgemeiner Zweck-Plan läuft auf einem Node und eignet sich hauptsächlich für Entwicklung und Tests.
  • Der Geschäftskritisch-Plan verwendet drei Nodes, die als Always On-Verfügbarkeits Gruppen konfiguriert sind. Dieses Setup bietet Ausfallsicherheit auf Produktionsniveau, da alle drei Nodes die Datenbank spiegeln und Failover automatisch ausgeführt wird.

Jede SQLServer Flex Instanz wird durch einen Plan definiert. Ein Plan bündelt eine bestimmte Anzahl an virtuellen CPUs, eine vorgegebene Arbeitsspeichergröße und eine kleine Systemdisk. Abhängig vom Instanztyp stehen unterschiedliche Pläne zur Verfügung.

Der ausgewählte Plan bestimmt die maximale Last, die Ihr SQL Server verarbeiten kann. Vertikale Skalierung erfolgt durch Wechsel auf einen größeren Plan. Das Ändern des Plans erfordert einen Neustart der Instanz und führt daher zu einer kurzen Downtime.

Der Datenbank-Storage wird unabhängig vom Compute-Plan bereitgestellt. Storage hat zwei architektonische Dimensionen:

  • Kapazität: Definiert, wie viele Daten gespeichert werden können. Die Kapazität kann jederzeit ohne Downtime erhöht werden.
  • Leistungsklasse: Definiert IOPS- und Durchsatzgrenzen. Höhere Klassen bieten mehr Bandbreite und geringere Latenz. Eine Leistungsklasse kann nach der Auswahl nicht herabgestuft, aber über ein Service-Request hochgestuft werden.

Standardmäßig sind 75 % des zugewiesenen Storages für Daten und 25 % für Transaktionslogs reserviert.

Jede Instanz hat einen eigenen Hostname und eine eigene IPv4-Adresse. Standardmäßig kann sie nur aus vordefinierten STACKIT Adressbereichen erreicht werden. Mit dem ACL-Parameter können Sie benutzerdefinierte einzelne IPv4-Adressen und Bereiche hinzufügen, aus denen die Instanz erreichbar sein soll.

SQLServer Flex unterstützt sowohl automatische als auch manuelle Backups. Die Plattform erstellt einmal täglich automatisch ein Backup für jede Datenbank in Ihrer Instanz. Zusätzlich können Sie jederzeit eigene Backups über das Portal oder die API auslösen.

Um ein Backup manuell zu erstellen, benötigen Sie einen Service-User mit der Berechtigung sqlserver-flex.backup.trigger. Diese Berechtigung ist in den Rollen SQLServer Flex Admin und SQLServer Flex Editor enthalten. Nach dem Auslösen wird ein Backup im Bereich „Backups“ für die entsprechende Datenbank angezeigt.

Das Wiederherstellen einer Datenbank funktioniert ähnlich. Sie benötigen die Berechtigung sqlserver-flex.restore.trigger, die ebenfalls in den Rollen SQLServer Flex Admin und SQLServer Flex Editor enthalten ist. Eine Datenbank kann nur wiederhergestellt werden, wenn sie aktuell nicht existiert. Existiert die Zieldatenbank bereits, muss sie zuerst gelöscht werden. Im Portal wählen Sie das Backup aus, das Sie wiederherstellen möchten, und starten den Restore-Prozess. Optional können Sie einen Zeitpunkt angeben, zu dem die Wiederherstellung erfolgen soll. Nach der Bestätigung wird die Datenbank aus dem Backup neu erstellt. Die wiederhergestellte Datenbank erscheint in der Datenbankübersicht, sobald der Vorgang abgeschlossen ist.