Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2016 (13.x) i nowszych
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Modyfikuje zewnętrzne źródło danych używane do tworzenia tabeli zewnętrznej używanej do obsługi technologii PolyBase i funkcji wirtualizacji danych. Zewnętrzne źródło danych to Hadoop lub Azure Blob Storage (WASBS) dla programu SQL SERVER i usługi Azure Blob Storage (WASBS) lub Azure Data Lake Storage (ABFSS/ADL) dla usługi Azure Synapse Analytics.
Począwszy od programu SQL Server 2022 (16.x), zewnętrzne źródła danych usługi Hadoop nie są już obsługiwane. Ponadto zmieniono prefiksy usługi Azure Blob Storage i Azure Data Lake Gen 2, zapoznaj się z następującą tabelą:
Zewnętrzne źródło danych | Źródło | Do |
---|---|---|
Azure Blob Storage |
wasb[s] |
abs |
ADLS Gen2 |
abfs[s] |
adls |
Transact-SQL konwencje składni
Składnia
Modyfikowanie zewnętrznego źródła danych. Składnia dla programów SQL Server (2016, 2017 i 2019) i 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
}
[;]
Zmodyfikuj zewnętrzne źródło danych wskazujące usługę Azure Blob Storage. Składnia dla programu SQL Server (2017 i 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 ]
Zmodyfikuj zewnętrzne źródło danych wskazujące usługę Azure Blob Storage. Składnia dla programu SQL Server 2022 i nowszych wersji.
-- 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 ]
Zmodyfikuj zewnętrzne źródło danych wskazujące na usługę Azure Data Lake Storage (ADLS) Gen2. Składnia dla programu SQL Server 2022 i nowszych wersji.
-- 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 ]
Zmodyfikuj zewnętrzne źródło danych wskazujące usługę Azure Blob Storage lub Azure Data Lake Storage. Składnia tylko dedykowanej puli SQL usługi 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 ]
Argumenty (w programowaniu)
data_source_name
Określa nazwę zdefiniowaną przez użytkownika dla źródła danych. Nazwa musi być unikatowa.
LOKALIZACJA
Udostępnia protokół łączności, ścieżkę i port do zewnętrznego źródła danych. Aby uzyskać prawidłowe opcje lokalizacji, zobacz CREATE EXTERNAL DATA SOURCE (Transact-SQL).
RESOURCE_MANAGER_LOCATION = "<Adres IP; Port>"
Nie dotyczy usług Azure Synapse Analytics i SQL Server 2022 (16.x))
Określa lokalizację usługi Hadoop Resource Manager. Po określeniu optymalizator zapytań może zdecydować się na wstępne przetwarzanie danych dla zapytania PolyBase przy użyciu możliwości obliczeniowych usługi Hadoop. Jest to decyzja oparta na kosztach. Nazywane wypychaniem predykatu może to znacząco zmniejszyć ilość danych przesyłanych między usługą Hadoop i bazą danych SQL, a tym samym zwiększyć wydajność zapytań.
CREDENTIAL = Credential_Name
Określa nazwane poświadczenia. Zobacz CREATE DATABASE SCOPED CREDENTIAL (CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).
TYPE = [ HADOOP | BLOB_STORAGE ] **
Dotyczy: Tylko programy SQL Server 2017 (14.x) i SQL Server 2019 (15.x).
Tylko w przypadku operacji zbiorczych LOCATION
adres URL usługi Azure Blob Storage musi być prawidłowy. Nie umieszczaj /
parametrów , nazwy pliku ani sygnatury dostępu współdzielonego na końcu LOCATION
adresu URL.
Używane poświadczenia należy utworzyć przy użyciu SHARED ACCESS SIGNATURE
jako tożsamości. Aby uzyskać więcej informacji na temat sygnatur dostępu współdzielonego, zobacz Używanie sygnatur dostępu współdzielonego (SAS).
Uwagi
Jednocześnie można modyfikować tylko jedno źródło. Współbieżne żądania modyfikowania tego samego źródła powodują oczekiwanie jednej instrukcji. Jednak różne źródła można modyfikować w tym samym czasie. Ta instrukcja może działać współbieżnie z innymi instrukcjami.
W usłudze Azure Synapse Analytics połączenia z zewnętrznymi źródłami danych wskazującym na usługę Azure Blob Storage lub Azure Data Lake Storage są obsługiwane tylko w dedykowanej puli SQL.
Uprawnienia
Wymaga uprawnienia ALTER ANY EXTERNAL DATA SOURCE.
Ważne
Uprawnienie ALTER ANY EXTERNAL DATA SOURCE przyznaje każdemu podmiotowi zabezpieczeń możliwość tworzenia i modyfikowania dowolnego zewnętrznego obiektu źródła danych, a w związku z tym przyznaje również możliwość dostępu do wszystkich poświadczeń w zakresie bazy danych. To uprawnienie musi być uznawane za wysoce uprzywilejowane i dlatego musi zostać przyznane tylko zaufanym podmiotom zabezpieczeń w systemie.
Przykłady
Poniższy przykład zmienia lokalizację i lokalizację usługi Resource Manager istniejącego źródła danych.
Nie dotyczy programu 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'
;
Poniższy przykład zmienia poświadczenia w celu nawiązania połączenia z istniejącym źródłem danych.
ALTER EXTERNAL DATA SOURCE hadoop_eds SET
CREDENTIAL = new_hadoop_user
;
Poniższy przykład zmienia poświadczenie na nową lokalizację. W tym przykładzie jest zewnętrzne źródło danych utworzone dla usługi Azure Synapse Analytics.
ALTER EXTERNAL DATA SOURCE AzureStorage_west SET
LOCATION = 'wasbs://loadingdemodataset@updatedproductioncontainer.blob.core.windows.net',
CREDENTIAL = AzureStorageCredential