Bewährte Methoden für die Architektur für azure SQL Managed Instance

Azure SQL Managed Instance ist eine vollständig verwaltete Plattform als Dienst(PaaS)-Datenbankmodul, die nahezu vollständige Kompatibilität mit der neuesten SQL Server Enterprise Edition bietet. Es kombiniert ein Instanz-bezogenes Bereitstellungsmodell mit einem systemeigenen virtuellen Netzwerk, das umfassende Unterstützung von SQL Server-Features zusammen mit den betrieblichen Vorteilen einer verwalteten Plattform bietet. Sql Managed Instance zielt auf SQL Server-Workloads ab, die auf Instanzenbereichsfunktionen wie datenbankübergreifende Abfragen, SQL Server-Agent, Service Broker und CLR-Integration (Common Language Runtime) basieren.

In diesem Artikel wird davon ausgegangen, dass Sie als Architekt die Entscheidungsstruktur des Datenspeichers überprüft und azure SQL Managed Instance als Datenbankmodul für Ihre Workload ausgewählt haben.

Die Anleitung in diesem Artikel enthält Architekturempfehlungen, die den Grundsätzen der Well-Architected Rahmenpfeilerzugeordnet sind.

Technologieumfang

Diese Überprüfung konzentriert sich auf die miteinander verbundenen Entscheidungen für die folgenden Azure-Ressourcen:

  • Verwaltete Azure SQL-Instanz

Hinweis

Dieser Dienstleitfaden baut auf Anleitungen im Azure SQL-Datenbankdiensthandbuch auf. Sql Managed Instance teilt das SQL Server-Datenbankmodul mit SQL-Datenbank, verwendet jedoch ein Instanz-bezogenes Bereitstellungsmodell mit unterschiedlicher Architektur, Netzwerk- und Featurefunktionen. Lesen Sie den SQL-Datenbankleitfaden für Leitlinien zur gemeinsamen Nutzung von Plattformen. Dieser Leitfaden konzentriert sich auf SQL Managed Instance-spezifische Funktionen und Architekturaspekte.

Zuverlässigkeit

Der Zweck der Zuverlässigkeitssäule besteht darin, kontinuierliche Funktionsfähigkeit bereitzustellen, indem genügend Widerstandsfähigkeit aufgebaut wird und die Fähigkeit zur schnellen Wiederherstellung von Fehlern sichergestellt wird.

Zuverlässigkeitsdesignprinzipien bieten eine umfassende Entwurfsstrategie, die für einzelne Komponenten, Systemabläufe und das gesamte System angewendet wird.

Checkliste für die Arbeitsauslastungsgestaltung

Starten Sie Ihre Designstrategie basierend auf der Designüberprüfung-Checkliste für Zuverlässigkeit. Bestimmen Sie ihre Relevanz für Ihre geschäftlichen Anforderungen, und berücksichtigen Sie dabei die Art Ihrer Anwendung und die Kritischität ihrer Komponenten. Erweitern Sie die Strategie, um bei Bedarf weitere Ansätze einzuschließen.

  • Überprüfen Sie SQL Managed Instance-Kontingente, Grenzwerte und bekannte Probleme: Die verwaltete SQL-Instanz erzwingt regionale Bereitstellungsgrenzwerte, Datenbankanzahlen und Speicherobergrenzen, die je nach Abonnementtyp und Ebene variieren. Bereitstellungen höherer Ebene verbrauchen mehr vCore-Kontingent, wodurch die regionale Kapazitätsplanung eingeschränkt wird.

    • Berücksichtigen Sie bekannte Probleme , die sich auf Failovergruppen, das Sicherungsverhalten während der Verwendung von Replikationslinks und Migrationseinschränkungen aus älteren SQL Server-Versionen auswirken. Überprüfen Sie diese Einschränkungen während des anfänglichen Entwurfs, um Einschränkungen zu vermeiden, die Sie später nicht einfach beheben können.
  • Potenzielle Fehler antizipieren: Verwenden Sie die Fehlermodusanalyse, um Fehler zu antizipieren und Entschärfungen für die verwaltete SQL-Instanz zu planen.

    Failure Milderung
    Verwaltungsvorgänge dauern Stunden und blockieren andere Vorgänge in der Instanz oder im Subnetz Planen Sie Skalierungsvorgänge während der Wartungsfenster. Vermeiden Sie gleichzeitige Verwaltungsvorgänge und berücksichtigen Sie mehrstündige Dauer in Wiederherstellungsplänen.
    Der anfängliche Aufbau einer Failover-Gruppe kann aufgrund langsamer Netzwerkverbindungen oder großer Datenbankgrößen zeitlich überschreiten. Verwenden Sie das globale virtuelle Netzwerkpeering für die höchste Bandbreite. Überwachen sie den Startstatus und planen Sie die Dauer basierend auf datenbankgröße und Linkgeschwindigkeit.
    Verwaltungsvorgänge in einer Instanz in einem Subnetz können Vorgänge auf anderen Instanzen blockieren oder verzögern, die denselben virtuellen Cluster gemeinsam nutzen Isolieren Sie Produktionsinstanzen in dedizierten Subnetzen, um Beeinträchtigungen durch Entwicklungs- oder Testinstanzvorgänge zu verhindern.
  • Erstellen Sie Redundanz durch Zonenverteilung und geeignete Ebenenauswahl: Verwenden Sie Zonenredundanz und geeignete Ebenenauswahl, um einzelne Fehlerpunkte innerhalb eines Bereichs zu beseitigen.

    • Aktivieren Sie Redundanz auf Zonenebene, um Replikate über Verfügbarkeitszonen hinweg zu verteilen. Architektur und Berechtigung unterscheiden sich je nach Ebene und Bereitstellungskonfiguration.

    • Bewerten Sie Redundanzeffekte auf Die Leistung und abhängige Dienste, einschließlich der zonenübergreifenden Latenz bei OLTP-Workloads (Online Transaction Processing) und der Ausrichtung des Sicherungsspeichers mit zonenredundanten Bereitstellungen.

  • Planen Sie die Skalierung um die Vorlaufzeiten von Verwaltungsvorgängen: Verwaltungsvorgänge dauern Stunden anstelle von Minuten, was einen anderen Ansatz für die Skalierungsstrategie und die Kapazitätsplanung erfordert.

    • Erwarten Sie längere Zeitpläne für die Erstellung des ersten Subnetzes, da dies aufgrund der Bereitstellung virtueller Cluster erheblich länger dauert. Gleichzeitige Vorgänge werden sequenziell innerhalb eines Subnetzes in die Warteschlange gestellt.

    • Subnetzgrößen mit zukünftiger Skalierungsreserve. Untergeordnete Subnetze beschränken das Wachstum, und gemischte Hardwaregenerationen erstellen separate virtuelle Cluster, die zusätzliche IP-Adressen verbrauchen.

    • Stellen Sie Standbyinstanzen bereit, wenn Sie strikte Skalierungsantwortzeiten benötigen. Isolieren Sie Produktionsworkloads in dedizierten Subnetzen, um die Blockierung von instanzenübergreifenden Vorgängen zu verhindern.

  • Konfigurieren Sie die Überwachung und Alarmierung für den Integritäts- und Replikationsstatus: Priorisieren Sie Warnungen zu den Metriken, die Zuverlässigkeitsrisiken frühzeitig signalisieren. Verfolgen Sie die Verfügbarkeit von Instanzen über Ressourcenintegritätsereignisse, überwachen Sie die Statusübergänge des Verwaltungsvorgangs über ein Aktivitätsprotokoll und überprüfen Sie den automatischen Abschluss der Sicherung regelmäßig, da Sicherungsfehler im Hintergrund auftreten können, wenn Speicherfüllungen auftreten oder DNS-Probleme auftreten. Für Instanzen, die mit Failover-Gruppen konfiguriert sind, werden Warnungen bei Replikationsverzögerungen im Hinblick auf die RPO-Schwellenwerte (Recovery Point Objective) ausgelöst, um Abweichungen bei der Georeplikation zu erkennen, bevor sie zu einer inakzeptablen Gefährdung durch Datenverluste führen.

    Failovergruppenstatusübergänge zeigen Störungen auf, bevor sie zu Wiederherstellungslücken eskalieren.

  • Implementieren sie Verbindungsresilienz und Selbsterhaltungstechniken: Erstellen Sie resilienz auf Anwendungsebene, um vorübergehende Fehler aus geplanten Wartungs-, Failover- und DNS-Rollenwechselereignissen zu absorbieren.

    • Fügen Sie eine Wiederholungslogik mit exponentiellem Backoff hinzu, die während des Geofailovers die tatsächlichen Ausfalldauern und erweiterten DNS-Updatefenster berücksichtigt.

    • Bereiten Sie sich auf eine Beeinträchtigung der Kaltcacheleistung nach einem General Purpose-Tier-Failover vor, bei dem die Instanz auf einem neuen Knoten ohne warme Replikate neu gestartet wird.

    • Planen Sie Wartungsfenster in Zeiten mit geringem Verkehr. Um gleichzeitige Wartungen für beide Mitglieder zu vermeiden, planen Sie die Wartungsfenster über die Failover-Gruppenpaare hinweg zeitlich versetzt.

  • Entwerfen Sie die Notfallwiederherstellungsstrategie mithilfe von Failovergruppen: Failovergruppen replizieren alle Benutzerdatenbanken als Einheit in eine geo-sekundäre Instanz in einer anderen Region, aber Systemdatenbanken sind nicht enthalten. Sie müssen Anmeldungen, Anmeldeinformationen, SQL Server-Agent-Aufträge und instanzbezogene Einstellungen unabhängig voneinander synchronisieren, um Authentifizierungsfehler und Betriebslücken nach einem Failover zu verhindern.

    Verwenden Sie in Verbindungsstrings Failovergruppen-Listener-Endpunkte, um Änderungen während des Failovers zu vermeiden. Synchronisieren Sie die Aufbewahrungsrichtlinien zwischen den Mitgliedern, da Konfigurationsänderungen nicht repliziert werden. Für Hybridumgebungen bietet der Link "Verwaltete Instanz" einen alternativen Replikationspfad.

Konfigurationsempfehlungen

Empfehlung Nutzen
Aktivieren Sie Zonenredundanz für SQL Managed Instance-Produktionsarbeitslasten, die Schutz vor Rechenzentrumsfehlern erfordern. Sie können zonenredundanz während der Instanzerstellung konfigurieren oder vorhandene Instanzen konvertieren. Überprüfen Sie die Berechtigungsstufe, bevor Sie fortfahren. Erreicht höhere Dienstgütevereinbarungen (SLAs) als lokal redundante Bereitstellungen und übersteht Ausfälle auf Ebene des Rechenzentrums ohne Änderungen der Anwendungsverbindungsparameter.

Beseitigt die Verfügbarkeitszone als einzelner Fehlerpunkt, was bedeutet, dass geplante Wartung in einer Zone kein workload sichtbares Failover erzwingt.
Größen Sie das delegierte Subnetz so, dass die aktuellen Instanzenanforderungen und zukünftiger Skalierungsspielraum berücksichtigt werden. Verwenden Sie den Subnetzgrößesrechner , um den minimalen IP-Adressraum für die erwartete Instanzenanzahl zwischen Hardware- und Ebenenkonfigurationen zu ermitteln.

Fügen Sie Pufferkapazität über die minimalen Anforderungen hinaus hinzu, da für Subnetzgrößenänderungen komplexe Migrationsvorgänge erforderlich sind. Berücksichtigen Sie virtuelle Clustergrenzen, bei denen unterschiedliche Hardwaregenerationen und Tierkombinationen zusätzliche Subnetz-IP-Adressen verbrauchen.
Eine angemessene Subnetzgröße verhindert Skalierungsengpässe, die eine Subnetzmigration erfordern. Überprovisionierter IP-Adressraum kostet wenig und bietet Flexibilität für zukünftiges Wachstum der Instanzen und Stufenänderungen.
Richten Sie Azure Monitor-Warnungen für kritische Zuverlässigkeitsmetriken ein, z. B. Verfügbarkeit der Instanzen, Replikationsverzögerung und Sicherungsintegrität. Erstellen Sie Warnregeln, die ausgelöst werden, bevor die Replikationsverzögerung die RPO-Schwellenwerte überschreitet. Verfolgen Sie den Speicherverbrauch, um Sicherungsfehler zu verhindern. Mit proaktiver Warnung können Sie schnell auf Replikationsabweichungs- und Instanzintegritätsprobleme reagieren, bevor sie zu Datenverlusten oder erweiterten Ausfällen eskalieren.

Die frühzeitige Entdeckung von Sicherungsfehlern verhindert Lücken in der Wiederherstellungspunkt-Abdeckung, die bis zum Bedarf einer Wiederherstellung unbemerkt bleiben könnten.
Fügen Sie wiederholungslogik mit exponentiellem Backoff hinzu, die das Verhalten der erneuten Verbindung von SQL Managed Instance während Failoverereignissen darstellt. Erweitern Sie die Wiederholungstimeouts für Szenarien mit Failover-Listener-Gruppen, um das DNS-Rollenwechselfenster zu berücksichtigen. Die Wiederholungslogik nimmt vorübergehende Verbindungsunterbrechungen von Wartungs- und Failoverereignissen auf, wodurch Anwendungsfehler nicht zu Benutzern gelangen. Anwendungen werden automatisch aus kurzen Ausfällen ohne manuelle Eingriffe wiederhergestellt.
Richten Sie Wartungsfenster ein, um geplante Failoverereignisse außerhalb des Standardzeitplans zu verschieben. Wählen Sie Fenster aus, die an Ihrer niedrigsten Workloadaktivität ausgerichtet sind.

Weisen Sie bei Failovergruppenpaaren primäre und sekundäre Instanzen unterschiedliche Wartungsfensterzeitpläne zu, um gleichzeitige Wartung zu verhindern.
Wartungsfenster verschieben geplante Failover-Ereignisse auf vorhersehbare, verkehrsarme Zeiträume, um die Auswirkungen vorübergehender Verbindungsunterbrechungen auf Benutzer zu reduzieren.

Gestaffelte Zeitpläne in Failover-Gruppeninstanzen verhindern die gleichzeitige Wartung der beiden Mitglieder.
Richten Sie Instanz-bezogene Failovergruppen mit einer vom Kunden verwalteten Failoverrichtlinie für die regionsübergreifende Notfallwiederherstellung ein.

Erstellen Sie eine geo-sekundäre Instanz in einer gekoppelten Region, die über eine übereinstimmende Konfiguration und dieselbe DNS-Zone verfügt. Stellen Sie die Konnektivität zwischen Subnetzen über globales virtuelles Netzwerk-Peering für eine Replikation mit niedrigster Latenz her.
Failovergruppen bieten eine automatisierte Georeplikation aller Benutzerdatenbanken und leiten Verbindungen über DNS-basierte Endpunkte weiter. Dieser Ansatz unterstützt die regionsübergreifende Wiederherstellung ohne Anwendungsverbindungszeichenfolgenänderungen.

Die von Ihnen verwaltete Failover-Richtlinie gibt Ihnen die Kontrolle über Ihre Wiederherstellungsentscheidungen und die Zeitplanung.
Richten Sie einen georedundanten Sicherungsspeicher ein, um Sicherungskopien in einer gekoppelten Region zu verwalten. Verwenden Sie die Geo-Wiederherstellung als Fallback-Wiederherstellungsoption. Richten Sie eine langfristige Aufbewahrung ein, die georedundanten Speicher (GRS) für Complianceszenarien verwendet, die eine erweiterte Verfügbarkeit erfordern. Mit georedundanten Sicherungsspeichern können Sie während eines regionalen Notfalls, auch ohne Failovergruppen, eine beliebige Azure-Region wiederherstellen. Dieser Ansatz bietet einen unabhängigen Wiederherstellungspfad, der nicht von der Integrität der Echtzeit-Replikation abhängt.
Berücksichtigen Sie die Bereitstellungszeit der Instanz bei der Berechnung des Wiederherstellungszeitziels (RTO) für Point-in-Time-Restore (PITR), da PITR eine neue Instanz wiederherstellt, anstatt eine vorhandene.

Führen Sie Testwiederherstellungen aus, um die End-to-End-Wiederherstellungsdauer zu messen, einschließlich der Instanzbereitstellung. Testen Sie sowohl Szenarien für "First-in-Subnet" als auch für vorhandene Subnetze, um die Unterschiede in den Wiederherstellungszeiten zu verstehen.
Genaue RTO-Berechnungen, die beispielsweise die Bereitstellungszeit berücksichtigen, verhindern, dass Sie die Wiederherstellungsdauer bei tatsächlichen Vorfällen unterschätzen. Durch überprüfte Wiederherstellungszeiten können Sie darauf vertrauen, dass PITR Ihre Anforderungen an die Workloadwiederherstellung erfüllt.

Sicherheit

Der Zweck der Säule "Sicherheit" besteht darin , vertraulichkeits-, Integritäts- und Verfügbarkeitsgarantien für die Arbeitsauslastung bereitzustellen.

Die Prinzipien des Sicherheitsdesigns stellen eine allgemeine Entwurfsstrategie für die Erreichung dieser Ziele dar, indem Ansätze auf das technische Design von SQL Managed Instance angewendet werden.

Checkliste für die Arbeitsauslastungsgestaltung

Starten Sie Ihre Designstrategie basierend auf der -Designüberprüfungsprüfliste für Sicherheit und identifizieren Sie Sicherheitsrisiken und Kontrollen, um die Sicherheitslage zu verbessern. Erweitern Sie die Strategie, um bei Bedarf weitere Ansätze einzuschließen.

  • Einrichten einer Sicherheitsbasislinie: Beginnen Sie mit der Azure-Sicherheitsbasislinie für Azure SQL. Konzentrieren Sie sich auf die Steuerelemente, die sich am meisten auf das Instanzbereichsmodell auswirken, einschließlich benutzerdefinierter Rollen auf Serverebene für die administrative Segmentierung, der Subnetzdelegierung des virtuellen Netzwerks für die Netzwerkisolation, der TDE-Schlüsselverwaltung (Transparent Data Encryption) auf Instanzebene und der Operatorüberwachung für den Microsoft-Supportzugriff.

    Sql Managed Instance teilt die Azure SQL Security Foundation, führt jedoch instanzspezifische Steuerelemente ein, z. B. Common Language Runtime (CLR)-Assemblys, verknüpfte Server und SQL-Agent, die die Angriffsfläche über die verfügbaren SQL-Datenbanken hinaus erweitern. Priorisieren Sie diese Steuerelemente in Ihrer Basisplanüberprüfung.

  • Wenden Sie Segmentierungsstrategien mithilfe von identitätsbasierten und netzwerkbasierten Steuerelementen an: Sql Managed Instance unterstützt die identitätsbasierte Segmentierung über Rollen auf Serverebene und Datenbankebene, die die Trennung von Aufgaben erzwingen. Benutzerdefinierte Rollen auf Serverebene bieten detaillierte administrative Segmentierung, die in sql-Datenbank nicht verfügbar ist. Durch das Trennen des Steuerungsebenenzugriffs vom Datenebenenzugriff wird die Instanzverwaltung von Datenvorgängen getrennt.

    Die Segmentierung auf Netzwerkebene basiert auf der Bereitstellung von Instanzen in dedizierten delegierten Subnetzen, in denen Netzwerksicherheitsgruppen (NSGs) Datenverkehrsflüsse steuern. Vermeiden Sie die erneute Wiederverwendung von Routingtabellen und NSGs über Subnetze hinweg, die an virtuellem Netzwerk-Peering mit SQL Managed Instance-Subnetzen teilnehmen.

    Instanzpools teilen zugrunde liegende VM-Ressourcen, die die Garantien der Mandantenisolation beeinflussen, wenn Sie Instanzen konsolidieren. Bewerten Sie, ob Workloads mit unterschiedlichen Sicherheitsanforderungen separate Instanzen benötigen.

  • Integration in Microsoft Entra ID für Identitäts- und Zugriffsverwaltung: Sql Managed Instance unterstützt die Microsoft Entra-Authentifizierung über mehrere Methoden. Die Unterstützung zentralisiert die Identitätsverwaltung und unterstützt Richtlinien für bedingten Zugriff. Die verwaltete SQL-Instanz unterstützt auch die Windows-Authentifizierung über Kerberos für Microsoft Entra-Prinzipale, eine Funktion, die in der SQL-Datenbank nicht verfügbar ist. Sie können ältere Anwendungen ohne Codeänderungen anheben und verschieben.

    Planen Sie die Identitätsarchitektur, indem Sie administrative, Operator- und Workloadidentitäten katalogisieren. Weisen Sie Datenbankrollen nach dem Prinzip des geringsten Privilegs zu. Verwenden Sie vom Benutzer zugewiesene verwaltete Identitäten als Instanzidentität für die Azure-Dienstintegration.

  • Implementieren der Netzwerkisolation mithilfe von Azure Virtual Network: Die verwaltete SQL-Instanz wird in einem dedizierten subnetz für virtuelle Netzwerke bereitgestellt, das standardmäßig eine Isolation auf Netzwerkebene sowie Konnektivitäts- und Sicherheitsentscheidungen ermöglicht.

    • Lassen Sie den öffentlichen Endpunkt deaktiviert, da er eine weitere Angriffsfläche erstellt, und Failovergruppen und eine Verknüpfung mit verwalteten Instanzen unterstützen nur die lokale Netzwerkkonnektivität des virtuellen Netzwerks.

    • Delegieren Sie das Subnetz der verwalteten Instanz ausschließlich an den verwalteten Instanztyp, und wenden Sie dienstgestützte NSG-Regeln für die Datenverkehrskontrolle an.

    • Weisen Sie jedem SQL Managed Instance-Subnetz eindeutige Routentabellen und NSGs für virtuelle Netzwerk-Peering zu. Das erneute Verwenden von freigegebenen Tabellen führt zu Verbindungsfehlern.

  • Konfigurieren Sie die Datenverschlüsselung für den Schutz im Ruhezustand und während der Übertragung: Die verwaltete SQL-Instanz stellt mehrere Verschlüsselungsebenen bereit, die Daten im Ruhezustand, während der Übertragung und auf Anwendungsebene abdecken. Jede Ebene erfordert unterschiedliche Konfigurationsentscheidungen.

    Ebene Geltungsbereich Wichtige Überlegungen
    TDE Auf Instanzebene erben alle Datenbanken denselben Schlüssel. Die Rotation wirkt sich auf alle Datenbanken gleichzeitig aus, und Sie müssen frühere Schlüsselversionen für die Wiederherstellung einer Sicherung beibehalten.
    Transportverschlüsselung (TLS) Verbindungen im Transit Erzwingen Sie aktuelle TLS-Standards (Transport Layer Security) und strenge Verbindungsmodi, um Protokoll-Downgrade-Angriffe zu verhindern.
    Immer Verschlüsselt Auf der Spaltenebene bleiben die Schlüssel außerhalb der Datenbank-Engine. Schützt Daten vor privilegierten Benutzern. Sichere Enklaven unterstützen serverseitige Vorgänge auf verschlüsselten Daten.
  • Harden Instance-Konfigurationen zur Verringerung der Angriffsfläche: Die verwaltete SQL-Instanz macht Funktionen außerhalb der SQL-Datenbank verfügbar, die die Angriffsfläche erweitern. Diese Funktionen erfordern zielgerichtete Absicherung von Entscheidungen zusammen mit Governance-Kontrollen.

    • Die Updaterichtlinie steuert den Sicherheitspatch-Rhythmus. Sie stehen vor einem Kompromiss zwischen sofortiger Anwendung und Verwalteter Instanz-Verknüpfungskompatibilität.

    • SQL-Agent, verknüpfte Server, CLR-Assemblys und xp_cmdshell erfordern jede Risikobewertung. Deaktivieren Sie nicht verwendete Funktionen, und erzwingen Sie aktuelle TLS-Standards.

    • Verwenden Sie die rollenbasierte Zugriffssteuerung (Azure RBAC), um Verwaltungsvorgänge einzuschränken, Ressourcensperren anzuwenden und Sicherheitskonfigurationen über Azure-Richtlinie zu erzwingen.

  • Schützen Von Anmeldeinformationen und Verschlüsselungsschlüsseln mithilfe von verwalteten Identitäten und Azure Key Vault: Verwaltete Identitäten beseitigen gespeicherte Anmeldeinformationen für die Konnektivität zwischen Anwendungen und Instanzen sowie dienstübergreifende Integrationen. Vom Benutzer zugewiesene verwaltete Identitäten entfernen geheime Verbindungszeichenfolgenschlüssel und vereinfachen die Rotationsverwaltung.

    Key Vault bietet eine einheitliche Lebenszyklusverwaltung für TDE-Schutzkomponenten und Always Encrypted-Spaltenmasterschlüssel. Die Schlüsselzugriffsüberwachung erkennt ungewöhnliche Verwendungsmuster, die auf Kompromittierung hinweisen können.

    Die verwaltete SQL-Instanz verwendet Anmeldeinformationen-Objekte, um Audit-Protokolle in den Blob-Speicher zu schreiben. Verlängern Sie diese Zertifikate, bevor sie ablaufen, um die Überwachungskontinuität aufrechtzuerhalten. Planen Sie die Übergabeverfahren für Anmeldeinformationen für Identitäten, die die SQL-Authentifizierung während der Migration verwenden.

  • Konfigurieren der Sicherheitsüberwachung und Überwachungsprotokollierung: Die Prüfung von SQL Managed Instance unterstützt Azure Blob Storage, Azure Event Hubs und Azure Monitor-Protokolle als Ziele für die Prüfung. Die Operatorüberwachung bietet Einblicke in Microsoft-Supportvorgänge in der Instanz. Die Integrität des Überwachungsprotokolls benötigt Manipulationssicherheit zur Einhaltung der Compliance.

    Die Log Analytics-Integration unterstützt erweiterte Abfrage und Korrelation von Sicherheitsereignissen, während Event Hubs die Integration externer Sicherheitsinformationen und Ereignisverwaltung (SIEM) unterstützt. Microsoft Defender für SQL fügt Bedrohungsschutz hinzu, einschließlich Warnungen zum Einfügen, Brute-Force und ungewöhnlichen Zugriffsmustern.

    Verfolgen Sie Authentifizierungsereignisse, Abfrageausführung und Berechtigungsänderungen mithilfe von Überwachungsspezifikationen, um Eskalationsversuche und unbefugten Zugriff zu erkennen.

Konfigurationsempfehlungen

Empfehlung Nutzen
Erstellen Sie benutzerdefinierte Rollen auf Serverebene , die Berechtigungen für bestimmte Administrative Funktionen festlegen, anstatt allgemeine Berechtigungen zu gewähren. Vermeiden Sie das Zuweisen integrierter db_owner- oder Serveradministratorkonten zu Anwendungsworkloads. Verringert das Risiko einer Berechtigungseskalation, indem jede administrative Rolle auf die erforderlichen Mindestberechtigungen beschränkt wird. Mit benutzerdefinierten Rollen auf Serverebene können Sie eine differenzierte Trennung von Aufgaben erzwingen, die integrierte Rollen nicht bereitstellen.
Aktivieren Sie die microsoft Entra-only-Authentifizierung , und deaktivieren Sie die SQL-basierte Authentifizierung für die verwaltete Instanz. Bevor Sie wechseln, migrieren Sie SQL Agent-Jobs, verknüpfte Server und Überwachungsanmeldeinformationen, die von SQL-Anmeldeinformationen abhängen, auf Microsoft Entra-Prinzipale. Entfernt anmeldeinformationsbasierte Angriffsvektoren, indem die SQL-Authentifizierung entfernt und moderne Identitätsprotokolle erzwungen werden, die die mehrstufige Authentifizierung unterstützen.
Konfigurieren Sie eine vom Benutzer zugewiesene verwaltete Identität als Instanzidentität für die Azure-Dienstintegration, einschließlich TDE, die vom Kunden verwaltete Schlüssel verwendet, die Überwachung für den Speicher und die dienstübergreifende Authentifizierung. Entfernt den Aufwand für die Verwaltung von Anmeldeinformationen für die Azure-Dienstintegration und reduziert das Risiko von offengelegten Geheimschlüsseln in der Konfiguration.
Halten Sie den öffentlichen Endpunkt für Produktionsinstanzen ausgeschaltet. Wenn Sie einen öffentlichen Zugriff benötigen, beschränken Sie sie mithilfe von NSG-Regeln auf bestimmte IP-Adressbereiche. Verwenden Sie die lokale Konnektivität des virtuellen Netzwerks für den Standardzugriff und private Endpunkte für virtuelle Netzwerke in szenarienübergreifenden Szenarien. Verkleinert die Netzwerkangriffsfläche auf autorisierte virtuelle Netzwerkpfade, wodurch Complianceüberwachungen vereinfacht und der Strahlradius kompromittierter Anmeldeinformationen reduziert wird.
Konfigurieren Sie NSG-Regeln im Subnetz der verwalteten SQL-Instanz , um nur den erforderlichen eingehenden Datenverkehr aus autorisierten Quellen zuzulassen. Wenden Sie einen Standard-Deny-Ansatz an, während dienstunterstützte obligatorische Regeln für Instanzoperationen beibehalten werden. Verhindert die laterale Bewegung von kompromittierten Ressourcen in benachbarten Subnetzen, wodurch der Ausbreitungsbereich bei einem Sicherheitsvorfall auf Netzwerkebene begrenzt wird.
Richten Sie TDE mithilfe von vom Kunden verwalteten Schlüsseln in einem Schlüsseltresor ein, der mit aktiviertem Schutz für Weichlöschen (Soft-Delete) und Schutz vor Entlöschung ausgestattet ist. Verwenden Sie eine vom Benutzer zugewiesene verwaltete Identität für den Schlüsselzugriff. Aktivieren Sie die automatische Drehung und reservieren Sie einen Schlüsseltresor für SQL Managed Instance-Ressourcen. Behält die vollständige Kontrolle über den Lebenszyklus von Verschlüsselungsschlüsseln, einschließlich Rotation und Widerruf, und erfüllt die Compliance-Anforderungen an die Schlüsselverwaltung der Organisation.
Verwenden Sie Microsoft Defender für SQL , um die Sicherheitsrisikobewertung und den erweiterten Bedrohungsschutz zu aktivieren. Richten Sie Warnungen für Erkennungsereignisse ein und leiten Sie sie über Microsoft Defender für Cloud an Sicherheitsvorgänge weiter. Erkennt Sicherheitsfehler und aktive Bedrohungen durch automatisierte Scan- und Verhaltensanalysen, die in Ihre Workflows für Sicherheitsvorgänge integriert werden.
Deaktivieren Sie den SQL-Agent , wenn die Workload ihn nicht verwendet. Wenn sie aktiv ist, vermeiden Sie das Zuweisen von Aufträgen zu hochberechtigten Konten und konfigurieren Sie Proxy-Konten für Schritte, die einen bestimmten Anmeldedatenzugriff erfordern. Verhindert Berechtigungseskalationen über den SQL-Agent, indem die Jobbesitzrechte und der Zugriff auf Anmeldedaten eingeschränkt werden, wodurch die SQL Managed Instance-spezifische Angriffsfläche minimiert wird.
Speichern Sie TDE-Schutzschlüssel und Always Encrypted-Spaltenmasterschlüssel in einem Schlüsseltresor, der Schutz vor vorläufigem Löschen (Soft-Delete) und Schutz vor endgültigem Löschen bietet. Aktivieren Sie die Überwachungsprotokollierung für Key Vault, und verwenden Sie einen dedizierten Tresor für die verwaltete SQL-Instanz, um Leistungsbeschränkungen zu vermeiden. Zentralisiert die Verschlüsselungsschlüsselverwaltung mit einem vollständigen Überwachungspfad und schützt vor versehentlichem Schlüsselverlust, der den Datenbankzugriff verhindern könnte.
Aktivieren Sie die Serverüberwachung und richten Sie Ereignisgruppen ein, um Anmeldeaktivitäten und abgeschlossene Abfragen zu erfassen. Konfigurieren Sie duale Ziele. Verwenden Sie Blob Storage für die langfristige Aufbewahrung und Azure Monitor-Protokolle für die Echtzeitanalyse.

Erstellen Sie ein separates Server-Audit, das das Operator-Auditing aktiviert hat, um Microsoft-Supportvorgänge nachzuverfolgen. Aktivieren Sie die unveränderbare Speicherung für Überwachungs-Blob-Container, um die Aufzeichnungsmanipulation zu verhindern.
Verwaltet einen vollständigen Überwachungspfad der Datenbankaktivitäten für Complianceanforderungen, Vorfalluntersuchung und Anomalieerkennung.
Konfigurieren Sie Diagnoseeinstellungen , um Sicherheitsüberwachungsereignisse an einen Log Analytics-Arbeitsbereich zu senden. Verwenden Sie Kusto Query Language (KQL)-Abfragen zur Anomalieerkennung und zum Einrichten von Warnungen zu verdächtigen Aktivitätsmustern wie wiederholten fehlgeschlagenen Anmeldungen. Hiermit können Sie Sicherheitsereignisse in Echtzeit analysieren und über Workloads hinweg korrelieren, indem Sie die zentralisierte Protokollaggregation und die automatisierte Bedrohungserkennung verwenden.

Kostenoptimierung

Die Kostenoptimierung konzentriert sich auf das Erkennen von Ausgabenmustern, das Priorisieren von Investitionen in kritische Bereiche und die Optimierung in anderen Bereichen, um das Budget der Organisation zu erfüllen, während die Geschäftsanforderungen erfüllt werden.

Die Designprinzipien für die Kostenoptimierung bieten eine allgemeine Entwurfsstrategie, um diese Ziele zu erreichen und bei Bedarf kompromisse im technischen Design im Zusammenhang mit SQL Managed Instance und seiner Umgebung zu treffen.

Checkliste für die Arbeitsauslastungsgestaltung

Erstellen Sie Ihre Entwurfsstrategie basierend auf der Checkliste zur Entwurfsüberprüfung in Bezug auf „Kostenoptimierung“ für Investitionen. Optimieren Sie das Design so, dass die Arbeitsbelastung mit dem Budget übereinstimmt, das dafür zugewiesen ist. Ihr Design sollte die richtigen Azure-Funktionen verwenden, Investitionen überwachen und Möglichkeiten zur Optimierung im Laufe der Zeit finden.

  • Erstellen und pflegen Sie ein Kostenmodell, das das bereitgestellte Abrechnungsmodell berücksichtigt: Die SQL-Managed Instance verwendet ein stets bereitgestelltes Berechnungsmodell, bei dem vCores unabhängig von der Auslastung kontinuierlich abgerechnet werden. Ihr Kostenmodell sollte die primären Kostentreiber berücksichtigen, einschließlich Auswahl der Dienstebene, vCore-Anzahl, Hardwaregenerierung und Speicherzuordnung basierend auf der maximalen konfigurierten Größe.

    Die instanzgebundene Abrechnung bedeutet, dass alle Datenbanken sich die Computekosten teilen, und dies erfordert eine klare Zuordnung für Rückverrechnung und Showback. Umfassen Lizenzierungs- und Verpflichtungsoptionen wie Azure Hybrid Benefit, reservierte Kapazität und lizenzfreie Standby-Replikate. Jeder Hebel reduziert kosten durch einen anderen Mechanismus.

    Regionale vCore-Kontingenteinschränkungen können Multisubscription-Architekturen erzwingen, was die Kostennachverfolgung und -governance komplexer macht.

  • Überwachen und analysieren Sie die Kosten, um Optimierungsmöglichkeiten zu identifizieren: Im immer bereitgestellten Modell entstehen im Leerlauf weiterhin Gebühren. Verwenden Sie Microsoft Cost Management, um Berechnungs-, Speicher-, Sicherungs- und Lizenzierungskosten pro Instanz nachzuverfolgen. Vergleichen Sie den tatsächlichen Speicherverbrauch mit dem reservierten Maximum, um Abrechnungsabfälle zu identifizieren.

    Überwachen Sie die Ressourcenauslastung, um die vCore-Überverteilung zu identifizieren und zu überprüfen, ob die aktuelle Dienststufe weiterhin gerechtfertigt ist. Erstellen Sie Budget-, Prognose- und Anomaliewarnungen, um unerwartete Kostensteigerungen durch Skalierungs- oder Konfigurationsänderungen zu erkennen.

  • Optimieren Sie die Compute- und Lizenzierungskonfigurationen, um die Kosten für bereitgestellte Ressourcen zu senken: Im bereitgestellten Modell fallen die Compute-Kosten kontinuierlich an, daher sollten Sie die vCore-Anzahl richtig dimensionieren und die Lizenzierung von Anfang an optimieren. Analysieren Sie die Auslastung, bevor Sie die Konfiguration auswählen. Verwenden Sie die Stufe "Allgemeiner Zweck", wenn Workloads eine höhere Speicherlatenz tolerieren. Der Stufenunterschied ist der größte Kostenhebel.

    Wenden Sie den Azure-Hybridvorteil für vorhandene SQL Server-Lizenzen an, verpflichten Sie sich zur reservierten Kapazität für vorhersagbare Workloads, und legen Sie Failovergruppen-Secondärdateien als lizenzfreie Standbyreplikate fest, wenn sie nur notfallwiederherstellung dienen.

  • Optimieren Sie die Umgebungskosten in Produktions- und Nichtproduktionsinstanzen: Identische Produktions- und Nichtproduktionskonfigurationen verschwenden das Budget in einem Modell mit kontinuierlicher Bereitstellung. Differenzieren Sie Umgebungskostenprofile, indem Sie SQL Managed Instance-spezifische Sparmechanismen auf jede Ebene anwenden.

    • Optimieren Sie Nichtproduktionsumgebungen, indem Sie stop/start on General Purpose-Instanzen während vorhersagbarer Leerlaufzeiten verwenden, um Berechnungs- und Lizenzierungsgebühren zu beseitigen.

    • Differenzieren Sie Umgebungskonfigurationen, indem Sie Nichtproduktionsinstanzen bereitstellen, die reduzierte vCore-Anzahl und Dev-Test-Abonnementpreise verwenden.

    • Optimieren Sie Notfallwiederherstellungsumgebungen, indem Sie Geo-Wiederherstellung als eine kostengünstigere Alternative zu Failover-Gruppen für nicht-geschäftskritische Workloads auswerten.

  • Konsolidieren Sie kleine Workloads mithilfe von Instanzpools, um die Ressourceneffizienz zu verbessern: Instanzpools konsolidieren mehrere kleine Instanzen auf gemeinsam genutztem Compute, wodurch der Aufwand pro Instanz reduziert wird. Pools unterstützen kleinere vCore-Konfigurationen, die ausschließlich für poolierte Bereitstellungen gelten und auf die Stufe "Allgemeiner Zweck" für unterstützte Hardwaregenerationen beschränkt sind.

    Die Pool-Computing-Kapazität wird auf Poolebene abgerechnet, unabhängig davon, wie viele Instanzen darin ausgeführt werden, sodass ungenutzte vCores weiterhin Kosten verursachen. Lizenzierungs- und reservierte Kapazitätsentscheidungen gelten einheitlich für alle Instanzen im Pool.

    Bei gepoolten Instanzen werden lokale Datenträger- und Netzwerkressourcen gemeinsam verwendet, was zu Noisy-Neighbor-Effekten führen kann. Jede Instanz empfängt dedizierte vCores und Arbeitsspeicher, workloads, die eine stärkere Isolierung erfordern, sollten jedoch als eigenständige Instanzen bereitgestellt werden.

Konfigurationsempfehlungen

Empfehlung Nutzen
Vergleichen Sie den tatsächlichen Speicherverbrauch mit der maximalen konfigurierten Größe, da sql Managed Instance für reservierten Speicher abgerechnet wird, unabhängig von der Auslastung. Verringern Sie das reservierte Maximum für Instanzen, in denen die Zuordnung den Verbrauch erheblich überschreitet. Identifiziert Instanzen, in denen der reservierte Speicher die tatsächliche Nutzung überschreitet, sodass Sie die Abrechnungsverluste pro GB im reservierten Speichermodell der SQL-Managed-Instance anpassen und reduzieren können.
Aktivieren Sie den Azure-Hybridvorteil in sql Managed Instance, um vorhandene SQL Server-Lizenzen anzuwenden, die über Software Assurance verfügen. Enterprise Edition-Lizenzen bieten die günstigsten Konvertierungsverhältnisse, insbesondere auf der Stufe "Allgemein".

Wenn Sie eine Instanz mit allgemeinem Zweck beenden, deaktivieren Sie zuerst den Azure-Hybridvorteil, und ordnen Sie die Lizenzen anderen Azure SQL-Ressourcen neu zu. Reaktivieren Sie den Vorteil, nachdem Sie die Instanz neu gestartet haben.
Reduziert die Kosten für die SQL Server-Lizenzierung, indem vorhandene lokale Lizenzen für Cloudbereitstellungen verwendet werden. Enterprise Edition-Kunden erzielen angesichts der günstigen vCore-Konvertierungsverhältnisse die größten Einsparungen auf der Stufe "General Purpose".
Erwerben Sie reservierte Kapazitätsverpflichtungen für SQL Managed Instance-Bereitstellungen, die vorhersehbare, lange Arbeitslasten aufweisen. Wenden Sie Reservierungen auf Instanzpools an, um geteilte Computereinsparungen mit rabattierten Verpflichtungen zu kombinieren.

Führen Sie für Arbeitsauslastungen mit vorhersagbaren Zeitplänen mehrere kleinere Instanzen in verschiedenen Zeitfenstern unter derselben vCore-Reservierung aus. Sie können ungenutzte reservierte Stunden nicht in die nächste Periode übertragen, daher sollten Sie die Nutzung durch effektive Planung maximieren.
Commitment-basierte Preisgestaltung reduziert die Kosten im Vergleich zu Pay-as-you-go-Tarifen bei stabilen Workloadkonfigurationen.

Reservierte Kapazität, die mit Instanzpools gekoppelt ist, bietet das kostengünstigste Bereitstellungsmodell für mehrere kleine Instanzen.
Legen Sie die sekundäre Instanz in einer Failovergruppe als lizenzfreies Standbyreplikat fest, wenn Sie sie ausschließlich für die Notfallwiederherstellung verwenden. Der Standbymodus unterstützt Failover, Backups, Wartung und Notfallwiederherstellungsübungen, aber keine Produktionsverbindungen. Eliminiert die SQL Server-Lizenzierungskosten für das sekundäre System zur Notfallwiederherstellung, behält jedoch dasselbe RPO und RTO wie bei einer lesbaren Replik bei.

Gibt Azure Hybrid Benefit-Lizenzen für die Zuordnung zu anderen Azure SQL-Ressourcen frei, wodurch der Wert vorhandener Lizenzinvestitionen erhöht wird.
Beenden Sie allgemeine Instanzen während vorhersagbarer Leerlaufzeiten, um vCore- und Lizenzierungsgebühren zu beseitigen. Erstellen Sie Stopp-/Startzeitpläne , die Paare definieren und ein Mindestintervall zwischen aufeinander folgenden Aktionen festlegen.

Berücksichtigen Sie die Startlatenz, indem Sie Startvorgänge auslösen, bevor die Instanz bereit sein muss. Sie können keine Instanzen stoppen, die über Features wie Failovergruppen oder Zonenredundanz verfügen.
Entfernt Berechnungs- und Lizenzierungsgebühren während leerer Zeiträume, behält jedoch Daten und Sicherungsspeicher bei. Die Automatisierung sorgt für konsistente Einsparungen ohne manuelle Eingriffe.
Stellen Sie Instanzpools bereit, um mehrere kleine verwaltete Instanzen zu hosten, die vorab bereitgestellte Compute gemeinsam nutzen. Legen Sie den Pool basierend auf den gesamten benötigten vCores fest, aktivieren Sie den Azure-Hybridvorteil auf Poolebene, und kombinieren Sie die reservierte Kapazität für den größten Rabatt.

Vermeiden Sie Pools für Arbeitslasten, die die Geschäftskritische Ebene, Zonenredundanz oder strenge Leistungsisolation benötigen. Poolinstanzen teilen lokale Datenträger- und Netzwerkressourcen, sodass Latenz-sensible Workloads mit lauten Nachbarn-Risiken als eigenständige Instanzen bereitgestellt werden sollten.
Entsperrt kleinere vCore-Konfigurationen, die sonst außerhalb von Pools nicht verfügbar sind, sodass Sie kleine SQL Server-Instanzen kostengünstig migrieren können, ohne Überbereitstellung.

Geteilte Computerressourcen reduzieren den Aufwand pro Instanz, während sie dennoch dedizierte vCore- und Speicherisolierung für jede zu einem Pool zusammengefasste Instanz aufrechterhalten.

Betriebliche Effizienz

Operational Excellence konzentriert sich in erster Linie auf Verfahren für Entwicklungspraktiken, Beobachtbarkeit und Release Management.

Die Designprinzipien der Operational Excellence bieten eine hochrangige Designstrategie, um diese Ziele für die betrieblichen Anforderungen des Workloads zu erreichen.

Checkliste für die Arbeitsauslastungsgestaltung

Starten Sie Ihre Designstrategie basierend auf der Prüfliste für die Designüberprüfung für Operational Excellence zum Definieren von Prozessen für Observability, Tests und Bereitstellung im Zusammenhang mit SQL Managed Instance.

  • Implementieren sie sichere Bereitstellungsmethoden für Instanzkonfigurationsänderungen: Sql Managed Instance-Verwaltungsvorgänge umfassen Änderungen der virtuellen Clusterinfrastruktur, die viel länger als typische Datenbankvorgänge ausgeführt werden. Planen Sie Ihre Bereitstellungspraktiken um diese erweiterten Dauern herum, um Arbeitsunterbrechungen zu minimieren.

    • Berücksichtigen Sie die erweiterte Dauer von Erstellungs-, Skalierungs- und Ebenenänderungsvorgängen. Planen Sie sie nicht während der Spitzenzeiten. Vorgänge innerhalb desselben Subnetzes werden serialisiert.

    • Planen Sie Rollback- und mehrstufige Bereitstellungsstrategien, die Konfigurationsänderungen für Nichtproduktionsinstanzen zuerst überprüfen, da Skalierungsvorgänge in beiden Richtungen vergleichbare Zeit in Anspruch nehmen.

    • Koordinieren Sie Änderungen bei der Bereitstellung von Failover-Gruppen, indem Sie sicherstellen, dass die Instanzen übereinstimmende Aktualisierungsrichtlinien haben. Planen Sie Änderungen an primären und sekundären Instanzen zu unterschiedlichen Zeiten.

  • Definieren der Infrastruktur als Code für bereitstellungen virtueller netzwerkintegrierten Instanzen: Sql Managed Instance erfordert eine virtuelle netzwerkintegrte Bereitstellung mit Subnetzdelegierung, NSG-Regeln und Routingtabellen vor der Bereitstellung. Strukturieren Sie Ihre Infrastructure-as-Code (IaC)-Vorlagen in Abhängigkeitsebenen, sodass das Netzwerk zuerst, dann Identität und RBAC zweitens und zuletzt die Instanzressourcen bereitgestellt werden.

    Richten Sie die Erkennung von Konfigurationsabweichungen für Subnetzregeln, Routentabellen und Instanzeigenschaften ein. Verwenden Sie Azure-Richtlinie, um Bereitstellungsstandards wie erforderliche Tags, zulässige Ebenen und Zonenredundanzanforderungen für Produktionsinstanzen zu erzwingen.

  • Entwerfen von Build- und Bereitstellungspipelines für Datenbankschema- und Instanzänderungen: Änderungen der Instanzinfrastruktur und Datenbankschemabereitstellungen funktionieren grundsätzlich mit unterschiedlichen Zeitskalen. Trennen Sie die Pipelinephasen entsprechend. Verwenden Sie statusbasierte Abfrage für Infrastrukturphasen und Freigabegates, bevor Sie Vorgängen, die umfassende Verwaltungsarbeiten auslösen.

    Schemaänderungen erfordern eine Überprüfung auf dokumentierte T-SQL-Kompatibilitätsunterschiede vor der Bereitstellung. Überprüfen Sie die Kompatibilität in der Pipeline, und verifizieren Sie datenbankübergreifende Abfrageabhängigkeiten sowie instanzspezifische Features bei der Überprüfung nach der Bereitstellung.

  • Einrichten der Observability mithilfe von Azure Monitor und SQL-nativer Diagnose: Die Observability für verwaltete SQL-Instanzen erfordert sowohl die Telemetrie der Azure Monitor-Plattform als auch sql-native Diagnosen wie dynamische Verwaltungsansichten (DYNAMIC Management Views, DMVs), Query Store und erweiterte Ereignisse. Kombinieren Sie diese Schichten für eine umfassende Sicht auf die Instanzgesundheit und die Workloadleistung.

    Richten Sie die Plattformüberwachung über Azure Monitor ein, indem Sie Diagnoseeinstellungen auf die gesamte Instanz anwenden. Verwaltungsvorgangsereignisse werden im Aktivitätsprotokoll angezeigt, und Warnungen zum Ressourcenstatus bieten frühzeitige Warnungen sowohl für geplante als auch für ungeplante Ereignisse. Verwenden Sie auf der Datenbankseite den Abfragespeicher als primäres Tool für die Workloadanalyse und die Indexoptimierung. Die verwaltete SQL-Instanz unterstützt keine automatische Indexoptimierung.

    Abonnieren Sie Warnungen zur Ressourcengesundheit und Benachrichtigungen über geplante Wartungsarbeiten, um aktuelle Warnungen vor geplanten und ungeplanten Ereignissen zu erhalten.

  • Automatisieren von Verwaltungs-, Überwachungs- und Wartungsaufgaben: Sql Managed Instance enthält SQL-Agent, einen integrierten Auftragsplaner, der Datenbankwartungs- und Betriebsaufgaben ohne externe Orchestrierung verarbeitet. Kombinieren Sie den SQL Server Agent mit der Automatisierung auf Azure-Ebene, um sowohl das Datenbankmodul als auch die Verwaltungsebene vollständig abzudecken.

    • Verwenden Sie den SQL-Agent für die wiederkehrende Datenbankwartung, die Synchronisierung der Anmeldedaten mit Failover-Gruppen-Sekundärservern und Warnungen bei Jobfehlern.

    • Verwenden Sie Azure Automation oder Azure Functions für Vorgänge, die Azure Resource Manager-Interaktion erfordern, z. B. Überwachung von Verwaltungsvorgängen und Verwalten der Sicherungsaufbewahrung.

    • Automatisieren Sie Lebenszyklusvorgänge wie Stopp- und Startzeitpläne für berechtigte Instanzen während des Leerlaufs und konsistente Diagnosekonfiguration, wenn Sie neue Instanzen bereitstellen.

  • Einrichten von Test- und Validierungsmethoden für Datenbankbereitstellungen: SQL Managed Instance SQL Server-Kompatibilität unterstützt Standardtesttools, sie müssen jedoch weiterhin Verwaltungsvorgänge, datenbankübergreifende Abhängigkeiten und Instanzbereichsfeatures überprüfen. Verwenden Sie tatsächliche Testumgebungen für verwaltete SQL-Instanzen, da SQL-Datenbank und SQL Server unterschiedliche Infrastruktur- und Verwaltungsvorgänge aufweisen.

Konfigurationsempfehlungen

Empfehlung Nutzen
Überwachen Sie den Fortschritt des Verwaltungsvorgangs mithilfe von PowerShell, der Azure CLI oder der REST-API, um Schritte nachzuverfolgen und Probleme frühzeitig zu erkennen. Abbrechen angehaltener oder unnötiger Vorgänge, wenn möglich. Der Abbruch selbst erfordert eine Bereinigungszeit der Infrastruktur. Ihr Team erhält Einblicke in erweiterte Vorgänge, um fundierte Entscheidungen über Warten, Abbrechen oder Eskalieren zu treffen. Die vorzeitige Kündigung reduziert die Auswirkungen problematischer Vorgänge, bevor sie zu längeren Unterbrechungen führen.
Stellen Sie die Voraussetzungen für das Netzwerk von SQL managed Instance als separates IaC-Modul bereit, das abgeschlossen wird, bevor die Instanzbereitstellung beginnt. Fügen Sie die Subnetzdelegierung für Microsoft.Sql/managedInstances und die obligatorischen NSG-Regeln für den Verwaltungsdatenverkehr in die Vorlage ein. Sie validieren die Netzwerkvoraussetzungen, bevor die Bereitstellung der Instanz beginnt, um Bereitstellungsfehler durch fehlende Delegierungs- oder NSG-Regeln zu verhindern. Verwenden Sie separate Module, um den Lebenszyklus von Netzwerk- und Datenbankinfrastruktur unabhängig voneinander zu verwalten.
Legen Sie Pipelinetimeouts für SQL Managed Instance-Infrastrukturphasen basierend auf dokumentierten Vorgangsdauern fest, die je nach Vorgangstyp erheblich variieren.

Abrufen der Verwaltungsvorgänge-API in einem Schleifenschritt, um den Fortschritt nachzuverfolgen und Fehler frühzeitig zu erkennen. Verlassen Sie sich nicht auf feste Schlafzeitgeber, die nicht zwischen feststehenden Vorgängen und lang andauernden Vorgängen unterscheiden können.
Richtige Timeouts beseitigen falsche Pipelinefehler, die durch Vorgänge verursacht werden, die Standardtimeoutperioden überschreiten.

Die Fortschrittsabfragung innerhalb der Pipeline hilft Ihrem Team, schneller auf echte Fehler zu reagieren, anstatt auf das Ablaufen beliebiger Zeitgeber zu warten.
Aktivieren Sie instanzbezogene Diagnoseeinstellungen und streamen Sie Ressourcenprotokolle für alle relevanten Kategorien in einen Log Analytics-Arbeitsbereich. Wenden Sie die gleiche Streaming-Exportkonfiguration auf alle Instanzen an, um eine zuverlässige Grundlage für die Beobachtbarkeit zu schaffen.

Fügen Sie Diagnoseeinstellungen für das Aktivitätsprotokoll hinzu, um Verwaltungsvorgangsereignisse zu erfassen. Verwenden Sie Integritätsindikatoren für virtuelle Cluster, um Probleme auf Infrastrukturebene zu erkennen, die sich auf die Verfügbarkeit von Instanzen auswirken.
Verwenden Sie KQL-Abfragen in Log Analytics, um Protokolle in allen Instanzen zu analysieren, wodurch historische Trendanalysen zur Kapazitätsplanung und Leistungsproblemlösung unterstützt werden.

Die Telemetrie des Verwaltungsvorgangs und die Integritätsdaten des virtuellen Clusters helfen Ihnen bei der Behandlung erweiterter Vorgänge und Koordinationsprobleme auf Subnetzebene, die für die verwaltete SQL-Instanz spezifisch sind.
Richten Sie vorab Benachrichtigungen für geplante Wartungsereignisse ein, um Warnungen zu erhalten, bevor das Fenster geöffnet wird und wann die Wartung abgeschlossen ist. Verwenden Sie diese Benachrichtigungen, um Vorbereitungsworkflows wie das Benachrichtigen von Anwendungsteams oder das Anpassen von Wiederholungsrichtlinien auszulösen. Ihr Betriebsteam erhält vor der geplanten Wartung vorab Vorbereitungszeit, wodurch Unterbrechungen bei geschäftskritischen Arbeitslasten reduziert und die proaktive Kommunikation mit den Projektbeteiligten unterstützt wird.
Richten Sie Aktivitätsprotokollbenachrichtigungen für Verwaltungsvorgänge ein, die die erwarteten Dauerschwellenwerte überschreiten oder fehlschlagen. Fehlgeschlagene Vorgänge können die Instanz in einem Zwischenzustand belassen, der einen Eingriff erfordert.

Verwenden Sie die Verwaltungsvorgänge-API oder Azure Monitor-Arbeitsmappen, um den Vorgangsfortschritt und die Dauertrends in Ihrer SQL Managed Instance-Umgebung anzuzeigen.
Die frühzeitige Erkennung von festgefahrenen oder fehlerhaften Vorgängen reduziert das Risikofenster bei erweiterten Infrastrukturänderungen. Ihr Team erhält Zeit, um einzugreifen, bevor die Auswirkung eskaliert.
Erstellen Sie SQL-Agent-Aufträge für die Indexwartung, Statistikaktualisierungen und Konsistenzüberprüfungen für alle Datenbanken in der Instanz. Planen Sie diese Aufträge während verkehrsarmer Zeiten und führen Sie sie gestaffelt durch, um Ressourcenkonflikte zu vermeiden. Eine konsistente automatisierte Wartung sorgt dafür, dass die Datenbankgesundheit und Abfrageleistung ohne externe Planungstools aufrechterhalten werden.

Der native SQL-Agent der verwalteten SQL-Instanz reduziert den Betriebsaufwand im Vergleich zur benutzerdefinierten Automatisierungsinfrastruktur.
Verwenden Sie SQL-Datenbankprojekte mit der Zielplattform für sql Managed Instance, um die T-SQL-Kompatibilität zu überprüfen und die nicht unterstützte Syntax vor der Produktionsbereitstellung zu identifizieren.

Testen Sie Datenbankübergreifende Abfrageabhängigkeiten mithilfe der dreiteiligen Benennung in Integrationstests. Überprüfen Sie Instanzbereichsfeatures wie SQL-Agent-Auftragsdefinitionen, Dienstbrokerkonfigurationen und verknüpfte Server als Teil der Bereitstellungsüberprüfung.
Sie finden Kompatibilitätsprobleme und Bereitstellungsfehler, bevor sie die Produktion erreichen, wodurch das Rollbackrisiko für Vorgänge reduziert wird, die längere Zeit in Anspruch nehmen.

Leistungseffizienz

Bei der Leistungseffizienz geht es darum, die Benutzererfahrung auch dann aufrechtzuerhalten, wenn die Auslastung steigt, indem die Kapazität verwaltet wird. Die Strategie umfasst die Skalierung von Ressourcen, das Identifizieren und Optimieren potenzieller Engpässe und die Optimierung der Spitzenleistung.

Die Designprinzipien für die Leistungseffizienz bieten eine allgemeine Entwurfsstrategie, um diese Kapazitätsziele gegen die erwartete Nutzung zu erreichen.

Checkliste für die Arbeitsauslastungsgestaltung

Starten Sie Ihre Designstrategie basierend auf der Prüfliste für die Entwurfsüberprüfung für die Leistungseffizienz. Definieren Sie einen Basisplan, der auf Schlüsselleistungsindikatoren für die verwaltete SQL-Instanz basiert.

  • Kapazitätsplanung durchführen: Die verwaltete SQL-Instanz verwendet ein Instanzbereichsmodell, bei dem alle Datenbanken vCores, Arbeitsspeicher, Eingabe-/Ausgabevorgänge pro Sekunde (IOPS) und Speicher gemeinsam nutzen. Die Kapazitätsplanung im gesamten Datenbankbestand ist unerlässlich, da sich der Ressourcenverbrauch einer Datenbank direkt auf alle anderen auswirkt.

    Identifizieren Sie Leistungsziele für Antwortzeit, Durchsatz und gleichzeitige Sitzungen. Erfassen Sie Leistungsbaselines vor dem Migrations- und Projektwachstumsmuster für Datenbankanzahl, Speicher und Transaktionsvolumes über den Lebenszyklus der Instanz. Berücksichtigen Sie ebenenspezifische TempDB-Einschränkungen, wenn Sie tempDB-intensive Workloads planen.

    Verwaltungsvorgänge für die Skalierung dauern Stunden anstelle der Minuten, die typisch für andere Azure SQL-Angebote sind. Planen Sie die Kapazität mit ausreichendem Puffer, um dringende Skalierungsanforderungen zu vermeiden, und koordinieren Sie Vorgänge mit Wartungsfenstern, um Geschäftsunterbrechungen zu minimieren.

  • Wählen Sie die Hardwaregenerierung und die Dienstebene für Workloadanforderungen aus: Die Auswahl der Hardwaregenerierung und dienstebene bestimmt das Arbeitsspeicherverhältnis, die E/A-Merkmale und das Latenzprofil, das Für Ihre Workload verfügbar ist.

    Entscheidung Was ausgewertet werden soll
    Dienstebene Anpassung an E/A-Latenz und Funktionsanforderungen. Berücksichtigen Sie Architekturunterschiede zwischen Remote- und lokalem Speicher und der Latenzwirkung zonenredundanter Konfigurationen.
    IOPS-Modell Die Ansätze zur Zuordnung reichen von der dateigrößenabhängigen Skalierung (Allgemeiner Zweck) bis hin zur Instanzebene und Bereitstellung pro vCore (Geschäftskritisch, Allgemeiner Zweck der nächsten Generation).
    Verbindungstyp Verwenden Sie den Verbindungstyp "Umleitung" auf lokalen virtuellen Netzwerkendpunkten, um die Latenz pro Abfrage für persistente Workloads zu verringern.
  • Wählen Sie die richtige Skalierungsstrategie für Ihre Workload aus: Die verwaltete SQL-Instanz unterstützt nur die vertikale Skalierung. Der Dienst bietet keine automatische Skalierung, serverlose Berechnung oder eine Hyperscale-Ebene.

    • Planen Sie die vertikale Skalierung um mehrstündige Betriebsfenster für Änderungen der Ebenen, Änderungen der Hardware-Generation und vCore-Anpassungen. Planen Sie diese Vorgänge während geplanter Wartungszeiten.

    • Entladen Sie Lese-Workloads auf das integrierte lesbare sekundäre Replikat in der Business Critical-Ebene. Dieses Replikat bietet schreibgeschützte Abfragen ohne zusätzliche Kosten für Workloads wie Berichte, Analysen und schließlich konsistente Lesevorgänge.

    • Verwenden Sie flexiblen Speicher für "General Purpose" der nächsten Generation, um die Speicherzuweisung unabhängig von der vCore-Anzahl anzupassen. Änderungen lösen ein Instanzfailover als letzten Schritt aus.

  • Führen Sie Leistungstests aus, um das Verhalten der Datenbankarbeitsauslastung zu überprüfen: Entwerfen Sie Leistungstests, die das gleichzeitige Multidatenbankverhalten im Rahmen des Instanzbereichsmodells überprüfen. Fügen Sie realistische Transaktionsmischungen hinzu, die Transaktions-, Batch- und Berichtsworkloads kombinieren, die gleichzeitig ausgeführt werden. Testen Sie mit der tatsächlichen Anzahl an Datenbanken und den geplanten Datenvolumen für die Instanz.

    Erfassen Sie Basispläne vor der Bereitstellung, und vergleichen Sie das Verhalten nach der Migration über verschiedene Hardwaregenerationen und Dienstebenen hinweg, um zu bestätigen, dass die ausgewählte Konfiguration Ihre Anforderungen erfüllt. Messen Sie die Wiederherstellungszeit der Arbeitslast nach Failover- und Verwaltungsvorgängen, insbesondere auf Ebenen, die Remotespeicher verwenden, wo der Pufferpool neu aufgebaut werden muss.

  • Identifizieren und Überwachen von Leistungsindikatoren: Überwachen Sie auf Instanz- und Datenbankebene, um den Ressourcenkonflikt zu identifizieren, da alle Datenbanken Computeressourcen im Instanzbereichsmodell gemeinsam nutzen.

    • Richten Sie die Überwachung auf Instanzebene ein, um die Kernmetriken nachzuverfolgen und Warnungen für Nutzungsschwellenwerte festzulegen, bevor Workloads betroffen sind. Berücksichtigen Sie den Protokollschreibdurchsatz im Vergleich zu den Grenzwerten pro Ebene.

    • Verwenden Sie den Abfragespeicher als primäres Tool, um regressierte Abfragen und Planänderungen zu identifizieren. Kombinieren Sie sie mit der manuellen Indexanalyse, da die automatische Indexoptimierung von SQL Managed Instance nicht unterstützt wird.

    • Fügen Sie die Ressourcenüberwachung auf der Datenbankebene hinzu, um den Verbrauch pro Datenbank nachzuverfolgen und Konflikte für freigegebene Ressourcen wie TempDB und Arbeitsspeicher zu erkennen.

  • Optimieren des Workloaddesigns und der Abfrageleistung: Sql Managed Instance umfasst Enterprise Edition-Funktionen, die leistungsspezifische Leistungsprobleme für das Instanzbereichsmodell behandeln, z. B. Ressourcengovernance in Datenbanken, datenbankübergreifende Abfragen, verteilte Transaktionen und In-Memory-Verarbeitung.

    Berücksichtigen Sie dienstspezifische Ressourceneinschränkungen in Ihrer Optimierungsstrategie. Fixe TempDB-Zuweisung, Protokollraten-Governancegrenzen für den Schreibdurchsatz und stufenabhängige IOPS-Modelle bieten sowohl Einschränkungen als auch Optimierungschancen.

Konfigurationsempfehlungen

Empfehlung Nutzen
Wählen Sie die Hardwaregeneration nach dem Speicher-pro-vCore-Verhältnis aus, anstatt vCores hinzuzufügen, wenn der Arbeitsspeicher die Begrenzung ist. Die Premium-Hardwaregenerierung gleicht Arbeitsspeicher und Kosten aus, während die speicheroptimierte Premium-Hardwaregenerierung für große Pufferpools oder OLTP-Kapazitätsgrenzen im Arbeitsspeicher geeignet ist. Die Anpassung der Speicherzuordnung durch ein angemessenes Speicherverhältnis vermeidet die Überprovisionierung von vCores, wodurch Kosten reduziert und Leistungsziele erreicht werden.
Legen Sie den Redirect connection type auf dem lokalen Endpunkt des virtuellen Netzwerks für Workloads fest, die sich aus dem virtuellen Netzwerk verbinden.

Diese Einstellung leitet den Datenverkehr nach der erstauthentifizierung direkt an den Hostingknoten weiter. Öffentliche und private Endpunkte verwenden unabhängig von dieser Einstellung immer den Proxyverbindungstyp.
Reduziert die Latenz pro Abfrage für persistente virtuelle Netzwerk-lokale Verbindungen, indem das Gateway nach der anfänglichen Authentifizierung umgangen wird.
Leiten Sie schreibgeschützte Workloads mithilfe der Verbindungszeichenfolge an das geschäftskritische sekundäre ReplikatApplicationIntent=ReadOnly weiter. Überwachen Sie die Verzögerung des sekundären Replikats, um sicherzustellen, dass ausgelagerte Workloads die Latenzziele erfüllen.

Verwenden Sie die geosekundäre Failover-Gruppe für regionsübergreifende Leseentlastung, wenn verfügbar. Bei sql Managed Instance verringert dieser Ansatz den Druck auf gemeinsam genutzte vCores und Arbeitsspeicher in allen Datenbanken auf der Instanz.
Gibt die primäre Berechnung für schreibintensive Vorgänge in allen Datenbanken frei, indem Lesevorgänge an das enthaltene sekundäre Replikat ohne zusätzliche Kosten geleitet werden.
Aktivieren Sie den Abfragespeicher im Read-Write Modus für jede Datenbank und überprüfen Sie regelmäßig Berichte, um zurückgesetzte Abfragen, Planänderungen und ressourcenaufwendige Vorgänge zu identifizieren.

Kombinieren Sie Abfragespeichereinblicke mit fehlenden Index-DMVs, um Indizes manuell auszuwerten und zu erstellen. Die verwaltete SQL-Instanz unterstützt keine automatische Indexverwaltung.

Legen Sie Aufbewahrungs- und Speichergrößenwerte fest, um die Verfügbarkeit von historischen Daten mit dem Speicherverbrauch auszugleichen.
Bietet Ihnen einen kontinuierlichen Einblick in das Qualitäts- und Laufzeitverhalten von Abfrageplänen, sodass Sie Regressionen frühzeitig erkennen und fundierte Optimierungsentscheidungen treffen können.
Verwenden Sie OLTP im Arbeitsspeicher auf der Business Critical-Ebene für Workloads mit hohem Durchsatz wie Datenaufnahme, Zwischenspeicherung und Sitzungszustand. Berücksichtigen Sie die verfügbare OLTP-Speicherkapazität im Arbeitsspeicher, wenn Sie die Hardwaregenerierung auswählen, da die Grenzwerte je nach Konfiguration variieren. Beseitigt die Latch-Konkurrenz und reduziert den CPU-Aufwand für Workloads mit hohem Durchsatz, was häufig die Notwendigkeit einer höheren Compute-Tier erübrigt.
Richten Sie den Ressourcengovernor ein, um die Zuordnung von CPU, Arbeitsspeicher und E/A über Workloads hinweg zu steuern, die die Instanz gemeinsam nutzen. Berücksichtigen Sie dabei das spezifische Verhalten von SQL Managed Instances. Diese Funktion adressiert direkt das Risiko der lauten Nachbarn im Bereitstellungsmodell mit Instanzfokus. Verhindert, dass ein einzelnes Datenbank- oder Abfragemuster die gemeinsam genutzten Instanzenressourcen monopolisiert und somit die Workload-Isolation in der gesamten Datenbankumgebung schützt.
Planen Sie die Verwendung von TempDB in Bezug auf die feste Speicher- und Dateikonfiguration, die Sie in der verwalteten SQL-Instanz nicht ändern können.

Die Stufe "Allgemeiner Zweck" bietet eine niedrigere TempDB-Zuordnung pro vCore als andere Azure SQL-Angebote . Bewerten Sie die Business Critical-Stufe für TempDB-intensive Workloads, die diese Einschränkungen überschreiten.
Vermeiden Sie die Auslastung des TempDB-Speicherplatzes, indem Sie die Einschränkungen für die feste Zuweisung und Die Dateikonfiguration auf der Ebene "Allgemeiner Zweck" berücksichtigen.
Optimieren Sie die Dateigrößen in der Ebene "Allgemeiner Zweck", um IOPS zu maximieren. Größere Dateien erhalten proportional höheren Durchsatz von der Remotespeicherebene.

In der nächsten Generation der allgemeinen Verwendung skalieren IOPS auf Instanzebene basierend auf reservierter Speicherplatz und nicht auf der Basis einzelner Dateien.
Verbessert den Lese- und Schreibdurchsatz, indem Die Dateigrößen angepasst werden, ohne dass ein Stufenupgrade erforderlich ist.

Azure-Richtlinien

Azure bietet einen umfassenden Satz integrierter Richtlinien im Zusammenhang mit SQL Managed Instance und deren Abhängigkeiten. Einige der vorstehenden Empfehlungen können über Azure Policy geprüft werden. Sie können beispielsweise überprüfen, ob:

  • Verwenden Sie vom Kunden verwaltete Schlüssel, um ruhende Daten in SQL-verwalteten Instanzen zu verschlüsseln.
  • Sie sollten die Microsoft Entra-only-Authentifizierung für verwaltete SQL-Instanzen aktivieren.
  • Sie sollten den Zugriff auf öffentliche Netzwerke in verwalteten SQL-Instanzen blockieren.
  • Sie sollten GRS-Sicherungsredundanz in SQL-verwalteten Instanzen vermeiden.

Überprüfen Sie für eine umfassende Governance die integrierten Azure-Richtliniendefinitionen für die verwaltete SQL-Instanz und andere Richtlinien, die sich auf die Sicherheit Ihrer Datenbankworkload auswirken können.

Azure Advisor-Empfehlungen

Azure Advisor ist ein personalisierter Cloudberater, der Ihnen hilft, bewährte Methoden zur Optimierung Ihrer Azure-Bereitstellungen zu befolgen.

Weitere Informationen finden Sie unter Azure Advisor.

Beispiel Architektur

Grundlegende Architektur, die die wichtigsten Empfehlungen veranschaulicht: Vollständig verwaltete und gesicherte App in sql Managed Instance.