Megosztás:


Csatlakozás az Azure Storage-hoz felügyelt identitással a PolyBase-ből

A következőkre vonatkozik: SQL Server 2025 (17.x) és újabb verziók

Az SQL Server 2025 -től kezdve (17.x) felügyelt identitással érheti el a következő Azure-erőforrásokat:

  • Azure Blob Storage
  • Azure Data Lake

Előfeltételek

Azure-beli virtuális gépeken futó SQL Server esetén

A szükséges lépések elvégzése után adjon hozzá két új beállításjegyzék-bejegyzést. Ezekre a beállításjegyzék-bejegyzésekre csak azure-beli virtuális gépeken futó SQL Server esetén van szükség. Az Azure Arc által engedélyezett SQL Server-példányok esetében ezek a bejegyzések automatikusan létrejönnek.

A beállításjegyzékben frissítse az HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQLServer\FederatedAuthentication alkulcsot.

Caution

A beállításjegyzék helytelen szerkesztése súlyosan károsíthatja a rendszert. A beállításjegyzék módosítása előtt javasoljuk, hogy készítsen biztonsági másolatot a számítógépen lévő összes értékes adatról.

Hozza létre a következő bejegyzéseket:

Entry Érték
AADAzureStorageEndPoint storage.azure.com
AADDataLakeEndPoint datalake.azure.net

Adatbázis hatókörű hitelesítő adatainak létrehozása

Adjon hozzá egy adatbázis-hatókörű hitelesítő adatot a felügyelt identitáshoz.

  1. A kiszolgáló hatókörébe tartozó adatbázis hitelesítő adatainak engedélyezése. Futtassa a következő Transact-SQL lekérdezést:

    EXECUTE sp_configure 'allow server scoped db credentials', 1;
    GO
    RECONFIGURE;
    
  2. Adatbázis-hatókörű hitelesítő adatok létrehozása. Ez a példa a következő nevet managed_idhasználja:

    CREATE DATABASE SCOPED CREDENTIAL [managed_id]
    WITH IDENTITY = 'Managed Identity';
    

Külső adatforrás létrehozása

Hozza létre a külső adatforrást az alábbi beállításokkal.

  • Csatlakozó hely előtagja

    • abs
  • Hely elérési útja

    • abs://<container_name>@<storage_account_name>.blob.core.windows.net/ vagy
    • abs://<storage_account_name>.blob.core.windows.net/<container_name>
  • Támogatott helyek termék vagy szolgáltatás szerint

    • Az Azure Arc által engedélyezett SQL Server 2025 (17.x)
    • SQL Server 2022 (16.x): A hierarchikus névtér támogatott
  • Authentication

    • Közös hozzáférésű jogosultságkód (SAS) vagy
    • Felügyelt identitás

Parquet-fájl lekérdezése az Azure Blob Storage-ban

Az SQL Server 2025 (17.x) támogatja a felügyelt identitást az Azure Arcon keresztül. Útmutatásért tekintse meg az Azure Arc által engedélyezett SQL Server felügyelt identitását.

Az alábbi példa egy Parquet-fájlt kérdez le az Azure Blob Storage-ban:

EXECUTE sp_configure 'allow server scoped db credentials', 1;
RECONFIGURE;
GO

CREATE DATABASE SCOPED CREDENTIAL [managed_id]
WITH IDENTITY = 'Managed Identity';

CREATE EXTERNAL DATA SOURCE [my_external_data_source]
WITH (
    LOCATION = 'abs://<container>@<storage_account_name>.blob.core.windows.net/',
    CREDENTIAL = managed_id
);

Hibák és megoldások

A külső tábla nem érhető el (16562-s hiba)

Ha hiányoznak az előfeltételek, 16562-s hiba léphet fel az Azure Blob Storage vagy az Azure Data Lake elérésekor:

Msg 16562, Level 16, State 1, Line 79
External table <name> is not accessible because location does not exist or it is used by another process.

Ellenőrizze a következő elemeket:

A fájl nem nyitható meg (13822-s hiba)

Az Azure Blob Storage vagy az Azure Data Lake elérésekor 13822-s hiba léphet fel, ha a felügyelt identitás nem rendelkezik engedélyekkel a tárfiókhoz, vagy a tárolóhoz való hálózati hozzáférés le van tiltva:

Msg 13822, Level 16, State 1, Line 9
File <file> cannot be opened because it does not exist or it is used by another process.

Ellenőrizze a következő elemeket:

  • Rendelkezik a felügyelt identitás engedélyekkel a tárolóhoz?
  • A felügyelt identitás hozzáfér a tárolóhoz az SQL Serveren kívül?
  • A fájl kizárólag zárolva van?