Megosztás a következőn keresztül:


KÜLSŐ ADATFORRÁS MÓDOSÍTÁSA (Transact-SQL)

A következőkre vonatkozik: Az SQL Server 2016 (13.x) és újabb verziói az Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPlatform System (PDW)SQL Analytics végpontja a Microsoft FabricWarehouse-ban a Microsoft FabricSQL Database-ben a Microsoft Fabricben

Módosítja a PolyBase és az adatvirtualizálási funkciókhoz használt külső tábla létrehozásához használt külső adatforrást. A külső adatforrás lehet a Hadoop vagy az Azure Blob Storage (WASBS) AZ SQL SERVER és az Azure Blob Storage (WASBS) vagy az Azure Data Lake Storage (ABFSS/ADL) az Azure Synapse Analyticshez.

Az SQL Server 2022-től kezdve (16.x) a Hadoop külső adatforrásai már nem támogatottak. Az Azure Blob Storage és az Azure Data Lake Gen 2 előtagok is módosultak, tekintse meg a következő táblázatot:

Külső adatforrás Ettől kezdve
Azure Blob Storage wasb[s] abs
ADLS Gen2 abfs[s] adls

Transact-SQL szintaxis konvenciók

Szemantika

Külső adatforrás módosítása. Az SQL Server (2016, 2017 és 2019) és az Analytics Platform System (PDW) szintaxisa.

-- 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
    }  
    [;]  

Módosítsa az Azure Blob Storage-ra mutató külső adatforrást. Az SQL Server szintaxisa (2017 és 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 ] 

Módosítsa az Azure Blob Storage-ra mutató külső adatforrást. Az SQL Server 2022 és újabb verziók szintaxisa.

-- 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 ] 

Módosítsa az Azure Data Lake Storage (ADLS) Gen2-ra mutató külső adatforrást. Az SQL Server 2022 és újabb verziók szintaxisa.

-- 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 ] 

Módosítsa az Azure Blob Storage-ra vagy az Azure Data Lake Storage-ra mutató külső adatforrást. Csak az Azure Synapse Analytics dedikált SQL-készletének szintaxisa.

-- 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 ] 

Érvek

data_source_name

Megadja az adatforrás felhasználó által definiált nevét. A névnek egyedinek kell lennie.

HELYSZÍN

Megadja a külső adatforráshoz tartozó csatlakozási protokollt, elérési utat és portot. Az érvényes helybeállításokat a CREATE EXTERNAL DATA SOURCE (Transact-SQL) című témakörben talál.

RESOURCE_MANAGER_LOCATION = "<IP-cím; Port>'

Nem vonatkozik az Azure Synapse Analyticsre és az SQL Server 2022-re (16.x))

Megadja a Hadoop Resource Manager helyét. Ha meg van adva, a lekérdezésoptimalizáló a Hadoop számítási képességeinek használatával előre feldolgozhatja a PolyBase-lekérdezések adatait. Ez egy költségalapú döntés. Predikátum leküldéses leküldésnek nevezzük, ez jelentősen csökkentheti a Hadoop és az SQL között átvitt adatok mennyiségét, és ezáltal javíthatja a lekérdezési teljesítményt.

HITELESÍTŐ ADATOK = Credential_Name

Megadja a névvel ellátott hitelesítő adatokat. Lásd: CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).

TÍPUS = [ HADOOP | BLOB_STORAGE ] **

A következőkre vonatkozik: Az SQL Server 2017 (14.x) és az SQL Server 2019 (15.x) csak.

Csak LOCATION tömeges műveletek esetén érvényesnek kell lennie az Azure Blob Storage URL-címének. Ne helyezzen el fájlnevet /vagy közös hozzáférésű jogosultságkód-paramétereket az LOCATION URL-cím végére.

A használt hitelesítő adatokat identitásként kell létrehozni SHARED ACCESS SIGNATURE . A közös hozzáférésű jogosultságkódokkal kapcsolatos további információkért lásd: Közös hozzáférésű jogosultságkódok (SAS) használata.

Megjegyzések

Egyszerre csak egyetlen forrás módosítható. Az ugyanazon forrás módosítására irányuló egyidejű kérések egy utasítás várakozását okozzák. A különböző források azonban egyszerre módosíthatók. Ez az utasítás más utasításokkal egyidejűleg is futtatható.

Az Azure Synapse Analyticsben az Azure Blob Storage-ra vagy az Azure Data Lake Storage-ra mutató külső adatforrásokhoz való kapcsolatok csak dedikált SQL-készletben támogatottak.

Engedélyek

BÁRMELY KÜLSŐ ADATFORRÁS engedélyének módosítása szükséges.

Fontos

Az ALTER ANY KÜLSŐ ADATFORRÁS engedély lehetővé teszi bármely egyszerű felhasználó számára, hogy külső adatforrás-objektumokat hozzon létre és módosítson, ezért lehetővé teszi az adatbázis hatókörébe tartozó összes hitelesítő adat elérését is az adatbázisban. Ezt az engedélyt kiemelt jogosultságúnak kell tekinteni, ezért csak megbízható rendszerbiztonsági tagoknak adható.

Példák

Az alábbi példa egy meglévő adatforrás helyét és Resource Manager-helyét módosítja.

Nem vonatkozik az SQL Server 2022-re (16.x).

ALTER EXTERNAL DATA SOURCE hadoop_eds SET
     LOCATION = 'hdfs://10.10.10.10:8020',
     RESOURCE_MANAGER_LOCATION = '10.10.10.10:8032'
    ;

Az alábbi példa módosítja a hitelesítő adatokat egy meglévő adatforráshoz való csatlakozáshoz.

ALTER EXTERNAL DATA SOURCE hadoop_eds SET
   CREDENTIAL = new_hadoop_user
    ;

Az alábbi példa a hitelesítő adatokat egy új HELYre módosítja. Ez a példa az Azure Synapse Analyticshez létrehozott külső adatforrás.

ALTER EXTERNAL DATA SOURCE AzureStorage_west SET
   LOCATION = 'wasbs://loadingdemodataset@updatedproductioncontainer.blob.core.windows.net',
   CREDENTIAL = AzureStorageCredential