Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server 2016 (13.x) und höher
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Ändert eine externe Datenquelle, die zum Erstellen einer externen Tabelle verwendet wird, die für PolyBase- und Datenvirtualisierungsfeatures verwendet wird. Bei der externen Datenquelle kann es sich um Hadoop oder Azure Blob Storage (WASBS) für SQL Server und Azure Blob Storage (WASBS) oder um Azure Data Lake Storage (ABFSS/ADL) für Azure Synapse Analytics handeln.
Ab SQL Server 2022 (16.x) werden externe Datenquellen von Hadoop nicht mehr unterstützt. Außerdem wurden Azure Blob Storage und Azure Data Lake Gen2-Präfixe geändert. Sie die folgende Tabelle:
Externe Datenquelle | Von | Beschreibung |
---|---|---|
Azure Blob Storage |
wasb[s] |
abs |
ADLS Gen2 |
abfs[s] |
adls |
Transact-SQL-Syntaxkonventionen
Syntax
Ändern einer externen Datenquelle. Syntax für SQL Server (2016, 2017 und 2019) und 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
}
[;]
Ändern Sie eine externe Datenquelle, die auf Azure Blob Storage verweist. Syntax für SQL Server (2017 und 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 ]
Ändern Sie eine externe Datenquelle, die auf Azure Blob Storage verweist. Syntax für SQL Server 2022 und höhere Versionen.
-- 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 ]
Ändern Sie eine externe Datenquelle, die auf Azure Data Lake Storage (ADLS) Gen2 verweist. Syntax für SQL Server 2022 und höhere Versionen.
-- 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 ]
Ändern Sie eine externe Datenquelle, die auf Azure Blob Storage oder Azure Data Lake Storage verweist. Syntax nur für dedizierten SQL-Pool für 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 ]
Argumente
data_source_name
Gibt den benutzerdefinierten Namen für die Datenquelle an. Der Name muss eindeutig sein.
LAGERPLATZ
Stellt das Verbindungsprotokoll, den Pfad und den Port zur externen Datenquelle bereit. Weitere Informationen über gültige Speicherortoptionen finden Sie unter CREATE EXTERNAL DATA SOURCE (Transact-SQL).
RESOURCE_MANAGER_LOCATION = '<IP-Adresse; Port>'
Gilt nicht für Azure Synapse Analytics und SQL Server 2022 (16.x))
Gibt den Hadoop Resource Manager-Speicherort an. Wenn angegeben, kann der Abfrageoptimierer festlegen, dass Daten für eine PolyBase-Abfrage mithilfe der Berechnungsfunktionen von Hadoop vorverarbeitet werden. Dies ist eine kostenbasierte Entscheidung. Dies wird Prädikatweitergabe genannt und kann die Menge der zwischen Hadoop und SQL übertragenen Daten deutlich reduzieren und damit die Abfrageleistung verbessern.
ANMELDEINFORMATIONEN = Credential_Name
Gibt die benannten Anmeldeinformationen an. Siehe CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).
TYPE = [ HADOOP | BLOB_STORAGE ] **
Gilt für: Nur SQL Server 2017 (14.x) und SQL Server 2019 (15.x).
Nur bei Massenvorgängen muss LOCATION
die gültige URL für den Azure Blob Storage sein. Fügen /
Sie am Ende der LOCATION
URL keine Parameter für die Signatur für den freigegebenen Zugriff, keinen Dateinamen oder keine freigegebenen Zugriffssignaturparameter ein.
Die verwendeten Anmeldeinformationen müssen mithilfe von SHARED ACCESS SIGNATURE
als Identität erstellt werden. Weitere Informationen zu SAS finden Sie unter Verwenden von Shared Access Signatures (SAS).
Bemerkungen
Es kann immer jeweils nur eine Quelle geändert werden. Gleichzeitige Anforderungen zur Änderung derselben Quelle führen dazu, dass eine Anweisung warten muss. Unterschiedliche Quellen können jedoch gleichzeitig geändert werden. Diese Anweisung kann gleichzeitig mit anderen Anweisungen ausgeführt werden.
In Azure Synapse Analytics werden Verbindungen mit externen Datenquellen, die auf Azure Blob Storage oder Azure Data Lake Storage verweisen, nur in dedizierten SQL-Pools unterstützt.
Berechtigungen
Erfordert eine ALTER ANY EXTERNAL DATA SOURCE-Berechtigung.
Wichtig
Mit der Berechtigung ALTER ANY EXTERNAL DATA SOURCE besitzt jeder Prinzipal die Fähigkeit, beliebige externe Datenquellenobjekte zu erstellen und zu ändern. Damit ist auch der Zugriff auf alle datenbankweit gültigen Anmeldeinformationen der Datenbank möglich. Da es sich hierbei um eine weitreichende Berechtigung handelt, darf sie nur vertrauenswürdigen Prinzipalen innerhalb des Systems erteilt werden.
Beispiele
Im folgenden Beispiel wird der Speicherort und der Resource Manager-Speicherort einer vorhandenen Datenquelle geändert.
Gilt nicht für: 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'
;
Im folgenden Beispiel werden die Anmeldeinformationen zur Verbindung mit einer vorhandenen Datenquelle geändert.
ALTER EXTERNAL DATA SOURCE hadoop_eds SET
CREDENTIAL = new_hadoop_user
;
Im folgenden Beispiel werden die Anmeldeinformationen in einen neuen Speicherort geändert. Bei diesem Beispiel handelt es sich um einer externe Datenquelle für Azure Synapse Analytics.
ALTER EXTERNAL DATA SOURCE AzureStorage_west SET
LOCATION = 'wasbs://loadingdemodataset@updatedproductioncontainer.blob.core.windows.net',
CREDENTIAL = AzureStorageCredential