Sichern und Wiederherstellen von URLs mithilfe verwalteter Identitäten
Gilt für:SQL Server auf Azure VM (nur Windows)
In diesem Artikel erfahren Sie, wie Sie Datenbanken von SQL Server auf Azure Virtual Machines (VM) aus einer URL mithilfe verwalteter Microsoft Entra-Identitäten sichern und wiederherstellen können.
Überblick
Ab dem kumulativen Update 17 (CU17) von SQL Server 2022 können Sie verwaltete Identitäten mit SQL Server-Anmeldeinformationen verwenden, um Datenbanken von SQL Server auf Azure VM aus Azure Blob Storage zu sichern und wiederherzustellen. Verwaltete Identitäten bieten eine Identität für Anwendungen, die verwendet wird, um eine Verbindung mit Ressourcen herzustellen, die die Microsoft Entra-Authentifizierung unterstützen.
Die Verwendung verwalteter Identitäten in den Anmeldeinformationen für die BACKUP TO URL
- und RESTORE FROM URL
T-SQL-Vorgänge wird nur von SQL Server auf Azure-VMs unterstützt. Die Verwendung verwalteter Identitäten mit einer lokalen SQL Server-Instanz auf BACKUP TO URL
und RESTORE FROM URL
wird nicht unterstützt.
Voraussetzungen
- Eine SQL Server auf Azure VM-Instanz mit SQL Server 2022 CU17 oder höher mit einer Konfiguration mit Microsoft Entra-Authentifizierung
- Ein Azure Blob Storage-Konto
- Gültiger Netzwerkzugriff auf die Berechtigungen für Azure Blob Storage und die Windows-Firewall auf dem Host, um die ausgehende Verbindung und die gültigen Dienstendpunkte des Speicherkontos zuzulassen.
- Die primäre verwaltete Identität für die SQL Server auf Azure VM-Instanz muss über Folgendes verfügen:
- Zuweisung einer benutzerseitig zugewiesenen verwalteten Identität oder systemseitig zugewiesenen verwalteten Identität Weitere Informationen finden Sie unter Konfigurieren verwalteter Identitäten auf virtuellen Azure-Computern (VMs).
Storage Blob Data Contributor
-Rolle für die primäre verwaltete Identität, die dem Speicherkonto zugewiesen ist
Erstellen von Serveranmeldeinformationen mithilfe verwalteter Identitäten
Um die T-SQL-Befehle BACKUP DATABASE <database name> TO URL
und RESTORE <database name> FROM URL
mit verwalteten Identitäten zu verwenden, müssen Sie Serveranmeldeinformationen erstellen, die die verwaltete Identität verwenden. Der Name der Anmeldeinformationen stellt die Azure Storage-URL dar und gibt an, wo die Datenbanksicherung gespeichert wird.
Im folgenden Beispiel wird veranschaulicht, wie Sie Anmeldeinformationen für eine verwaltete Identität erstellen:
CREATE CREDENTIAL [https://<storage-account-name>.blob.core.windows.net/<container-name>]
WITH IDENTITY = 'Managed Identity'
Die WITH IDENTITY = 'Managed Identity'
-Klausel erfordert eine primäre verwaltete Identität, die dem SQL Server auf einer Azure-VM zugewiesen ist.
Weitere Informationen zu Fehlermeldungen, die auftreten können, wenn die primäre verwaltete Identität nicht zugewiesen ist oder nicht die erforderlichen Berechtigungen hat, finden Sie im Abschnitt Fehlermeldungen.
BACKUP
über URLs mit einer verwalteten Identität
Nachdem Sie die Anmeldeinformationen erstellt haben, können Sie sie zum Sichern und Wiederherstellen von Datenbanken in Azure Blob Storage verwenden. Stellen Sie sicher, dass der primären verwalteten Identität für die SQL Server auf Azure VM-Instanz die Storage Blob Data Contributor
-Rolle für das Speicherkonto zugewiesen ist.
Im folgenden Beispiel wird veranschaulicht, wie Sie eine Datenbank mithilfe der Anmeldeinformationen einer verwalteten Identität in Azure Blob Storage sichern:
BACKUP DATABASE [AdventureWorks]
TO URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'
RESTORE
über URLs mit einer verwalteten Identität
Das folgende Beispiel zeigt, wie Sie eine Datenbank aus Azure Blob Storage mithilfe der verwalteten Identitätsanmeldeinformationen wiederherstellen:
RESTORE DATABASE [AdventureWorks]
FROM URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'
Fehlermeldungen
Das Ablaufverfolgungsflag 4675 kann verwendet werden, um Anmeldeinformationen zu überprüfen, die mit einer verwalteten Identität erstellt wurden. Wenn die CREATE CREDENTIAL
-Anweisung ohne Ablaufverfolgungsflag 4675 ausgeführt wurde, wird keine Fehlermeldung ausgegeben, sofern die primäre verwaltete Identität für den Server nicht festgelegt ist. Um dieses Szenario zu beheben, müssen die Anmeldeinformationen gelöscht und erneut erstellt werden, sobald das Ablaufverfolgungsflag aktiviert ist.
Es wurde keine primäre verwaltete Identität zugewiesen
Wenn dem SQL Server auf der Azure-VM keine primäre verwaltete Identität zugewiesen ist, schlagen die Sicherungs- und Wiederherstellungsvorgänge fehl mit einer Fehlermeldung, die angibt, dass die verwaltete Identität nicht ausgewählt wurde.
Msg 37563, Level 16, State 2, Line 14
The primary managed identity is not selected for this server. Enable the primary managed identity for Microsoft Entra authentication for this server. For more information see (https://aka.ms/sql-server-managed-identity-doc).`
Keine Storage Blob Data Contributor
-Rolle zugewiesen
Wenn der primären verwalteten Identität für die SQL Server auf Azure VM-Instanz nicht die Storage Blob Data Contributor
-Rolle für das Speicherkonto zugewiesen wird, tritt bei dem BACKUP-Vorgang ein Fehler auf, und eine Fehlermeldung gibt an, dass der Zugriff verweigert wurde.
Msg 3201, Level 16, State 1, Line 31
Cannot open backup device 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'. Operating system error 5(Access is denied.).
Msg 3013, Level 16, State 1, Line 31
BACKUP DATABASE is terminating abnormally.
Wenn der verwalteten Identität für die SQL Server auf Azure VM-Instanz nicht die Storage Blob Data Contributor
-Rolle für das Speicherkonto zugewiesen wird, tritt bei dem RESTORE-Vorgang ein Fehler auf, und eine Fehlermeldung gibt an, dass der Zugriff verweigert wurde.
Msg 3201, Level 16, State 1, Line 31
Cannot open backup device 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'. Operating system error 5(Access is denied.).
Msg 3013, Level 16, State 1, Line 31
RESTORE DATABASE is terminating abnormally.
Doppelter Datenbankname
Wenn die ursprüngliche Datenbank mit demselben Namen im Speicher vorhanden ist, schlägt die Sicherung einer neuen Datenbank mit demselben Speicherpfad mit dem folgenden Fehler fehl:
Msg 1834, Level 16, State 1, Line 35
RESTORE DATABASE AdventureWorks
from URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'
Msg 1834, Level 16, State 1, Line 35
The file 'C:\Server\sqlservr\data\AdventureWorks.mdf' cannot be overwritten. It is being used by the database 'AdventureWorks'.
Msg 3156, Level 16, State 4, Line 35
File 'AdventureWorks' cannot be restored to 'C:\Server\sqlservr\data\AdventureWorks.mdf'. Use WITH MOVE to identify a valid location for the file.
Um dieses Problem zu beheben, legen Sie die ursprüngliche Datenbank ab, oder verschieben Sie die verwendeten Dateien an einen anderen Speicherort, bevor Sie die Datenbank wiederherstellen. Weitere Informationen finden Sie unter Wiederherstellen einer Datenbank an einem neuen Speicherort (SQL Server).
Begrenzungen
Verwaltete Identität auf Serverebene wird nur für SQL Server auf azure-VM und nicht für lokale SQL Server unterstützt. Verwaltete Identität auf Serverebene wird für Linux nicht unterstützt.
BACKUP TO URL
oderRESTORE FROM URL
mit einer verwalteten Identität werden nur für SQL Server auf Azure VM unterstützt.BACKUP TO URL
oderRESTORE FROM URL
wird von SQL Server nicht lokal unterstützt.Verwaltete Identitäten werden mit der Failoverclusterinstanz (FCI) nicht unterstützt.
BACKUP TO URL
kann nur mit derselben verwalteten Identität ausgeführt werden, die für sql Server auf azure VM verwendet wird, unabhängig davon, ob der Server über eine oder viele Instanzen von SQL Server auf dem virtuellen Computer verfügt.