Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: SQL Server 2016 (13.x) y versiones posteriores
, Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Modifica un origen de datos externo que se usa para crear una tabla externa, que se usa para las características de virtualización de datos y PolyBase. El origen de datos externo puede ser Hadoop o Azure Blob Storage (WASBS) para SQL Server, y Azure Blob Storage (WASBS) o Azure Data Lake Storage (ABFSS/ADL) para Azure Synapse Analytics.
A partir de SQL Server 2022 (16.x) ya no se admiten orígenes de datos externos de Hadoop. Además, los prefijos de Azure Data Lake Gen 2 y Azure Blob Storage han cambiado; consulte la tabla siguiente:
Origen de datos externo | De | En |
---|---|---|
Azure Blob Storage |
wasb[s] |
abs |
ADLS Gen2 |
abfs[s] |
adls |
Convenciones de sintaxis de Transact-SQL
Sintaxis
Modifique un origen de datos externo. Sintaxis para SQL Server (2016, 2017 y 2019) y Analytics Platform System (PDW).
-- Modify an external data source
-- Applies to: SQL Server (2016, 2017 and 2019) and APS
ALTER EXTERNAL DATA SOURCE data_source_name SET
{
LOCATION = '<prefix>://<path>[:<port>]' [,] |
RESOURCE_MANAGER_LOCATION = <'IP address;Port'> [,] |
CREDENTIAL = credential_name
}
[;]
Modifique un origen de datos externo que apunte a Azure Blob Storage. Sintaxis para SQL Server (2017 y 2019).
-- Modify an external data source pointing to Azure Blob storage
-- Applies to: SQL Server (2017 and 2019)
ALTER EXTERNAL DATA SOURCE data_source_name
SET
LOCATION = 'https://storage_account_name.blob.core.windows.net'
[, CREDENTIAL = credential_name ]
Modifique un origen de datos externo que apunte a Azure Blob Storage. Sintaxis para SQL Server 2022 y versiones posteriores.
-- Modify an external data source pointing to Azure Blob storage
-- Applies to: SQL Server 2022 and later versions
ALTER EXTERNAL DATA SOURCE data_source_name
SET
LOCATION = 'abs://storage_account_name.blob.core.windows.net'
[, CREDENTIAL = credential_name ]
Modifique un origen de datos externo que apunte a Azure Data Lake Storage (ADLS) Gen2. Sintaxis para SQL Server 2022 y versiones posteriores.
-- Modify an external data source pointing to Azure Data Lake Storage Gen2
-- Applies to: SQL Server 2022 and later versions
ALTER EXTERNAL DATA SOURCE data_source_name
SET
LOCATION = 'adls://storage_account_name.dfs.core.windows.net'
[, CREDENTIAL = credential_name ]
Modifique un origen de datos externo que apunte a Azure Blob Storage o Azure Data Lake Storage. Sintaxis solo para el grupo de SQL dedicado de Azure Synapse Analytics.
-- Modify an external data source pointing to Azure Blob storage or Azure Data Lake storage
-- Applies to: Azure Synapse Analytics dedicated SQL pool only
ALTER EXTERNAL DATA SOURCE data_source_name
SET
[LOCATION = '<location prefix>://<location path>']
[, CREDENTIAL = credential_name ]
Argumentos
data_source_name
Especifica el nombre definido por el usuario para el origen de datos. El nombre debe ser único.
UBICACIÓN
Proporciona el protocolo de conectividad, la ruta de acceso y el puerto al origen de datos externo. Vea CREATE EXTERNAL DATA SOURCE (Transact-SQL) para obtener las opciones de ubicación válidas.
RESOURCE_MANAGER_LOCATION = '<Dirección IP; Puerto>'
No se aplica a Azure Synapse Analytics y SQL Server 2022 (16.x))
Especifica la ubicación de Hadoop Resource Manager. Cuando se especifica, el optimizador de consultas podría preprocesar los datos de una consulta de PolyBase mediante el uso de las funciones de cálculo de Hadoop. Esta es una decisión basada en el costo. Esta técnica, denominada aplicación de predicado, puede reducir significativamente el volumen de datos transferidos entre Hadoop y SQL y, por tanto, mejorar el rendimiento de las consultas.
CREDENTIAL = Credential_Name
Especifica la credencial con nombre. Consulte CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).
TYPE = [ HADOOP | BLOB_STORAGE ] **
Se aplica a: SQL Server 2017 (14.x) y SQL Server 2019 (15.x) solo.
Solo para operaciones masivas, LOCATION
debe ser la dirección URL válida en Azure Blob Storage. No coloque los parámetros de firma /
de acceso compartido, nombre de archivo o , al final de la LOCATION
dirección URL.
La credencial debe crearse mediante el uso de SHARED ACCESS SIGNATURE
como identidad. Para más información sobre las firmas de acceso compartido, vea Uso de Firmas de acceso compartido (SAS).
Observaciones
Solo puede modificarse un único origen de cada vez. Las solicitudes simultáneas para modificar el mismo origen hacen que una instrucción tenga que esperar. Aun así, es posible modificar varios orígenes al mismo tiempo. Esta instrucción se puede ejecutar simultáneamente con otras instrucciones.
En Azure Synapse Analytics, las conexiones a orígenes de datos externos que apuntan a Azure Blob Storage o Azure Data Lake Storage solo se admiten en grupos de SQL dedicados.
Permisos
Requiere el permiso ALTER ANY EXTERNAL DATA SOURCE.
Importante
El permiso ALTER ANY EXTERNAL DATA SOURCE concede a cualquier entidad de seguridad la capacidad de crear y modificar cualquier objeto de origen de datos externo y, por tanto, también permite acceder a todas las credenciales con ámbito de base de datos de la base de datos. Debe considerarse como un permiso con muchos privilegios, por lo que solo debe concederse a las entidades de seguridad de confianza del sistema.
Ejemplos
En el ejemplo siguiente se modifica la ubicación y la ubicación del Administrador de recursos de un origen de datos existente.
No se aplica a SQL Server 2022 (16.x).
ALTER EXTERNAL DATA SOURCE hadoop_eds SET
LOCATION = 'hdfs://10.10.10.10:8020',
RESOURCE_MANAGER_LOCATION = '10.10.10.10:8032'
;
En el ejemplo siguiente se modifica la credencial para conectar con un origen de datos existente.
ALTER EXTERNAL DATA SOURCE hadoop_eds SET
CREDENTIAL = new_hadoop_user
;
En el ejemplo siguiente se modifica la credencial a una nueva ubicación. Este ejemplo es un origen de datos externo creado para Azure Synapse Analytics.
ALTER EXTERNAL DATA SOURCE AzureStorage_west SET
LOCATION = 'wasbs://loadingdemodataset@updatedproductioncontainer.blob.core.windows.net',
CREDENTIAL = AzureStorageCredential