Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2025 (17.x) och senare versioner
Från och med SQL Server 2025 (17.x) kan du använda hanterad identitet för att komma åt följande Azure-resurser:
- Azure Blob Storage-lagringstjänst
- Azure Data Lake
Förutsättningar
- SQL Server 2025 (17.x)
- SQL Server aktiverat av Azure Arc
-
allow server scoped db credentialsAktivera serverkonfigurationsalternativet - Ge den hanterade identiteten åtkomst till Azure Blob Storage-resursen.
Skapa databasomfattade behörighetsuppgifter
Lägg till en databasomfattande autentiseringsuppgift för hanterad identitet.
Tillåt databasuppgifter som är begränsade till servern. Kör följande Transact-SQL fråga:
EXECUTE sp_configure 'allow server scoped db credentials', 1; GO RECONFIGURE;Skapa en databasomfångsbegränsad autentiseringsuppgift. I det här exemplet används namnet
managed_id:CREATE DATABASE SCOPED CREDENTIAL [managed_id] WITH IDENTITY = 'Managed Identity';
Skapa en extern datakälla
Skapa den externa datakällan med följande inställningar.
Anslutningsplats prefix
abs
Plats och sökväg
-
abs://<container_name>@<storage_account_name>.blob.core.windows.net/, eller abs://<storage_account_name>.blob.core.windows.net/<container_name>
-
Platser som stöds efter produkt/tjänst
- SQL Server 2025 (17.x) aktiverat av Azure Arc
- SQL Server 2022 (16.x): Hierarkiskt namnområde stöds
autentisering
- Signatur för delad åtkomst (SAS) eller
- Hanterad identitet
Utföra en fråga efter en Parquet-fil på Azure Blob Storage
SQL Server 2025 (17.x) stöder hanterad identitet via Azure Arc. Anvisningar finns i Hanterad identitet för SQL Server som aktiveras av Azure Arc.
Följande exempel frågar en Parquet-fil i 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
);
Fel och lösningar
Extern tabell är inte tillgänglig (fel 16562)
Du kan stöta på fel 16562 när du försöker komma åt Azure Blob Storage eller Azure Data Lake om du saknar förutsättningar:
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.
Kontrollera följande:
SQL Server-instansen är korrekt konfigurerad för Azure Arc. Mer information finns i Hanterad identitet för SQL Server som aktiveras av Azure Arc.
De registerposter som krävs finns.
Kontrollera att
allow server scoped db credentialsserverkonfigurationsalternativet är aktiverat.
Det går inte att öppna filen (fel 13822)
Du kan stöta på fel 13822 när du får åtkomst till Azure Blob Storage eller Azure Data Lake om den hanterade identiteten saknar behörighet för lagringskontot eller om nätverksåtkomsten till lagring blockeras.
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.
Kontrollera följande:
- Har den hanterade identiteten behörighet till lagringscontainern?
- Kan den hanterade identiteten komma åt lagringscontainern utanför SQL Server?
- Är filen låst exklusivt?