Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к: 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?
- Заблокирован ли файл исключительно?