Freigeben über


Neuer DBA in der Cloud – Verwalten von 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
  • Datenverschiebung

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. Bevor Sie sich für einen Wechsel zu einer niedrigeren Computegröße entscheiden, müssen Sie aber auch Workloads berücksichtigen, die Spitzen oder Schwankungen aufweisen können.

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 benötigt jede Woche eine vollständige Sicherung, differenzielle Sicherung alle paar Stunden und eine Protokollsicherung alle 5 Minuten, um sicherzustellen, dass die Notfallwiederherstellung effizient ist, und Der Datenverlust ist minimal. Die erste vollständige Sicherung erfolgt direkt nach dem Erstellen einer Datenbank. Diese Sicherungen stehen Ihnen für einen bestimmten Zeitraum, der als Aufbewahrungszeitraum bezeichnet wird, zur Verfügung, der je nach ausgewählter Dienstebene variiert. Sie können einen beliebigen Zeitpunkt innerhalb dieses Aufbewahrungszeitraums mithilfe von Point in Time Recovery (PITR) wiederherstellen.

Darüber hinaus können Sie mit dem Feature "Langfristige Aufbewahrungssicherungen " Ihre Sicherungsdateien für bis zu 10 Jahre aufbewahren und Daten aus diesen Sicherungen jederzeit innerhalb dieses Zeitraums wiederherstellen. Datenbanksicherungen werden im georeplizierten Speicher aufbewahrt, um Resilienz aus der regionalen Katastrophe zu gewährleisten. Die Sicherungen können auch in jeder Azure-Region zu einem beliebigen Zeitpunkt innerhalb der Beibehaltungsdauer wiederhergestellt werden. 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?

Da Ihre Datenbanksicherungen in einem georeplizierten Speicher gespeichert werden, ist sichergestellt, dass Sie die Sicherungen bei einem regionalen Notfall in einer anderen Azure-Region wiederherstellen können. Dieser Vorgang wird als Geowiederherstellung 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 Georeplikation helfen Ihnen Failover-Gruppen beim Verwalten der Replikation und des Failovers einer Gruppe von Datenbanken. 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 auf ein Notfall, und initiieren Sie ein Failover auf die sekundäre. Sie können bis zu vier aktive geografische Replikate in verschiedenen Azure-Regionen erstellen. Allerdings haben Sie noch weitere Möglichkeiten. Sie können auch schreibgeschützt auf diese sekundären aktiven geografischen Replikate zugreifen. Dies hilft, die Latenz für ein geoverteilte Anwendungsszenario zu verringern.

Wie sieht die Notfallwiederherstellung mit SQL-Datenbank aus?

Die Konfiguration und die Verwaltung der Notfallwiederherstellung können mit nur wenigen Schritten in der Azure SQL-Datenbank erfolgen, wenn Sie die aktive Georeplikation oder Failovergruppen verwenden. Sie müssen die Anwendung und deren Datenbank weiterhin auf regionale Katastrophen überwachen und an die sekundäre Region fehlschlagen, um die Geschäftskontinuität wiederherzustellen.

Weitere Informationen finden Sie unter Azure SQL Database Disaster Recovery 101.

Sicherheit und Compliance

Die Sicherheit innerhalb der SQL-Datenbank ist auf Datenbankebene und auf Plattformebene verfügbar. Sie können ihre Anwendung wie folgt steuern und optimal gewährleisten:

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 werden in der SQL-Datenbank angeboten?

SQL-Datenbank bietet zwei Authentifizierungsmethoden:

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. Dies bedeutet, dass die Anmeldeinformationen für azure-Dienste für eine einfachere Authentifizierung freigegeben werden.

Microsoft Entra ID unterstützt Multi-Faktor-Authentifizierung und kann auf einfache Weise in Windows Server Active Directory integriert werden. Dadurch können SQL-Datenbank und Azure Synapse Analytics außerdem Multi-Faktor-Authentifizierung und Gastbenutzerkonten innerhalb einer Microsoft Entra-Domäne anbieten. 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 Sie... SQL-Datenbank / Azure Synapse Analytics
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.
Verfügen Sie über Dienste auf mittlerer Ebene, die eine Verbindung mit SQL-Datenbank oder Azure Synapse Analytics herstellen müssen. 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?

Es gibt mehrere Methoden, um Verbindungszugriffe für Ihre Anwendung optimal zu organisieren.

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

Firewall

Standardmäßig sind alle Verbindungen mit Datenbanken innerhalb des Servers unzulässig, mit Ausnahme von (optional) Verbindungen, die von anderen Azure-Diensten stammen. Mit einer Firewallregel können Sie den Zugriff auf Ihren Server nur auf Entitäten (z. B. einen Entwicklercomputer) öffnen, den Sie genehmigen, indem Sie die IP-Adresse dieses Computers über die Firewall zulassen. Zudem können Sie einen Bereich von IP-Adressen angeben, über die Sie den Zugriff auf den Server gewähren möchten. Beispielsweise können Sie die IP-Adressen aller Entwicklercomputer in Ihrer Organisation in einem Schritt hinzufügen, indem Sie auf der Seite für Firewalleinstellungen einen Bereich angeben.

Firewallregeln können auf Server- oder auf Datenbankebene erstellt werden. IP-Firewallregeln auf Serverebene können mithilfe des Azure-Portals oder mit SSMS erstellt werden. 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 können. Dies bedeutet, dass jeder virtuelle Computer in Azure versucht, eine Verbindung mit Ihrer Datenbank herzustellen. Die Verbindungsversuche müssen jedoch 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. Mit Dienstendpunkten können Sie dies optimieren, da die Pakete direkt von Ihrem virtuellen Netzwerk zum Dienst im Azure-Backbone-Netzwerk fließen.

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. Das Zuweisen von reservierten IP-Adressen erspart Ihnen das Aktualisieren von Firewallregeln, wenn sich die IP-Adressen ändern.

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

SQL-Datenbank kommuniziert über Port 1433. Um Verbindungen aus einem Unternehmensnetzwerk herzustellen, müssen Sie in den Firewalleinstellungen Ihrer Organisation eine ausgehende Regel 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. Audits sind besonders nützlich, wenn Sie einen Einblick in potenzielle Sicherheits- und Richtlinienverletzungen gewinnen möchten, um die Einhaltung gesetzlicher Vorschriften sicherzustellen, usw. Sie ermöglichen es Ihnen, bestimmte Kategorien von Ereignissen zu definieren und zu konfigurieren, die Ihrer Meinung nach auditiert werden müssen. Basierend darauf können Sie vorkonfigurierte Berichte und ein Dashboard abrufen, um einen Überblick über die Ereignisse in Ihrer Datenbank zu erhalten.

Die Überwachungsrichtlinien können auf Datenbank- oder auf Serverebene angewendet werden. Weitere Informationen zum Aktivieren der SQL-Datenbanküberwachung.

Bedrohungserkennung

Mit der Bedrohungserkennung erhalten Sie die Möglichkeit, auf Sicherheits- oder Richtlinienverletzungen zu reagieren, die von der Überwachung erkannt 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 die SQL-Einfügungserkennung, die eine ziemlich häufige Methode zum Angriff auf eine Datenbankanwendung ist. 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. Der Schutz Ihrer Daten in SQL-Datenbank umfasst zwei Datenkategorien:

  • 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. Diese Verschlüsselungsmethode kann mit einer Vielzahl von Schlüsselspeicheroptionen wie Azure Key Vault, dem Windows-Zertifikatspeicher sowie lokalen Hardware-Sicherheitsmodulen verwendet werden.

Merkmale Immer Verschlüsselt Transparent Data Encryption
Umfang der Verschlüsselung Komplettlösung Ruhende Daten
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 vertrauliche Daten in der Datenbank, die geschützt werden müssen, damit sie nicht für alle sichtbar sind. Bestimmte Personen innerhalb der Organisation müssen diese Daten anzeigen können, während sie anderen verborgen bleiben sollten. In solchen Fällen müssen Ihre vertraulichen Daten entweder maskiert oder überhaupt nicht verfügbar gemacht werden. SQL-Datenbank bietet zwei Methoden, um nicht autorisierten Benutzern den Zugang zu sensiblen Daten zu verweigern:

  • Die dynamische Datenformatierung ist ein Datenformatierungsfeature, mit dem Sie vertrauliche Datenexposition einschränken können, indem Sie sie für Nicht-privilegierte Benutzer auf der Anwendungsebene maskieren. Sie definieren eine Maskierungsregel, die ein Maskierungsmuster erstellen kann (z. B. um nur die letzten vier Ziffern einer nationalen ID-SSN anzuzeigen: XXX-XX-0000 und die meisten davon mit dem X Zeichen zu maskieren) und zu identifizieren, welche Benutzer von der Maskierungsregel ausgeschlossen werden sollen. Die Daten werden dynamisch maskiert. Für die verschiedenen Datenkategorien stehen mehrere Maskierungsfunktionen zur Verfügung. Dank der dynamischen Datenmaskierung können sensible Daten in Ihrer Datenbank automatisch erkannt und maskiert werden.

  • Mit der Sicherheit auf Zeilenebene können Sie den Zugriff auf Zeilenebene steuern. Dies bedeutet, dass bestimmte Zeilen in einer Datenbanktabelle basierend auf dem Benutzer ausgeblendet werden, der die Abfrage ausführt (Gruppenmitgliedschaft oder Ausführungskontext). Die Zugangsbeschränkung wird nicht auf Anwendungsebene, sondern auf Datenbankebene festgelegt, damit die App-Logik vereinfacht wird. Zunächst erstellen Sie ein Filterprädikat, das Zeilen herausfiltert, die nicht angezeigt werden sollen. Als Nächstes erstellen Sie die Sicherheitsrichtlinie, die definiert, wer Zugang zu den Zeilen erhält. Zuletzt führt der Endbenutzer seine Abfrage aus und kann diese eingeschränkten Zeilen – abhängig von seinen Benutzerberechtigungen – entweder anzeigen oder nicht.

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

Es gibt Schlüsselverwaltungsoptionen sowohl für always Encrypted (clientseitige Verschlüsselung) als auch für die transparente Datenverschlüsselung (ruhende Verschlüsselung). Es wird empfohlen, Verschlüsselungsschlüssel regelmäßig zu rotieren. Die Rotationsfrequenz sollte sowohl die internen Bestimmungen Ihrer Organisation als auch die Complianceanforderungen erfüllen.

Transparent Data Encryption (TDE)

In TDE liegt eine Zwei-Schlüssel-Hierarchie vor: Die Daten in allen Benutzerdatenbanken werden mit einem in der Datenbank eindeutigen symmetrischen AES 256-Datenbankverschlüsselungsschlüssel verschlüsselt, der wiederum von einem auf dem Server eindeutigen asymmetrischen RSA 2048-Masterschlü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 wird der Hauptschlüssel für TDE von Der Azure SQL-Datenbank verwaltet. Wenn Ihre Organisation die Kontrolle über den Hauptschlüssel wünschen, können Sie Azure Key Vault als Schlüsselspeicher verwenden. Dadurch hat Ihre Organisation die Kontrolle über die Schlüsselbereitstellung, die Rotation und die Berechtigungen. Die Rotation oder der Typwechsel des TDE-Masterschlüssels geht schnell vonstatten, da nur Verschlüsselungsschlüssel wieder verschlüsselt werden. Für Organisationen, die die Funktionen der Sicherheits- und Datenverwaltung trennen, 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 Verfügung stellen, die er zur Verschlüsselung ruhender Daten auf einem Server verwenden soll. 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

Es gibt auch eine Zwei-Schlüssel-Hierarchie in Always Encrypted: Eine Spalte mit vertraulichen Daten wird mit einem AES 256-Spaltenverschlüsselungsschlüssel verschlüsselt, der wiederum mit einem Spaltenmasterschlüssel verschlüsselt wird. Die Clienttreiber, die für die Always Encrypted-Methode zur Verfügung gestellt werden, haben keine Beschränkungen im Hinblick auf die Länge des Spaltenhauptschlüssels. Der verschlüsselte Wert des Spaltenverschlüsselungsschlüssel 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.

  • Sowohl der Spaltenverschlüsselungsschlüssel als auch der Spaltenhauptschlüssel können gedreht werden.

  • Die Rotation des Spaltenverschlüsselungsschlüssels ist datenintensiv und kann abhängig von der Größe der Tabellen, die die verschlüsselten Spalten enthalten, zeitaufwendig sein. Daher empfiehlt es sich, Rotationen von Spaltenverschlüsselungsschlüsseln entsprechend zu planen.

  • Die Rotation des Spaltenhauptschlüssels beeinträchtigt die Datenbankleistung dagegen 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 Always Encrypted-Speicheranbieter für den Spaltenhauptschlüssel.

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

Der Netzwerkdatenverkehr zwischen Ihrer Organisation und der SQL-Datenbank wird in der Regel über das öffentliche Netzwerk weitergeleitet. Sie können diesen Pfad jedoch optimieren und mit Azure ExpressRoute sicherer machen. ExpressRoute erweitert Ihr Unternehmensnetzwerk über eine private Verbindung auf die Azure-Plattform. Auf diese Weise werden keine Daten über das öffentliche Internet übertragen. 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 beabsichtigen, einen erheblichen Datenblock zwischen Ihrer Organisation und Azure zu übertragen, bietet ExpressRoute möglicherweise Kostenvorteile. 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. Außerdem ist es möglich, die Verbindung regionsübergreifend mithilfe von ExpressRoute zu konfigurieren. Eine Liste der ExpressRoute-Verbindungsanbieter finden Sie unter ExpressRoute-Partner und Peeringstandorte. In den folgenden Artikeln wird ExpressRoute ausführlicher beschrieben:

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

Von SQL-Datenbank werden verschiedene gesetzliche Bestimmungen erfüllt. Um die neuesten Compliance-Anforderungen anzuzeigen, die von der SQL-Datenbank erfüllt wurden, besuchen Sie das Microsoft Trust Center und überprüfen Sie die Anforderungen, die für Ihre Organisation wichtig sind, um festzustellen, ob die SQL-Datenbank zu den konformen Azure-Diensten gehört. 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 Sie Ihre Datenbank zu SQL-Datenbank migriert haben, sollten Sie Ihre Datenbank monitoren (z. B. die Ressourcenauslastung prüfen oder ob DBCC-Überprüfungen durchgeführt werden), und regelmäßige Wartungen durchführen (z. B. Indizes und Statistiken neu erstellen oder neu organisieren, usw.). 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

Mit Abfrageleistungserkenntnissen erhalten Sie maßgeschneiderte Empfehlungen für Ihre Datenbankworkloads, damit Ihre Anwendungen optimal ausgeführt werden 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. Der SQL-Datenbank-Berater ermöglicht es Ihnen, Indexempfehlungen basierend auf Ihrer Workload automatisch umzusetzen. Dies wird als Auto-Tuning bezeichnet. 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

Die SQL-Datenbank bietet handlungsrelevante Sicherheitsempfehlungen, die Sie beim Schutz Ihrer Daten unterstützen, sowie eine Bedrohungserkennung, mit der verdächtige Datenbankaktivitäten, die die Datenbank u. U. gefährden, ermittelt und untersucht werden. Bei der Bewertung von Sicherheitsrisiken handelt es sich um einen Überprüfungs- und Berichterstellungsdienst für Datenbanken, mit dessen Hilfe Sie den Sicherheitsstatus Ihrer Datenbanken effektiv überwachen sowie Sicherheitsrisiken und Abweichungen von der von Ihnen definierten Sicherheitsbaseline ermitteln können. Nach jeder Überprüfung wird eine angepasste Liste mit Aktionen erfordernden Schritten und Korrekturskripts bereitgestellt, und ein Bewertungsbericht, der zur Erfüllung der Complianceanforderungen verwendet werden kann.

Mit Microsoft Defender für Cloud können Sie die Sicherheitsempfehlungen generell ermitteln und schnell anwenden.

Kostenoptimierung

Die Azure SQL-Plattform analysiert den Nutzungsverlauf übergreifend über die Datenbanken auf einem Server, um Optionen zur Kostenoptimierung 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 und Planen und verwalten Sie Kosten für Azure SQL-Datenbank.

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

Sie können die Leistung und Ressourcenverwendung in SQL-Datenbank mithilfe der folgenden Methoden überwachen:

Datenbank-Watcher

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

Im Azure-Portal zeigen Sie die Nutzung einer Datenbank an, indem Sie sie auswählen und im Bereich „Übersicht“ das Diagramm 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. Die Warnungen ermöglichen es Ihnen, auf Ressourcenbedingungen mit einer E-Mail oder einer Benachrichtigung an einen HTTPS-/HTTP-Endpunkt zu reagieren oder eine Aktion auszuführen. Weitere Informationen finden Sie unter Erstellen von Warnungen für Azure SQL-Datenbank und Azure Synapse Analytics mithilfe des Azure-Portals.

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.

Statistik zur 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?

Ein großer Teil der Problembehandlungstechniken, die Sie für die Diagnose von Abfrage- und Datenbankleistungsproblemen verwenden würden, bleiben gleich: Dasselbe Datenbankmodul unterstützt die Cloud. Die Azure SQL-Datenbank kann Ihnen dabei helfen, Leistungsprobleme noch einfacher zu beheben und zu diagnostizieren. Es kann auch einige dieser Korrekturmaßnahmen in Ihrem Auftrag ausführen und in einigen Fällen proaktiv automatisch beheben.

Ihr Ansatz zur Problembehandlung von Leistungsproblemen kann erheblich von intelligenten Features wie Query Performance Insight (QPI) und Database Advisor profitieren, wenn sie gemeinsam eingesetzt werden. So unterscheidet sich die Methodik in dieser Hinsicht – Sie müssen nicht mehr manuell die wesentlichen Details ermitteln, die Ihnen bei der Lösung des vorhandenen Problems helfen könnten. Diese Arbeit leistet die Plattform für Sie. Ein Beispiel hierfür ist QPI. Mit QPI können Sie Problemen bis auf die Abfrageebene nachgehen und mithilfe historischer Trends herausfinden, wann die Abfrageleistung nachgelassen hat. Der Datenbankratgeber gibt Ihnen Empfehlungen zu Dingen, die Ihnen helfen können, Ihre Gesamtleistung im Allgemeinen zu verbessern, z. B. fehlende Indizes, Ablegen von Indizes, Parametrisieren Ihrer Abfragen usw.

Bei der Behandlung von Leistungsproblemen muss unbedingt festgestellt werden, ob die Anwendungsleistung lediglich durch die Anwendung oder die zugrunde liegende Datenbank beeinträchtigt wird. 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, da es viele kurze Anfragen gibt, die zwischen der Anwendung und dem Server hin- und hergehen, besonders auf einem überlasteten Netzwerk, und diese Roundtrips summieren sich 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.

Wenn Sie außerdem eine Verringerung der Gesamtleistung der Datenbank beobachten, können Sie anhand der dynamischen Verwaltungssichten sys.dm_db_resource_stats und sys.resource_stats die CPU-, E/A- und Speichernutzung nachvollziehen. 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.

Eine umfassende Reihe von Empfehlungen zur Optimierung von Leistungsproblemen finden Sie unter Optimieren Ihrer Datenbank.

Wie kann ich sicherstellen, dass ich die entsprechende Dienstebene und Computegröß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. Falls Sie feststellen, dass die Abfragen/Datenbanken ständig ausgelastet sind, sollten Sie den Wechsel zu einer höheren Computegröße in Erwägung ziehen. Wenn es scheint, dass Sie die Ressourcen während der Spitzenzeiten nicht so stark nutzen, sollten Sie in Erwägung ziehen, die Rechengröße zu verkleinern. Ziehen Sie die Nutzung von Azure Automation in Betracht, um die SQL-Datenbanken nach einem Zeitplan zu skalieren.

Falls Sie ein SaaS-App-Muster oder ein Szenario zur Datenbankkonsolidierung nutzen, wäre zur Kostenoptimierung ein Pool für elastische Datenbanken empfehlenswert. Ein Pool für elastische Datenbanken bietet optimale Voraussetzungen für die Datenbankkonsolidierung und Kostenoptimierung. Weitere Informationen zum Verwalten mehrerer Datenbanken mithilfe eines elastischen Pools finden Sie unter Verwalten von Pools und Datenbanken.

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. Diese integrierten Techniken werden vom Dienst verwendet, wenn dies erforderlich ist. Ihre Datenbanksicherungen im gesamten Dienst werden regelmäßig getestet, indem sie wiederhergestellt werden und DBCC CHECKDB darauf ausgeführt wird. Dabei werden Probleme von SQL-Datenbank proaktiv behoben.

Die automatische Seitenreparatur wird zum Beheben von Seiten verwendet, die beschädigt sind oder Probleme mit der Datenintegrität haben. Die Datenbankseiten werden immer mit der Standardeinstellung CHECKSUM überprüft, die die Integrität der Seite überprüft. SQL-Datenbank überwacht und überprüft die Datenintegrität Ihrer Datenbank proaktiv und behebt Probleme, sobald sie auftreten. Optional können Sie ihre eigenen Integritätsprüfungen nach Bedarf ausführen. Weitere Informationen finden Sie unter "Datenintegrität" in der SQL-Datenbank.

Datenverschiebung nach der Migration

Wie kann ich Daten mithilfe des Azure-Portals als BACPAC-Dateien aus der SQL-Datenbank exportieren und importieren?

  • 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 der Azure SQL-Datenbank mithilfe des Azure-Portals importieren:

    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?

Hier gibt mehrere Möglichkeiten:

  • Datensynchronisierung: Mit diesem Feature können Sie Daten bidirektional zwischen mehreren SQL Server-Datenbanken und SQL-Datenbank synchronisieren. Um Daten mit SQL Server-Datenbanken zu synchronisieren, müssen Sie den Synchronisierungs-Agent auf einem lokalen Computer oder einem virtuellen Computer installieren und konfigurieren und den ausgehenden TCP-Port 1433 öffnen.

  • Transaktionsreplikation: Mit der Transaktionsreplikation können Sie Ihre Daten aus einer SQL Server-Datenbank mit azure SQL-Datenbank synchronisieren, wobei die SQL Server-Instanz der Herausgeber und die Azure SQL-Datenbank als Abonnent sind. Zurzeit wird nur dieses Szenario unterstützt. Weitere Informationen zum Migrieren Ihrer Daten aus einer SQL Server-Datenbank zu Azure SQL mit minimalen Ausfallzeiten finden Sie unter Verwenden der Transaktionsreplikation