Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к: SQL Server 2025 (17.x) и более поздних версий
Начиная с SQL Server 2025 (17.x), можно использовать управляемое удостоверение для доступа к следующим ресурсам Azure:
- Azure Blob-хранилище
- Azure Data Lake
Предпосылки
- SQL Server 2025 (17.x)
- SQL Server, активированный с помощью Azure Arc
-
allow server scoped db credentialsВключение параметра конфигурации сервера - Предоставьте управляемому удостоверению доступ к объектному хранилищу Azure.
Создание учетных данных для области базы данных
Добавьте учетные данные, ограниченные областью базы данных, для управляемой идентификации.
Разрешить учетные данные базы данных, привязанные к серверу. Выполните следующий запрос Transact-SQL:
EXECUTE sp_configure 'allow server scoped db credentials', 1; GO RECONFIGURE;Создайте учетные данные, ограниченные областью действия базы данных. В этом примере используется имя
managed_id:CREATE DATABASE SCOPED CREDENTIAL [managed_id] WITH IDENTITY = 'Managed Identity';
Создание внешнего источника данных
Создайте внешний источник данных со следующими параметрами.
Префикс расположения соединителя
abs
Путь к расположению
-
abs://<container_name>@<storage_account_name>.blob.core.windows.net/, или abs://<storage_account_name>.blob.core.windows.net/<container_name>
-
Поддерживаемые местоположения для продукта или услуги
- SQL Server 2025 (17.x), работающий под управлением Azure Arc
- SQL Server 2022 (16.x): поддерживаемое иерархическое пространство имен
Аутентификация
- Общий ключ доступа (SAS) или
- Манажируемая идентичность
Запрос к файлу Parquet в хранилище BLOB-объектов Azure
SQL Server 2025 (17.x) поддерживает управляемое удостоверение с помощью Azure Arc. Инструкции см. в статье Об управляемом удостоверении для SQL Server, включенном Azure Arc.
В следующем примере выполняется запрос к файлу Parquet в 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
);
Ошибки и решения
Внешняя таблица недоступна (ошибка 16562)
При попытке получить доступ к хранилищу BLOB-объектов Azure или Azure Data Lake может возникнуть ошибка 16562, если отсутствуют предварительные требования:
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.
Проверьте следующие элементы:
Экземпляр SQL Server правильно настроен для Azure Arc. Дополнительные сведения см. в статье Об управляемом удостоверении для SQL Server, активированном с помощью Azure Arc.
Существуют необходимые записи реестра.
Убедитесь, что опция конфигурации сервера
allow server scoped db credentialsвключена.
Невозможно открыть файл (ошибка 13822)
При доступе к хранилищу BLOB-объектов Azure или Azure Data Lake может возникнуть ошибка 13822, если управляемое удостоверение не имеет разрешений для учетной записи хранилища или сетевой доступ к хранилищу заблокирован.
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.
Проверьте следующие элементы:
- Имеет ли управляемое удостоверение доступ к контейнеру в хранилище?
- Может ли управляемое удостоверение получить доступ к контейнеру хранилища за пределами SQL Server?
- Заблокирован ли файл исключительно?