Připojení ke službě Azure Storage pomocí spravované identity z PolyBase

Platí pro: SQL Server 2025 (17.x) a novější verze

Počínaje SQL Serverem 2025 (17.x) můžete použít spravovanou identitu pro přístup k následujícím prostředkům Azure:

  • Azure Blob Storage
  • Azure Data Lake

Požadavky

Pro SQL Server na virtuálních počítačích Azure

Po dokončení požadovaných kroků přidejte dvě nové položky registru. Tyto položky registru potřebujete jenom pro SQL Server na virtuálních počítačích Azure. Pro instance SQL Serveru povolené službou Azure Arc se tyto položky vytvoří automaticky.

V registru aktualizujte HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQLServer\FederatedAuthentication podklíč.

Upozornění

Nesprávná úprava registru může vážně poškodit systém. Před provedením změn registru doporučujeme zálohovat všechna hodnotná data v počítači.

Vytvořte následující položky:

Entry Hodnota
AADAzureStorageEndPoint storage.azure.com
AADDataLakeEndPoint datalake.azure.net

Vytvoření přihlašovacích údajů s vymezeným oborem databáze

Přidejte přihlašovací údaje s vymezeným oborem databáze pro spravovanou identitu.

  1. Povolit přihlašovací údaje databáze s vymezeným oborem serveru Spusťte následující dotaz Transact-SQL:

    EXECUTE sp_configure 'allow server scoped db credentials', 1;
    GO
    RECONFIGURE;
    
  2. Vytvořte přihlašovací údaje s vymezeným oborem databáze. V tomto příkladu se používá název managed_id:

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

Vytvoření externího zdroje dat

Vytvořte externí zdroj dat s následujícím nastavením.

  • Předpona umístění konektoru

    • abs
  • Cesta k umístění

    • abs://<container_name>@<storage_account_name>.blob.core.windows.net/, nebo
    • abs://<storage_account_name>.blob.core.windows.net/<container_name>
  • Podporovaná umístění podle produktu nebo služby

    • SQL Server 2025 (17.x) povolený službou Azure Arc
    • SQL Server 2022 (16.x): Hierarchický obor názvů je podporován
  • Autentizace

    • Sdílený přístupový podpis (SAS) nebo
    • Spravovaná identita

Dotazovat soubor Parquet ve službě Azure Blob Storage

SQL Server 2025 (17.x) podporuje spravovanou identitu prostřednictvím služby Azure Arc. Pokyny najdete v tématu Spravovaná identita PRO SQL Server, který povoluje Azure Arc.

Následující příklad dotazuje soubor Parquet ve službě Azure Blob Storage:

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
);

Chyby a řešení

Externí tabulka není přístupná (chyba 16562)

Pokud vám chybí požadavky, může dojít k chybě 16562 při pokusu o přístup ke službě Azure Blob Storage nebo Azure Data Lake:

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.

Zkontrolujte následující položky:

Soubor nejde otevřít (chyba 13822)

Při přístupu ke službě Azure Blob Storage nebo Azure Data Lake může dojít k chybě 13822, pokud spravovaná identita nemá oprávnění k účtu úložiště nebo je zablokovaný síťový přístup k úložišti:

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.

Zkontrolujte následující položky:

  • Má spravovaná identita oprávnění ke kontejneru úložiště?
  • Může spravovaná identita přistupovat k kontejneru úložiště mimo SQL Server?
  • Je soubor uzamčen výhradně?