Neuer DBA in der Cloud: Verwaltung der Azure SQL-Datenbank nach der Migration

Gilt für:Azure SQL-Datenbank

Die Migration von einer selbstverwalteten Umgebung zu einer PaaS wie Azure SQL-Datenbank kann komplex sein. In diesem Artikel werden die wichtigsten Funktionen der Azure SQL-Datenbank für einzel- und poolierte Datenbanken erläutert, sodass Sie Anwendungen verfügbar, leistungsfähig, sicher und robust halten können.

Zu den wichtigsten Merkmalen der Azure SQL-Datenbank gehören:

  • Datenbanküberwachung mit dem Azure-Portal
  • Geschäftskontinuität und Notfallwiederherstellung (Business Continuity Disaster Recovery, BCDR)
  • Sicherheit und Compliance
  • Intelligente Datenbanküberwachung und -wartung
  • Datenübertragung

Hinweis

Microsoft Entra ID war zuvor als Azure Active Directory (Azure AD) bekannt.

Überwachen von Datenbanken über das Azure-Portal

Weitere Informationen zu Metriken und Warnungen von Azure Monitor, einschließlich empfohlener Warnungsregeln, finden Sie unter Überwachen der Azure SQL-Datenbank mit Metriken und Warnungen. Weitere Informationen zu Serviceebenen finden Sie unter DTU-basiertes Einkaufsmodell –Übersicht und vCore-basiertes Einkaufsmodell.

Sie können Warnungen für die Leistungsmetriken konfigurieren. Wählen Sie im Fenster Metrik die Schaltfläche Warnung hinzufügen aus. Befolgen Sie die Anweisungen des Assistenten, um die Benachrichtigung zu konfigurieren. Sie können benachrichtigen, wenn die Metriken einen bestimmten Schwellenwert überschreiten oder die Metrik unter einen bestimmten Schwellenwert fällt.

Wenn Sie beispielsweise einen Anstieg der Workload Ihrer Datenbank erwarten, können Sie eine E-Mail-Benachrichtigung konfigurieren, die immer dann gesendet wird, wenn eine der Leistungsmetriken der Datenbank 80 % erreicht. Sie können dies als Frühwarnung verwenden, um zu ermitteln, wann Sie eventuell zur nächsthöheren Computegröße wechseln müssen.

Anhand der Leistungsmetriken können Sie auch ermitteln, ob Sie möglicherweise eine Herabstufung auf eine niedrigere Computegröße vornehmen können. Beachten Sie jedoch Workloads, die sprunghaft ansteigen oder schwanken, bevor Sie sich für einen Wechsel zu einer niedrigeren Computegröße entscheiden.

Geschäftskontinuität und Notfallwiederherstellung (Business Continuity Disaster Recovery, BCDR)

Mit den Funktionen für Geschäftskontinuität und Notfallwiederherstellung können Sie Ihr Unternehmen fortsetzen, wenn ein Notfall auftritt. Ein Notfall könnte auf Datenbankebene auftreten (ein Nutzer löscht z. B. versehentlich eine unternehmenswichtige Tabelle) oder das gesamte Datencenter betreffen (bei einer regionalen Katastrophe wie einem Tsunami).

Wie kann ich Sicherungen in sql-Datenbank erstellen und verwalten?

Azure SQL-Datenbank sichert Datenbanken automatisch für Sie. Die Plattform macht wöchentlich ein vollständiges Backup, alle paar Stunden ein differenziertes Backup und alle fünf Minuten ein Log-Backup, um sicherzustellen, dass die Katastrophenwiederherstellung effizient ist und der Datenverlust minimal bleibt. Die erste vollständige Sicherung erfolgt direkt nach dem Erstellen einer Datenbank. Sie können auf diese Backups für einen bestimmten Zeitraum zugreifen, der sogenannten Aufbewahrungszeitraum, der je nach gewählter Servicestufe variiert. Sie können mit Point in Time Recovery (PITR) auf jeden Zeitpunkt innerhalb dieses Aufbewahrungszeitraums zurücksetzen.

Darüber hinaus ermöglicht Ihnen die Funktion Langzeitspeicherungs-Backups , Ihre Backup-Dateien bis zu 10 Jahre aufzubewahren und Daten aus diesen Backups jederzeit in diesem Zeitraum wiederherzustellen. Azure bewahrt Datenbank-Backups in geo-repliziertem Speicher auf, um Widerstandsfähigkeit vor regionalen Katastrophen zu gewährleisten. Sie können diese Backups auch jederzeit in jeder Azure-Region während der Aufbewahrungszeit wiederherstellen. Weitere Informationen finden Sie unter Geschäftskontinuität in der Azure SQL-Datenbank.

Wie versichere ich die Geschäftskontinuität im Falle einer Katastrophe auf Rechenzentrumsebene oder einer regionalen Katastrophe?

Speichern Sie Ihre Datenbank-Backups in geo-repliziertem Speicher, damit Sie im Falle einer regionalen Katastrophe das Backup in eine andere Azure-Region wiederherstellen können. Diese Funktion wird als Geo-Wiederherstellung bezeichnet. Weitere Informationen und den Zeitplan der Geowiederherstellungen finden Sie unter Geowiederherstellung für Azure SQL-Datenbank.

Für unternehmenskritische Datenbanken bietet Azure SQL-Datenbank eine aktive Georeplikation, die eine georeplizierte sekundäre Kopie Ihrer ursprünglichen Datenbank in einer anderen Region erstellt. Wenn Ihre Datenbank beispielsweise ursprünglich in der Azure-Region West US gehostet wird und Sie eine regionale Ausfallsicherheit wünschen, erstellen Sie eine aktive Geo-Replik der Datenbank von den West- zu den Ost-USA. Wenn der Westen der USA von einer Katastrophe heimgesucht wird, können Sie auf die Region Osten der USA ausweichen.

Zusätzlich zur aktiven Geo-Replikation helfen Failover-Gruppen dabei, die Replikation und das Failover einer Gruppe von Datenbanken zu verwalten. Sie können eine Failovergruppe erstellen, die mehrere Datenbanken in denselben oder verschiedenen Regionen enthält. Anschließend können Sie ein Failover aller Datenbanken in der Failovergruppe in die sekundäre Region initiieren. Weitere Informationen finden Sie unter Übersicht über Failovergruppen und bewährte Methoden (Azure SQL-Datenbank).

Um Ausfallsicherheit für Ausfall von Rechenzentren oder Verfügbarkeitszonen zu erzielen, stellen Sie sicher, dass Zonenredundanz für die Datenbank oder den elastischen Pool aktiviert ist.

Überwachen Sie Ihre Anwendung aktiv im Hinblick auf einen Ausfall und leiten Sie ein Failover zur sekundären Instanz ein. Sie können bis zu vier aktive geografische Replikate in verschiedenen Azure-Regionen erstellen. Es wird sogar noch besser. Sie können auch auf diese sekundären aktiven Geo-Replikate zugreifen, um nur zu lesen, was hilft, die Latenz in einem geo-verteilten Anwendungsszenario zu reduzieren.

Wie sieht die Notfallwiederherstellung mit SQL-Datenbank aus?

Sie können Ihre Notfallwiederherstellungsstrategie in nur wenigen Schritten in Azure SQL-Datenbank konfigurieren, wenn Sie aktive Geo-Replikation oder Failover-Gruppen verwenden. Sie müssen die Anwendung und ihre Datenbank weiterhin auf Anzeichen einer regionalen Katastrophe überwachen und ein Failover in die Sekundärregion durchführen, um die Geschäftskontinuität wiederherzustellen.

Weitere Informationen finden Sie unter Azure SQL-Datenbank Disaster Recovery 101.

Sicherheit und Compliance

Azure SQL-Datenbank bietet Sicherheit sowohl auf Datenbankebene als auch auf Plattformebene. Sie können Ihre Anwendung mit den folgenden Funktionen steuern und optimale Sicherheit bieten:

Microsoft Defender für Cloud bietet eine zentralisierte Sicherheitsverwaltung über verschiedene Workloads hinweg an, die in Azure-Clouds und in lokalen sowie anderen Clouds ausgeführt werden können. Sie können anzeigen, ob der grundlegende SQL-Datenbankschutz wie Überwachung und transparente Datenverschlüsselung [TDE] für alle Ressourcen konfiguriert sind, und Richtlinien basierend auf Ihren eigenen Anforderungen erstellen.

Welche Benutzerauthentifizierungsmethoden bietet SQL Database an?

SQL Database bietet zwei Authentifizierungsmethoden an:

Die Windows-Authentifizierung wird nicht unterstützt. Microsoft Entra ID ist ein zentraler Identitäts- und Zugriffsverwaltungsdienst. Die Microsoft Entra ID bietet SSO (Single Sign-On) Zugriff für das Personal in Ihrer Organisation. Das bedeutet, dass die Zugangsdaten zwischen Azure-Diensten geteilt werden, um die Authentifizierung zu erleichtern.

Microsoft Entra ID unterstützt Multifaktor-Authentifizierung und lässt sich problemlos mit Microsoft Entra Connect Sync integrieren. Diese Integration ermöglicht es Azure SQL-Datenbank außerdem, Multifaktor-Authentifizierung und Gastbenutzerkonten innerhalb einer Microsoft Entra-Domäne anzubieten. Wenn Sie bereits ein lokales Active Directory verwenden, können Sie einen Partnerverbund zwischen diesem Verzeichnis und Microsoft Entra ID einrichten und das Verzeichnis auf Azure erweitern.

Die SQL-Authentifizierung unterstützt nur Benutzername und Kennwort zum Authentifizieren von Benutzern bei einer Datenbank auf einem bestimmten Server.

Wenn du ... ... verwenden
AD auf einem lokalen SQL-Server verwendet haben, richten Sie einen Partnerverbund zwischen AD und Microsoft Entra ID ein, und verwenden Sie die Microsoft Entra-Authentifizierung. Mithilfe des Verbunds können Sie Single Sign-On verwenden.
Multi-Faktor-Authentifizierung durchsetzen müssen Erfordern Sie eine mehrstufige Authentifizierung als Richtlinie mittels bedingtem Zugriff und verwenden Sie die mehrstufige Microsoft Entra-Authentifizierung.
Sind mit Ihren Microsoft Entra-Anmeldeinformationen aus einer Verbunddomäne bei Windows angemeldet Verwenden Sie die Microsoft Entra-Authentifizierung.
Sind mit Anmeldeinformationen aus einer Domäne, die nicht mit Azure verbunden ist, bei Windows angemeldet Die integrierte Microsoft Entra-Authentifizierung verwenden.
Habe Middle-Tier-Dienste, die eine Verbindung zu SQL Database benötigen Die integrierte Microsoft Entra-Authentifizierung verwenden.
Eine technische Anforderung für die Verwendung der SQL-Authentifizierung haben Verwenden Sie SQL-Authentifizierung

Wie kann ich den Verbindungszugriff auf meine Datenbank einschränken oder steuern?

Um die Konnektivität für Ihre Anwendung zu organisieren, verwenden Sie die folgenden Techniken:

  • Firewallregeln
  • Dienstendpunkte des virtuellen Netzwerks
  • Reservierte IP-Adressen

Firewall

Standardmäßig verbietet der logische SQL-Server alle Verbindungen zu Datenbanken, außer (optional) Verbindungen von anderen Azure-Diensten. Durch die Verwendung einer Firewall-Regel können Sie den Zugriff auf Ihren Server nur für Entitäten (zum Beispiel eine Entwicklerrechner) öffnen, die Sie genehmigen, indem Sie die IP-Adresse dieses Computers durch die Firewall zulassen. Du kannst auch eine Reihe von IPs angeben, mit denen du Zugriff auf den Server erlauben möchtest. Zum Beispiel können Sie die IP-Adressen von Entwicklerrechnern in Ihrer Organisation auf einmal hinzufügen, indem Sie auf der Seite mit den Firewall-Einstellungen einen Bereich angeben.

Firewallregeln können auf Server- oder auf Datenbankebene erstellt werden. Sie können Server-Level-IP-Firewall-Regeln erstellen, indem Sie das Azure-Portal oder SSMS verwenden. Weitere Informationen zum Festlegen einer Firewallregel auf Serverebene und Datenbankebene finden Sie unter Erstellen von IP-Firewallregeln in sql-Datenbank.

Dienstendpunkte

Standardmäßig ist Ihre Datenbank so konfiguriert, dass Azure-Dienste und -Ressourcen auf diesen Server zugreifen, was bedeutet, dass jede virtuelle Maschine in Azure versuchen könnte, sich mit Ihrer Datenbank zu verbinden. Diese Versuche müssen noch authentifiziert werden. Wenn Sie nicht möchten, dass auf Ihre Datenbank von Azure-IPs zugegriffen werden kann, können Sie die Option Azure-Diensten und -Ressourcen den Zugriff auf diesen Server erlauben deaktivieren. Darüber hinaus können Sie Endpunkte für virtuelle Netzwerke konfigurieren.

Mit Dienstendpunkten können Sie Ihre kritischen Azure-Ressourcen nur für Ihr eigenes privates virtuelles Netzwerk in Azure verfügbar machen. Mit dieser Option wird der öffentliche Zugriff auf Ihre Ressourcen beseitigt. Der Datenverkehr zwischen Ihrem virtuellen Netzwerk und Azure erfolgt weiterhin über das Azure-Backbonenetzwerk. Ohne Dienstendpunkte wird die Paketweiterleitung durch erzwungene Tunnelung durchgeführt. Ihr virtuelles Netzwerk erzwingt, dass der an Ihre Organisation gerichtete Internetdatenverkehr und der Datenverkehr der Azure-Dienste über dieselbe Route transportiert werden. Durch die Nutzung von Service-Endpunkten fließen die Pakete direkt von Ihrem virtuellen Netzwerk zum Service im Azure-Backbone-Netzwerk.

Reservierte IP-Adressen

Sie können auch reservierte IP-Adressen für Ihre virtuellen Computer bereitstellen und diese IP-Adressen für spezifische virtuelle Computer den Firewalleinstellungen des Servers hinzufügen. Durch die Zuweisung reservierter IPs musst du die Firewall-Regeln nicht mit wechselnden IP-Adressen aktualisieren.

Auf welchem Port kann ich eine Verbindung mit DER SQL-Datenbank herstellen?

Azure SQL-Datenbank kommuniziert über Port 1433. Um sich innerhalb eines Unternehmensnetzwerks zu verbinden, müssen Sie eine Outbound-Regel in den Firewall-Einstellungen Ihrer Organisation hinzufügen. Port 1433 sollte grundsätzlich nicht außerhalb von Azure verfügbar gemacht werden.

Wie kann ich Aktivitäten auf meinem Server und meiner Datenbank in der SQL-Datenbank überwachen und regulieren?

SQL-Datenbanküberwachung

Die Azure SQL-Datenbanküberwachung zeichnet Datenbankereignisse auf und schreibt sie in eine Überwachungsprotokolldatei in Ihrem Azure Storage-Konto. Prüfungen sind besonders nützlich, wenn Sie Einblicke in potenzielle Sicherheits- und Richtlinienverstöße gewinnen, regulatorische Vorschriften aufrechterhalten und vieles mehr. Es bietet vorkonfigurierte Berichte und ein Dashboard, das Ihnen einen Überblick über Ereignisse in Ihrer Datenbank gibt. Man kann die Kategorien von Ereignissen definieren und konfigurieren, die geprüft werden müssen.

Sie können diese Audit-Richtlinien auf Datenbankebene oder Serverebene anwenden. Weitere Informationen finden Sie unter SQL Database Auditing aktivieren.

Bedrohungserkennung

Durch die Nutzung von Bedrohungserkennung können Sie auf Sicherheits- oder Richtlinienverstöße reagieren, die durch Audits entdeckt werden. Sie müssen kein Sicherheitsexperte sein, um potenzielle Bedrohungen oder Verstöße in Ihrem System zu beseitigen. Die Bedrohungserkennung verfügt auch über einige integrierte Funktionen wie SQL-Injektionserkennung, die eine gängige Methode ist, eine Datenbankanwendung anzugreifen. Die Bedrohungserkennung führt mehrere Algorithmengruppen aus, die potenzielle Schwachstellen und SQL-Injektionen erkennen, sowie anomale Datenbankzugriffsmuster (z. B. Zugriff von einem ungewöhnlichen Ort oder durch einen unbekannten Nutzer).

Sicherheitsbeauftragte oder andere vorgesehene Administratoren erhalten eine E-Mail-Benachrichtigung, wenn eine Bedrohung auf der Datenbank erkannt wird. Jede Benachrichtigung enthält Details zur verdächtigen Aktivität und Empfehlungen zur weiteren Untersuchung und Abwendung der Bedrohung. Informationen zum Aktivieren der Bedrohungserkennung finden Sie unter "Aktivieren der Bedrohungserkennung".

Wie kann ich meine Daten im Allgemeinen in der SQL-Datenbank schützen?

Die Verschlüsselung bietet wirkungsvollen Schutz vor unbefugten Zugriffen auf sensible Daten. Ohne Entschlüsselungsschlüssel sind verschlüsselte Daten für Angreifer wertlos. Auf diese Weise bietet sie zusätzlichen Schutz und ergänzt die bereits in SQL-Datenbank integrierten Sicherheitsstufen. Es gibt zwei Aspekte beim Schutz Ihrer Daten in der SQL-Datenbank:

  • Ihre Daten im Ruhezustand in den Daten- und Protokolldateien
  • Ihre Daten in-Flight

In der SQL-Datenbank sind Ihre ruhenden Daten in den Daten und Protokolldateien im Speichersubsystem standardmäßig vollständig und immer über transparente Datenverschlüsselung (TDE) verschlüsselt. Ihre Sicherungen werden ebenfalls verschlüsselt. Bei TDE sind keine Änderungen auf der Anwendungsseite erforderlich, die auf diese Daten zugreifen. Wie der Name erkennen lässt, erfolgen die Verschlüsselung und Entschlüsselung transparent.

Für den Schutz Ihrer vertraulichen Daten während der Übertragung und im Ruhezustand stellt SQL Database ein Feature namens Always Encrypted bereit. Always Encrypted ist eine Form der clientseitigen Verschlüsselung, die vertrauliche Spalten in Ihrer Datenbank verschlüsselt (daher befinden sie sich in Chiffretext für Datenbankadministratoren und nicht autorisierte Benutzer). Der Server empfängt zunächst die verschlüsselten Daten.

Der Schlüssel für die Always Encrypted-Verschlüsselung wird ebenfalls auf Clientseite gespeichert, damit die sensiblen Spalten nur von autorisierten Clients entschlüsselt werden können. Server- und Datenadministratoren haben keinen Zugriff auf die sensiblen Daten, da die Verschlüsselungsschlüssel auf dem Client gespeichert sind. Always Encrypted verschlüsselt vertrauliche Spalten in der Tabelle durchgängig, vom unautorisierten Zugriff bis hin zum physischen Datenträger.

Always Encrypted unterstützt Gleichheitsvergleiche, sodass DBAs verschlüsselte Spalten weiterhin als Teil ihrer SQL-Befehle abfragen können. Always Encrypted kann mit einer Vielzahl von Schlüsselspeicheroptionen verwendet werden, beispielsweise mit Azure Key Vault, dem Windows-Zertifikatspeicher sowie lokalen Hardware-Sicherheitsmodulen.

Merkmale Immer Verschlüsselt Transparente Datenverschlüsselung
Umfang der Verschlüsselung Ende-zu-Ende Daten im Ruhezustand
Server kann auf sensible Daten zuzugreifen Nein Ja, da die Verschlüsselung ruhende Daten betrifft
Zulässige T-SQL-Vorgänge Gleichheitsvergleich Die gesamte T-SQL-Oberfläche ist verfügbar
Sind zur Verwendung der Funktion Änderungen an Apps erforderlich? Wenig Wenig
Granularität der Verschlüsselung Spaltenebene Datenbankebene

Wie kann ich den Zugriff auf vertrauliche Daten in meiner Datenbank einschränken?

Jede Anwendung enthält sensible Daten in der Datenbank, die Sie davor schützen müssen, dass sie für alle sichtbar sind. Bestimmte Mitarbeiter innerhalb der Organisation müssen diese Daten einsehen, andere jedoch nicht. In solchen Fällen müssen Sie entweder Ihre sensiblen Daten verbergen oder gar nicht offenlegen. SQL Database bietet zwei Ansätze, um unbefugte Nutzer daran zu hindern, sensible Daten einzusehen:

  • Dynamische Datenmaskierung ist eine Datenmaskierungsfunktion, die Sie nutzen können, um sensible Datenexposition zu begrenzen, indem Sie sie für nicht privilegierte Nutzer maskieren. Man definiert eine Maskierungsregel, die ein Maskierungsmuster erzeugt. Zum Beispiel kann man nur die letzten vier Ziffern einer nationalen ID-Nummer XXX-XX-0000 anzeigen und den Rest mit dem Zeichen X maskieren. Mit dynamischer Datenmaskierung erkennt man, welche Nutzer von der Maskierungsregel ausgeschlossen sind, und kann unmaskierte Daten sehen. Das Maskieren erfolgt spontan und verschiedene Maskierungsfunktionen stehen für verschiedene Datenkategorien zur Verfügung.

  • Mit der Sicherheit auf Zeilenebene können Sie den Zugriff auf Zeilenebene steuern. Diese Funktion verbirgt bestimmte Zeilen in einer Datenbanktabelle, basierend auf dem Benutzer, der die Abfrage ausführt (Gruppenmitgliedschaft oder Ausführungskontext). Die Zugriffsbeschränkung erfolgt auf der Datenbankebene statt in einer Anwendungsebene, was die App-Logik vereinfacht. Du beginnst damit, ein Prädikat zu erstellen, das Zeilen herausfiltert, die nicht exponiert sind. Dann erstellst du die Sicherheitsrichtlinie, die definiert, wer Zugriff auf diese Zeilen hat. Schließlich führt der Endnutzer seine Abfrage aus und sieht je nach Berechtigung entweder diese eingeschränkten Zeilen an oder kann sie gar nicht sehen.

Wie verwalte ich Verschlüsselungsschlüssel in der Cloud?

Sowohl Always Encrypted (clientseitige Verschlüsselung) als auch transparente Datenverschlüsselung (Verschlüsselung im Ruhestand) bieten kundenverwaltete Schlüsseloptionen . Rotieren Sie die Verschlüsselungsschlüssel regelmäßig. Wählen Sie eine Rotationsfrequenz, die mit Ihren internen Unternehmensvorschriften und Compliance-Anforderungen übereinstimmt.

TDE (Transparent Data Encryption)

TDE verwendet eine Zwei-Schlüssel-Hierarchie. Die Daten jeder Benutzerdatenbank werden durch einen symmetrischen AES-256-Datenbank-eindeutigen Datenbankverschlüsselungsschlüssel (DEK) verschlüsselt, der wiederum durch einen server-eindeutigen asymmetrischen RSA 2048-Hauptschlüssel verschlüsselt wird. Der Hauptschlüssel kann wie folgt verwaltet werden:

  • Automatisch von Azure SQL-Datenbank
  • Oder wenn Sie Azure Key Vault als Schlüsselspeicher verwenden

Standardmäßig verwaltet Azure SQL-Datenbank den TDE-Hauptschlüssel. Wenn Ihre Organisation die Kontrolle über den Hauptschlüssel haben möchte, verwenden Sie Azure Key Vault als Schlüsselspeicher. Durch die Verwendung von Azure Key Vault übernimmt Ihre Organisation die Kontrolle über die Schlüsselbereitstellung, die Schlüsselrotation und die Berechtigungssteuerung. Die Rotation oder der Wechsel des Typs eines TDE-Masterschlüssels erfolgt schnell, da nur der DEK erneut verschlüsselt wird. Für Organisationen mit Trennung der Rollen zwischen Sicherheit und Datenmanagement kann ein Sicherheitsadministrator das Schlüsselmaterial für den TDE-Hauptschlüssel in Azure Key Vault bereitstellen und dem Datenbankadministrator eine Azure Key Vault-Schlüsselkennung zur Verschlüsselung im Ruhezustand auf einem Server zur Verfügung stellen. Key Vault ist dafür ausgelegt, dass Microsoft Verschlüsselungsschlüssel weder anzeigt noch extrahiert. Zusätzlich können Sie eine zentrale Schlüsselverwaltung für Ihre Organisation nutzen.

Immer Verschlüsselt

Always Encrypted verwendet außerdem eine Zwei-Tasten-Hierarchie. Eine Spalte sensibler Daten wird mit einem AES-256-Spalten-Verschlüsselungsschlüssel (CEK) verschlüsselt, der wiederum mit einem Spalten-Hauptschlüssel (CMK) verschlüsselt wird. Die für Always Encrypted bereitgestellten Clienttreiber unterliegen keinen Beschränkungen hinsichtlich der Länge von Spaltenhauptschlüsseln (CMKs). Der verschlüsselte Wert des Spaltenverschlüsselungsschlüssels wird in der Datenbank gespeichert, und der Spaltenhauptschlüssel wird in einem vertrauenswürdigen Schlüsselspeicher wie dem Windows-Zertifikatspeicher, Azure Key Vault oder einem Hardware-Sicherheitsmodul gespeichert.

  • Rotiere sowohl CEK als auch CMK.

  • Die Rotation des Spaltenverschlüsselungsschlüssels (CEK) ist ein Vorgang, der von der Datenmenge abhängt, und kann je nach Größe der Tabellen, die die verschlüsselten Spalten enthalten, zeitaufwendig sein. Planen Sie die CEK-Rotationen entsprechend.

  • Die CMK-Rotation beeinträchtigt die Datenbankleistung nicht und kann mit getrennten Rollen durchgeführt werden.

Das folgende Diagramm zeigt die Schlüsselspeicheroptionen für die Spaltenmasterschlüssel in Always Encrypted:

Diagramm der CMK-Speicheranbieter von Always Encrypted.

Wie kann ich den Datenverkehr zwischen meiner Organisation und sql-Datenbank optimieren und sichern?

Der Netzwerkverkehr zwischen Ihrer Organisation und der SQL-Datenbank läuft in der Regel über das öffentliche Netzwerk. Sie können diesen Pfad jedoch optimieren und sicherer machen, indem Sie Azure ExpressRoute verwenden. ExpressRoute erweitert Ihr Firmennetzwerk über eine private Verbindung auf die Azure-Plattform und umgeht damit das öffentliche Internet. Außerdem erhalten Sie eine höhere Sicherheit, Zuverlässigkeit und Routingoptimierung, die sich in geringere Netzwerklatenzen und schnellere Geschwindigkeiten übersetzt, als Sie normalerweise über das öffentliche Internet erleben würden. Wenn Sie planen, einen erheblichen Datenbestand zwischen Ihrer Organisation und Azure zu übertragen, kann die Nutzung von ExpressRoute Kostenvorteile bringen. Für Verbindungen zwischen Ihrer Organisation und Azure stehen drei Konnektivitätsmodelle zur Auswahl:

ExpressRoute ermöglicht es Ihnen auch, bis zu 2x die Bandbreitengrenze aufzulösen, die Sie ohne Zusätzliche Kosten erwerben. Du kannst auch die regionsübergreifende Konnektivität mit ExpressRoute konfigurieren. Eine Liste der ExpressRoute-Verbindungsanbieter finden Sie unter ExpressRoute-Partner und Peeringstandorte. Die folgenden Artikel beschreiben ExpressRoute ausführlicher:

Ist die SQL-Datenbank konform mit regulatorischen Anforderungen, und inwiefern unterstützt dies die Compliance meiner eigenen Organisation?

Azure SQL-Datenbank entspricht einer Reihe regulatorischer Anforderungen. Um die neuesten Anforderungen der SQL Database einzusehen, besuchen Sie das Microsoft Trust Center und prüfen Sie die für Ihre Organisation wichtigen Compliances, um zu sehen, ob SQL Database unter den konformen Azure-Diensten enthalten ist. Obwohl SQL-Datenbank als konformer Dienst zertifiziert wurde, unterstützt sie die Einhaltung der Dienste Ihrer Organisation, garantiert diese jedoch nicht automatisch.

Intelligente Datenbanküberwachung und -wartung nach der Migration

Nachdem du deine Datenbank in die SQL-Datenbank migriert hast, überwache deine Datenbank (zum Beispiel prüfe die Ressourcenauslastung oder DBCC-Prüfungen) und führe regelmäßige Wartungen durch (zum Beispiel Indexe, Statistiken und mehr neu aufbauen oder neu organisieren). SQL-Datenbank verwendet die historischen Trends und aufgezeichneten Metriken und Statistiken, um Sie proaktiv bei der Überwachung und Pflege Ihrer Datenbank zu unterstützen, damit Ihre Anwendung immer optimal ausgeführt wird. In einigen Fällen können Wartungsaufgaben abhängig von der Konfiguration von Azure SQL-Datenbank automatisch ausgeführt werden. Die Überwachung Ihrer Datenbank in SQL-Datenbank umfasst drei Aspekte:

  • Leistungsüberwachung und -optimierung
  • Sicherheitsoptimierung
  • Kostenoptimierung

Leistungsüberwachung und -optimierung

Durch die Nutzung von Query Performance Insights erhalten Sie maßgeschneiderte Empfehlungen für Ihre Datenbankarbeit, damit Ihre Anwendungen auf einem optimalen Niveau weiterlaufen können. Sie können die Funktion auch so konfigurieren, dass die Empfehlungen automatisch angewendet werden und Sie sich keine Gedanken um Wartungsaufgaben machen müssen. Mit SQL Database Advisor können Sie automatisch Indexempfehlungen basierend auf Ihrer Arbeitsbelastung implementieren. Diese Funktion heißt Auto-Tuning. Die Empfehlungen ändern sich parallel zur Arbeitsauslastung Ihrer Anwendung, sodass Sie immer relevante Vorschläge erhalten. Sie können diese Empfehlungen auch manuell überprüfen und nach Ihrem Ermessen anwenden.

Sicherheitsoptimierung

SQL Database bietet umsetzbare Sicherheitsempfehlungen, die Ihnen helfen, Ihre Daten zu sichern. Es bietet außerdem Bedrohungserkennung zur Identifizierung und Untersuchung verdächtiger Datenbankaktivitäten, die eine potenzielle Bedrohung für die Datenbank darstellen können. Die Schwachstellenbewertung ist ein Datenbank-Scan- und Berichtsdienst, den Sie nutzen können, um den Sicherheitszustand Ihrer Datenbanken in großem Umfang zu überwachen und Sicherheitsrisiken sowie Abweichungen von einer von Ihnen definierten Sicherheitsbasis zu identifizieren. Nach jedem Scan wird eine personalisierte Liste umsetzbarer Schritte und Sanierungsskripte bereitgestellt, zusammen mit einem Bewertungsbericht, der Ihnen helfen kann, Compliance-Anforderungen zu erfüllen.

Mit Microsoft Defender for Cloud können Sie Sicherheitsempfehlungen umfassend identifizieren und schnell umsetzen.

Kostenoptimierung

Die Azure SQL-Plattform analysiert die Nutzungshistorie über die Datenbanken eines Servers hinweg, um Kostenoptimierungsoptionen zu bewerten und zu empfehlen. Die Analyse und Formulierung umsetzbarer Empfehlungen dauert normalerweise einige Wochen.

Unter Umständen erhalten Sie in Ihrem Azure SQL-Server Bannerbenachrichtigungen mit Kostenempfehlungen. Weitere Informationen finden Sie unter Elastic Pools helfen Ihnen, mehrere Datenbanken in Azure SQL-Datenbank zu verwalten und zu skalieren sowie Kosten für Azure SQL-Datenbank zu planen und zu verwalten.

Wie kann ich die Leistung und Ressourcenauslastung in der SQL-Datenbank überwachen?

Sie können Leistung und Ressourcenauslastung in SQL Database überwachen, indem Sie folgende Methoden verwenden:

Datenbank-Überwachung

Der Datenbankwatcher erfasst detaillierte Workload-Überwachungsdaten und vermittelt Ihnen detaillierte Einblicke in die Datenbankleistung, Konfiguration und Integrität. Dashboards im Azure-Portal vermitteln einen umfassenden Überblick über Ihre Azure SQL-Umgebung und Detailansichten aller überwachten Ressourcen. Die Daten werden in einem zentralen Datenspeicher in Ihrem Azure-Abonnement erfasst. Sie können gesammelte Daten abfragen, analysieren, exportieren, visualisieren und in nachgelagerte Systeme integrieren.

Weitere Informationen zum Datenbank-Watcher finden Sie in den folgenden Artikeln:

Azure-Portal

Das Azure-Portal zeigt die Auslastung einer Datenbank an, wenn Sie die Datenbank auswählen und das Diagramm im Übersichtsbereich auswählen. Sie können das Diagramm ändern, sodass mehrere Metriken z.B. zum CPU-, DTU- und Data IO-Prozentsatz sowie zu den Sitzungen und Datenbankgrößen in Prozent angezeigt werden.

Screenshot eines Überwachungsdiagramms einer Datenbank-DTU aus dem Azure-Portal.

In diesem Diagramm können Sie außerdem Warnungen nach Ressourcen konfigurieren. Diese Warnungen ermöglichen es Ihnen, auf Ressourcenbedingungen per E-Mail zu reagieren, auf einen HTTPS/HTTP-Endpunkt zu schreiben oder eine Aktion auszuführen. Weitere Informationen finden Sie unter Create alerts for Azure SQL-Datenbank using the Azure Portal.

Dynamische Verwaltungssichten

Sie können die dynamische Verwaltungssicht sys.dm_db_resource_stats abfragen, um den statistischen Verlauf des Ressourcenverbrauchs der letzten Stunde zurückzugeben. Ebenso können Sie die Systemkatalogsicht sys.resource_stats abfragen, um den Verlauf der letzten 14 Tage zurückzugeben.

Einblick in die Abfrageleistung

Über Statistik zur Abfrageleistung können Sie den Verlauf der Abfragen, die den höchsten Ressourcenverbrauch aufweisen, und die Abfragen mit langer Laufzeit für eine bestimmte Datenbank einsehen. Sie können Abfragen schnell nach Ressourcenauslastung, Dauer und Ausführungshäufigkeit identifizieren TOP . Sie können Abfragen nachverfolgen und Regressionen erkennen. Für Dieses Feature muss der Abfragespeicher aktiviert und für die Datenbank aktiv sein.

Screenshot einer Statistik zur Abfrageleistung aus dem Azure-Portal.

Ich bemerke Leistungsprobleme: Wie unterscheidet sich meine SQL-Datenbank-Problembehandlungsmethode von SQL Server?

Die meisten Fehlerbehebungstechniken, die Sie zur Diagnose von Abfrage- und Datenbankleistungsproblemen verwenden, sind dieselben wie bei einem lokalen SQL Server. Azure SQL-Datenbank verwendet dieselbe SQL Datenbank-Engine. Funktionen in Azure helfen Ihnen jedoch, Leistungsprobleme noch einfacher zu beheben und zu diagnostizieren. Es kann auch einige dieser Korrekturmaßnahmen in Ihrem Namen ausführen und sie in manchen Fällen proaktiv automatisch beheben.

Ihr Ansatz zur Fehlerbehebung von Leistungsproblemen kann von intelligenten Funktionen wie Query Performance Insight (QPI) und Database Advisor erheblich profitieren. Der Unterschied in der Methodik besteht darin, dass Sie nicht mehr die manuelle Arbeit übernehmen müssen, um die wesentlichen Details zu erarbeiten, die Ihnen helfen könnten, das Problem zu lösen. Diese Arbeit leistet die Plattform für Sie. Ein Beispiel für diese Arbeit ist QPI. Mit QPI können Sie bis zur Abfrageebene hinunterbohren und sich die historischen Trends ansehen, um genau herauszufinden, wann die Abfrage zurückgegangen ist. Der Database Advisor gibt Ihnen Empfehlungen zu Dingen, die Ihnen helfen könnten, Ihre Gesamtleistung generell zu verbessern, wie zum Beispiel fehlende Indizes, das Weglassen von Indexen, die Parametrisierung Ihrer Abfragen und mehr.

Bei der Performance-Fehlersuche ist es wichtig herauszufinden, ob es nur die Anwendung oder die Datenbank ist, die die Leistung Ihrer Anwendung beeinflusst. Häufig wird das Leistungsproblem durch die Anwendungsschicht verursacht, beispielsweise durch die Architektur oder das Datenzugriffsmuster. Angenommen, Sie haben eine kommunikationsintensive Anwendung, die anfällig für Netzwerklatenzen ist. In diesem Fall leidet Ihre Anwendung darunter, dass zahlreiche kurze Anfragen zwischen der Anwendung und dem Server hin- und hergeschickt werden („chatty“). In einem überlasteten Netz summieren sich diese Hin- und Rückfahrten schnell. Um die Leistung in diesem Fall zu verbessern, können Sie Batchabfragen verwenden, die dazu beitragen, die Round-Trip-Latenz zu reduzieren und die Leistung Ihrer Anwendung zu verbessern.

Außerdem können Sie, falls Sie eine Verschlechterung der Gesamtleistung Ihrer Datenbank bemerken, die sys.dm_db_resource_stats und sys.resource_stats dynamischen Verwaltungsansichten überwachen, um den CPU-, IO- und Speicherverbrauch zu verstehen. Ihre Leistung kann beeinträchtigt werden, wenn Ihre Datenbank von Ressourcen ausgehungert ist. Möglicherweise müssen Sie die Berechnungsgröße und/oder die Dienstebene basierend auf den wachsenden und verkleinerten Workloadanforderungen ändern.

Für einen umfassenden Satz von Empfehlungen für Optimierungsprobleme siehe Tune your database.

Wie stelle ich sicher, dass ich die passende Service-Tier und Rechengröße verwende?

Die SQL-Datenbank bietet zwei verschiedene Kaufmodelle: das ältere DTU-Modell und das anpassungsfähigere Kaufmodell mit virtuellen Kernen. Weitere Informationen finden Sie unter Vergleichen von vCore- und DTU-basierten Einkaufsmodellen von Azure SQL-Datenbank.

Sie können den Abfrage- und Datenbankressourcenverbrauch in beiden Einkaufsmodellen überwachen. Weitere Informationen finden Sie unter Überwachung und Leistungsoptimierung. Wenn Sie feststellen, dass Ihre Datenbanken konstant mit hoher Auslastung laufen, sollten Sie in Erwägung ziehen, auf eine höhere Rechengröße zu skalieren. Ähnlich gilt: Wenn du die Ressourcen während der Hauptverkehrszeiten nicht so stark nutzt, solltest du eine Reduzierung von der aktuellen Rechengröße in Betracht ziehen. Du kannst in Erwägung ziehen, Azure Automation zu nutzen, um deine SQL-Datenbanken nach einem Zeitplan zu skalieren.

Wenn Sie ein SaaS-App-Muster oder ein Datenbankkonsolidierungsszenario haben, sollten Sie in Erwägung ziehen, einen elastischen Pool zur Kostenoptimierung zu verwenden. Ein elastischer Pool ist eine großartige Möglichkeit, Datenbankkonsolidierung und Kostenoptimierung zu erreichen. Weitere Informationen zur Verwaltung mehrerer Datenbanken durch Verwendung eines elastischen Pools finden Sie unter Pools und Datenbanken verwalten.

Wie oft muss ich datenbankintegritätsprüfungen für meine Datenbank ausführen?

SQL-Datenbank kann bestimmte Klassen von Datenbeschädigungen automatisch und ohne Datenverlust verarbeiten. Der Dienst verwendet diese eingebauten Techniken, wenn der Bedarf besteht. Wenn es Probleme gibt, geht SQL Database diese proaktiv an. Als zusätzliche Schutzschicht könnten Sie die Wiederherstellung von Backups testen und Integritätsprüfungen durchführen. Weitere Informationen finden Sie unter Data Integrity in Azure SQL-Datenbank.

Automatische Seitenreparatur wird verwendet, um Seiten zu beheben, die beschädigt sind oder Probleme mit der Datenintegrität aufweisen. Die Einstellung CHECKSUM überprüft immer die Integrität der Datenbankseiten. Weitere Informationen finden Sie unter "Datenintegrität" in der SQL-Datenbank.

Datenverschiebung nach der Migration

Wie exportiere und importiere ich Daten als BACPAC-Dateien aus der SQL-Datenbank mithilfe des Azure-Portals?

  • Export: Sie können Ihre Datenbank in der Azure SQL-Datenbank als BACPAC-Datei aus dem Azure-Portal exportieren:

    Screenshot der Schaltfläche „Datenbank exportieren“ für eine Azure SQL-Datenbank aus dem Azure-Portal.

  • Import: Sie können Daten auch als BACPAC-Datei in Ihre Datenbank in Azure SQL-Datenbank importieren, indem Sie das Azure-Portal verwenden:

    Screenshot der Schaltfläche „Datenbank importieren“ für einen Azure SQL-Server aus dem Azure-Portal.

Wie kann ich Daten zwischen SQL-Datenbank und SQL Server synchronisieren?

Weitere Informationen zu Alternativen zur Datensynchronisierung finden Sie unter Migrate to alternative solutions.