Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2025 (17.x) i nowsze wersje
Począwszy od programu SQL Server 2025 (17.x), możesz użyć tożsamości zarządzanej , aby uzyskać dostęp do następujących zasobów platformy Azure:
- Azure Blob Storage
- Azure Data Lake
Wymagania wstępne
- SQL Server 2025 (17.x)
- Program SQL Server włączony przez usługę Azure Arc
-
allow server scoped db credentialsWłącz opcję konfiguracji serwera - Nadaj zarządzanej tożsamości dostęp do zasobu usługi Azure Blob Storage.
Tworzenie poświadczeń o zakresie bazy danych
Dodaj poświadczenie o zakresie bazy danych dla tożsamości zarządzanej.
Zezwalaj na poświadczenia bazy danych o zakresie serwera. Uruchom następujące zapytanie Transact-SQL:
EXECUTE sp_configure 'allow server scoped db credentials', 1; GO RECONFIGURE;Utwórz poświadczenie o zakresie bazy danych. W tym przykładzie użyto nazwy
managed_id:CREATE DATABASE SCOPED CREDENTIAL [managed_id] WITH IDENTITY = 'Managed Identity';
Tworzenie zewnętrznego źródła danych
Utwórz zewnętrzne źródło danych przy użyciu następujących ustawień.
Prefiks lokalizacji łącznika
abs
Ścieżka lokalizacji
-
abs://<container_name>@<storage_account_name>.blob.core.windows.net/, lub abs://<storage_account_name>.blob.core.windows.net/<container_name>
-
Obsługiwane lokalizacje według produktu/usługi
- Program SQL Server 2025 (17.x) włączony przez usługę Azure Arc
- SQL Server 2022 (16.x): obsługiwana hierarchiczna przestrzeń nazw
Uwierzytelnianie
- Sygnatura dostępu współdzielonego (SAS) lub
- Tożsamość zarządzana
Wykonywanie zapytań względem pliku Parquet w usłudze Azure Blob Storage
Program SQL Server 2025 (17.x) obsługuje tożsamość zarządzaną za pośrednictwem usługi Azure Arc. Aby uzyskać instrukcje, zobacz Tożsamość zarządzana dla programu SQL Server włączonego przez usługę Azure Arc.
Poniższy przykład wykonuje zapytanie dotyczące pliku Parquet w usłudze 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
);
Błędy i rozwiązania
Tabela zewnętrzna nie jest dostępna (błąd 16562)
Jeśli brakuje wymagań wstępnych, może wystąpić błąd 16562 podczas próby uzyskania dostępu do usługi Azure Blob Storage lub 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.
Sprawdź następujące elementy:
Instancja SQL Server jest poprawnie skonfigurowana dla Azure Arc. Aby uzyskać więcej informacji, zobacz Tożsamość zarządzana dla SQL Server, włączona przez Azure Arc.
Istnieją wymagane wpisy rejestru.
Sprawdź, czy opcja konfiguracji serwera
allow server scoped db credentialsjest włączona.
Nie można otworzyć pliku (błąd 13822)
Jeśli uzyskujesz dostęp do usługi Azure Blob Storage lub Azure Data Lake, może wystąpić błąd 13822, gdy zarządzana tożsamość nie ma uprawnień na koncie usługi magazynującej lub dostęp sieciowy do usługi magazynowania jest zablokowany.
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.
Sprawdź następujące elementy:
- Czy tożsamość zarządzana ma uprawnienia do kontenera przechowywania?
- Czy tożsamość zarządzana może uzyskać dostęp do kontenera magazynu poza programem SQL Server?
- Czy plik jest zablokowany na wyłączność?