Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Se aplica a: SQL Server 2025 (17.x) y versiones posteriores
A partir de SQL Server 2025 (17.x), puede usar la identidad administrada para acceder a los siguientes recursos de Azure:
- Azure Blob Storage (Servicio de almacenamiento de blobs de Azure)
- Azure Data Lake
Prerrequisitos
- SQL Server 2025 (17.x)
- SQL Server habilitado por Azure Arc
- Habilitar la opción de configuración del
allow server scoped db credentialsservidor - Proporcione a la identidad administrada acceso al recurso de Azure Blob Storage.
Creación de credenciales con ámbito de base de datos
Agregue una credencial con ámbito de base de datos para la identidad administrada.
Permitir credenciales de base de datos con ámbito de servidor. Ejecute la consulta Transact-SQL siguiente:
EXECUTE sp_configure 'allow server scoped db credentials', 1; GO RECONFIGURE;Cree una credencial con ámbito de base de datos. En este ejemplo se usa el nombre
managed_id:CREATE DATABASE SCOPED CREDENTIAL [managed_id] WITH IDENTITY = 'Managed Identity';
Creación de un origen de datos externo
Cree el origen de datos externo con la siguiente configuración.
Prefijo de ubicación del conector
abs
Ruta de ubicación
-
abs://<container_name>@<storage_account_name>.blob.core.windows.net/o abs://<storage_account_name>.blob.core.windows.net/<container_name>
-
Ubicaciones admitidas por producto o servicio
- SQL Server 2025 (17.x) habilitado por Azure Arc
- SQL Server 2022 (16.x): espacio de nombres jerárquico compatible
Autenticación
- Firma de acceso compartido (SAS) o
- Identidad administrada
Consulta de un archivo Parquet en Azure Blob Storage
SQL Server 2025 (17.x) admite identidad administrada a través de Azure Arc. Para obtener instrucciones, consulte Identidad administrada para SQL Server habilitada por Azure Arc.
En el ejemplo siguiente se consulta un archivo Parquet en 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
);
Errores y soluciones
No se puede acceder a la tabla externa (error 16562)
Es posible que encuentre el error 16562 al intentar acceder a Azure Blob Storage o Azure Data Lake si faltan requisitos previos:
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.
Compruebe los siguientes elementos:
La instancia de SQL Server está configurada correctamente para Azure Arc. Para más información, consulte Identidad administrada para SQL Server habilitada por Azure Arc.
Existen las entradas del Registro necesarias.
Compruebe que la opción de configuración del
allow server scoped db credentialsservidor está habilitada.
No se puede abrir el archivo (error 13822)
Es posible que encuentre el error 13822 al acceder a Azure Blob Storage o Azure Data Lake si la identidad administrada carece de permisos en la cuenta de almacenamiento o se bloquea el acceso de red al almacenamiento.
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.
Compruebe los siguientes elementos:
- ¿La identidad administrada tiene permisos para el contenedor de almacenamiento?
- ¿La identidad administrada puede acceder al contenedor de almacenamiento fuera de SQL Server?
- ¿El archivo está bloqueado exclusivamente?