Megosztás a következőn keresztül:


Biztonsági mentés és URL-cím visszaállítása felügyelt identitásokkal

A következőkre vonatkozik:SQL Server Azure-beli virtuális gépen (csak Windows rendszeren)

Ez a cikk bemutatja, hogyan lehet biztonsági másolatot készíteni az SQL Server-adatbázisokról az Azure-beli virtuális gépeken (VM) egy URL-címen keresztül a Microsoft Entra felügyelt identitásainak használatával.

Áttekintés

Az SQL Server 2022 17-es kumulatív frissítésétől (CU17) kezdve az SQL Server hitelesítő adataival rendelkező felügyelt identitások használatával biztonsági másolatot készíthet az SQL Serverről az Azure-beli virtuálisgép-adatbázisokról, és visszaállíthatja az Azure Blob Storage-ból. A felügyelt identitások olyan identitást biztosítanak az alkalmazások számára, amelyeket a Microsoft Entra-hitelesítést támogató erőforrásokhoz való csatlakozáskor használhatnak.

Előfeltételek

  • Az Azure VM-en futtatott SQL Server 2022 CU17 vagy újabb verzió az SQL IaaS Agent bővítményben regisztrálva.
  • Az URL-címről biztonsági másolatot készítő vagy onnan visszaállító SQL Server-példányt Microsoft Entra-hitelesítéssel kell konfigurálni, függetlenül attól, hogy a bővítményben regisztrált példányról van-e szó.
  • Egy Azure Blob Storage-fiók.
  • Érvényes hálózati hozzáférés az Azure Blob Storage-hoz és a Windows Tűzfalhoz a gazdagépen a kimenő kapcsolat és az érvényes tárfiók-szolgáltatásvégpontok engedélyezéséhez.
  • Az Azure-beli virtuális gépen futó SQL Server elsődleges felügyelt identitásának a következőre van szüksége:

Kiszolgáló hitelesítő adatainak létrehozása felügyelt identitások használatával

A T-SQL-parancsok BACKUP DATABASE <database name> TO URL és RESTORE <database name> FROM URL a felügyelt identitások használatához létre kell hoznia egy kiszolgálói hitelesítő adatot, amely a felügyelt identitást használja. A hitelesítő adatok neve az Azure Storage URL-címét jelöli, és jelzi az adatbázis biztonsági mentésének helyét.

Az alábbi példa bemutatja, hogyan hozhat létre hitelesítő adatokat egy felügyelt identitáshoz:

CREATE CREDENTIAL [https://<storage-account-name>.blob.core.windows.net/<container-name>] 
    WITH IDENTITY = 'Managed Identity'

A WITH IDENTITY = 'Managed Identity' záradékhoz elsődleges felügyelt identitásra van szükség, amely az Azure-beli virtuális gépen futó SQL Serverhez van hozzárendelve.

Az Hibaüzenetek szakasz megtekintésével kaphat további információkat azokról a hibaüzenetekről, amelyek akkor fordulhatnak elő, ha az elsődleges felügyelt identitás nincs hozzárendelve, vagy nem kapott megfelelő engedélyeket.

URL-címre történő biztonsági mentés felügyelt identitással

A hitelesítő adatok létrehozása után az adatbázisokat biztonsági mentésre és az Azure Blob Storage-ba való visszaállítására használhatja. Győződjön meg arról, hogy az Azure-beli virtuális gépen futó SQL Server elsődleges felügyelt identitása rendelkezik a Storage Blob Data Contributor tárfiókhoz rendelt szerepkörrel.

Az alábbi példa bemutatja, hogyan lehet biztonsági másolatot készíteni egy adatbázisról az Azure Blob Storage-ba a felügyelt identitás hitelesítő adataival:

BACKUP DATABASE [AdventureWorks] 
    TO URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak' 

VISSZAÁLLÍTÁS felügyelt identitással rendelkező URL-címről

Az alábbi példa bemutatja, hogyan állíthat vissza adatbázist az Azure Blob Storage-ból a felügyelt identitás hitelesítő adataival:

RESTORE DATABASE [AdventureWorks] 
    FROM URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak' 

Hibaüzenetek

nyomkövetési jelző 4675-ös a felügyelt identitással létrehozott hitelesítő adatok ellenőrzésére használható. Ha a CREATE CREDENTIAL utasítás a 4675-ös nyomkövetési jelző engedélyezése nélkül lett végrehajtva, a rendszer nem ad ki hibaüzenetet, ha az elsődleges felügyelt identitás nincs beállítva a kiszolgálóhoz. A hiba elhárításához a hitelesítő adatokat törölni kell, majd újra létre kell hozni, amint engedélyezve van a nyomkövetési jelző.

Nincs hozzárendelve elsődleges felügyelt identitás

Ha egy elsődleges felügyelt identitás nincs hozzárendelve az Azure-beli virtuális gépen futó SQL Serverhez, a biztonsági mentési és visszaállítási műveletek meghiúsulnak, és hibaüzenet jelenik meg, amely azt jelzi, hogy a felügyelt identitás nincs kiválasztva.

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).`

Nincs Storage Blob Data Contributor hozzárendelt szerepkör

Ha az Azure-beli virtuális gépen futó SQL Server elsődleges felügyelt identitása nem kapja meg a Storage Blob Data Contributor szerepkört a tárfióknak, a BACKUP művelet sikertelen lesz, és hibaüzenet jelenik meg, amely azt jelzi, hogy a hozzáférés megtagadva.

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.

Ha az Azure-beli virtuális gépen futó SQL Server felügyelt identitása nem kapja meg a Storage Blob Data Contributor tárfiókhoz tartozó szerepkört, a RESTORE művelet meghiúsul, és hibaüzenet jelenik meg, amely azt jelzi, hogy a hozzáférés megtagadva.

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.

Hálózati vagy tűzfalproblémák

Ha nem konfigurálta az Azure Blob Storage-hoz való érvényes hálózati hozzáférést és a gazdagépen a Windows tűzfal engedélyeit a kimenő kapcsolat engedélyezéséhez, és az érvényes tárfiók-szolgáltatásvégpontok nincsenek konfigurálva, a BACKUP művelet meghiúsul egy hibaüzenettel, amely azt jelzi, hogy a hozzáférés megtagadva.

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. 

Ha nem konfigurálta az Azure Blob Storage-hoz való érvényes hálózati hozzáférést és a gazdagépen a Windows tűzfal engedélyeit a kimenő kapcsolat engedélyezéséhez, és az érvényes tárfiók-szolgáltatásvégpontok nincsenek konfigurálva, a RESTORE művelet meghiúsul egy hibaüzenettel, amely azt jelzi, hogy a hozzáférés megtagadva.

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. 

Adatbázisnév duplikálása

Ha az eredeti, azonos nevű adatbázis megtalálható a tárolóban, az új adatbázis ugyanazon tárolási útvonalra történő biztonsági mentése a következő hibával meghiúsul:

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.

A probléma megoldásához helyezze el az eredeti adatbázist, vagy helyezze át a használt fájlokat egy másik helyre az adatbázis visszaállítása előtt. További információ: Adatbázis visszaállítása új helyre (SQL Server).

Korlátozások

  • A kiszolgálószintű felügyelt identitás csak az Azure-beli virtuális gépen futó SQL Server esetében támogatott, a helyszíni SQL Serveren nem. Linux esetén a kiszolgálószintű felügyelt identitás nem támogatott.

  • BACKUP TO URL vagy RESTORE FROM URL felügyelt identitással csak azure-beli virtuális gépen futó SQL Server esetén támogatott. BACKUP TO URL vagy RESTORE FROM URL a helyszíni SQL Server nem támogatja.

  • A felügyelt identitások nem támogatottak a failover cluster instance (FCI) esetében.

  • BACKUP TO URL Csak az Azure-beli virtuális gépeken futó SQL Serverhez használt felügyelt identitással hajtható végre, függetlenül attól, hogy a kiszolgáló egy vagy több SQL Server-példánysal rendelkezik-e a virtuális gépen.