Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к: SQL Server 2016 (13.x) и более поздних
версий Управляемогоэкземпляра
Базы данных
SQL AzureAzure Synapse Analytics Analytics
PlatformSystem (PDW)
SQL вхранилище Microsoft Fabric в
базе данных SQL Microsoft
Fabric в Microsoft Fabric
Изменяет внешний источник данных, используемый для создания внешней таблицы, используемой для функций виртуализации данных PolyBase и данных. Внешний источник данных может быть Hadoop или Хранилище BLOB-объектов Azure (WASBS) для SQL SERVER и Хранилище BLOB-объектов Azure (WASBS) или Azure Data Lake Storage (ABFSS/ADL) для Azure Synapse Analytics.
Начиная с SQL Server 2022 (16.x), внешние источники данных Hadoop больше не поддерживаются. Кроме того, Хранилище BLOB-объектов Azure и префиксы Azure Data Lake 2-го поколения, см. в следующей таблице:
| Внешний источник данных | С дт. | По |
|---|---|---|
Azure Blob Storage |
wasb[s] |
abs |
ADLS Gen2 |
abfs[s] |
adls |
Соглашения о синтаксисе Transact-SQL
Синтаксис
Изменение внешнего источника данных. Синтаксис для SQL Server (2016, 2017 и 2019) и системы платформы аналитики (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
}
[;]
Измените внешний источник данных, указывающий на хранилище BLOB-объектов Azure. Синтаксис для SQL Server (2017 и 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 ]
Измените внешний источник данных, указывающий на хранилище BLOB-объектов Azure. Синтаксис для SQL Server 2022 и более поздних версий.
-- 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 ]
Измените внешний источник данных, указывающий на Azure Data Lake Storage (ADLS) 2-го поколения. Синтаксис для SQL Server 2022 и более поздних версий.
-- 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 ]
Измените внешний источник данных, указывающий на хранилище BLOB-объектов Azure или Azure Data Lake Storage. Синтаксис только для выделенного пула SQL 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 ]
Аргументы
data_source_name
Задает определенное пользователем имя для источника данных. Имя должно быть уникальным.
МЕСТОПОЛОЖЕНИЕ
Предоставляет протокол подключения, путь и порт к внешнему источнику данных. Допустимые параметры расположения см. в разделе CREATE EXTERNAL DATA SOURCE (Transact-SQL).
RESOURCE_MANAGER_LOCATION = IP-адрес<; Порт>
Не применяется к Azure Synapse Analytics и SQL Server 2022 (16.x))
Указывает расположение Hadoop Resource Manager. Если аргумент указан, оптимизатор запросов может выбрать предварительную обработку данных для запросов PolyBase с помощью вычислительных мощностей Hadoop. Это решение, принимаемое на основе стоимости. Оно называется передачей предиката и может значительно сократить объем данных, передаваемых между Hadoop и SQL, повышая производительность запросов.
КВАЛИФИКАЦИЯ = Credential_Name
Указывает именованные учетные данные. См. CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).
ТИП = [ HADOOP | BLOB_STORAGE ] **
Применимо к: ТОЛЬКО SQL Server 2017 (14.x) и SQL Server 2019 (15.x).
Только для массовых операций — LOCATION должен быть допустимым URL-адресом хранилища больших двоичных объектов Azure. Не помещайте /в конец URL-адреса параметры подписи, имени файла или подписанного LOCATION URL-адреса.
Учетные данные, которые вы используете, должны быть созданы в SHARED ACCESS SIGNATURE качестве удостоверения. Дополнительные сведения о подписанных URL-адресах см. в статье Использование подписанных URL-адресов.
Замечания
Одновременно можно изменить только один источник. Параллельные запросы на изменение того же источника приводят к помещению одной инструкции в режим ожидания. Однако одновременно можно изменять разные источники. Эта инструкция может выполняться параллельно с другими инструкциями.
В Azure Synapse Analytics подключения к внешним источникам данных, указывающим на Хранилище BLOB-объектов Azure или хранилище Azure Data Lake, поддерживаются только в выделенном пуле SQL.
Разрешения
Требуется разрешение ALTER ANY EXTERNAL DATA SOURCE.
Внимание
Разрешение ALTER ANY EXTERNAL DATA SOURCE предоставляет любому субъекту возможность создания и изменения объекта внешнего источника данных и, таким образом, также предоставляет возможность доступа ко всем учетным данным уровня базы данных в базе данных. Это разрешение следует рассматривать как высоко привилегированное, поэтому его следует предоставлять только доверенным субъектам в системе.
Примеры
В следующем примере изменяется расположение и расположение Resource Manager существующего источника данных.
Не применяется к 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'
;
В следующем примере изменяются учетные данные для подключения к источнику данных.
ALTER EXTERNAL DATA SOURCE hadoop_eds SET
CREDENTIAL = new_hadoop_user
;
В следующем примере учетные данные изменяются на новое значение LOCATION. Этот пример — это внешний источник данных, созданный для Azure Synapse Analytics.
ALTER EXTERNAL DATA SOURCE AzureStorage_west SET
LOCATION = 'wasbs://loadingdemodataset@updatedproductioncontainer.blob.core.windows.net',
CREDENTIAL = AzureStorageCredential