Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümleri
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analytics Platform Sistemi (PDW)
Microsoft Fabric'teki Microsoft Fabric SQL veritabanındaKi Microsoft Fabric
Ambarı'ndakiSQL analiz uç noktası
PolyBase ve veri sanallaştırma özellikleri için kullanılan dış tablo oluşturmak için kullanılan dış veri kaynağını değiştirir. Dış veri kaynağı, SQL SERVER için Hadoop veya Azure Blob Depolama (WASBS) ve Azure Blob Depolama (WASBS) veya Azure Synapse Analytics için Azure Data Lake storage (ABFSS/ADL) olabilir.
SQL Server 2022'den (16.x) başlayarak Hadoop dış veri kaynakları artık desteklenmiyor. Ayrıca Azure Blob Depolama ve Azure Data Lake 2. Nesil ön ekleri değiştirildiğinde aşağıdaki tabloya bakın:
| Dış Veri Kaynağı | Kaynak | İçin |
|---|---|---|
Azure Blob Storage |
wasb[s] |
abs |
ADLS Gen2 |
abfs[s] |
adls |
Transact-SQL söz dizimi kuralları
Sözdizimi
Dış veri kaynağını değiştirme. SQL Server (2016, 2017 ve 2019) ve Analiz Platformu Sistemi (PDW) için sözdizimi.
-- 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
}
[;]
Azure Blob depolamayı işaret eden bir dış veri kaynağını değiştirin. SQL Server söz dizimi (2017 ve 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 ]
Azure Blob depolamayı işaret eden bir dış veri kaynağını değiştirin. SQL Server 2022 ve sonraki sürümlerin söz dizimi.
-- 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. Nesil'e işaret eden bir dış veri kaynağını değiştirin. SQL Server 2022 ve sonraki sürümlerin söz dizimi.
-- 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 ]
Azure Blob Depolama'ya veya Azure Data Lake Storage'a işaret eden bir dış veri kaynağını değiştirin. Yalnızca Azure Synapse Analytics ayrılmış SQL havuzu söz dizimi.
-- 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 ]
Tartışmalar
data_source_name
Veri kaynağı için kullanıcı tanımlı adı belirtir. Ad benzersiz olmalıdır.
KONUM
Dış veri kaynağına bağlantı protokolü, yol ve bağlantı noktası sağlar. Geçerli konum seçenekleri için bkz. CREATE EXTERNAL DATA SOURCE (Transact-SQL).
RESOURCE_MANAGER_LOCATION = '<IP adresi; Bağlantı noktası>'
Azure Synapse Analytics ve SQL Server 2022 (16.x)) için geçerli değildir
Hadoop Resource Manager konumunu belirtir. Belirtildiğinde, sorgu iyileştirici Hadoop'un hesaplama özelliklerini kullanarak PolyBase sorgusu için verileri önceden işlemeyi seçebilir. Bu, maliyet tabanlı bir karardır. Koşul gönderimi olarak adlandırılan bu, Hadoop ile SQL arasında aktarılan veri hacmini önemli ölçüde azaltabilir ve bu nedenle sorgu performansını iyileştirebilir.
CREDENTIAL = Credential_Name
Adlandırılmış kimlik bilgilerini belirtir. Bkz . CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).
TYPE = [ HADOOP | BLOB_STORAGE ] **
Şunlar için geçerlidir: Yalnızca SQL Server 2017 (14.x) ve SQL Server 2019 (15.x).
Yalnızca toplu işlemler için Azure LOCATION Blob depolama url'sinin geçerli olması gerekir. URL'nin sonuna , /dosya adı veya paylaşılan erişim imzası parametreleri koymayın LOCATION .
Kullandığınız kimlik bilgisi, kimlik olarak kullanılarak SHARED ACCESS SIGNATURE oluşturulmalıdır. Paylaşılan erişim imzaları hakkında daha fazla bilgi için bkz. Paylaşılan Erişim İmzalarını (SAS) Kullanma.
Açıklamalar
Aynı anda yalnızca tek bir kaynak değiştirilebilir. Aynı kaynağı değiştirmek için yapılan eşzamanlı istekler bir deyimin beklemesine neden olur. Ancak, farklı kaynaklar aynı anda değiştirilebilir. Bu deyim diğer deyimlerle eşzamanlı olarak çalıştırılabilir.
Azure Synapse Analytics'te, Azure Blob depolamayı veya Azure Data Lake depolamayı işaret eden dış veri kaynaklarına bağlantılar yalnızca ayrılmış SQL havuzunda desteklenir.
İzinler
ALTER ANY EXTERNAL DATA SOURCE izni gerektirir.
Önemli
ALTER ANY EXTERNAL DATA SOURCE izni, herhangi bir sorumluya herhangi bir dış veri kaynağı nesnesi oluşturma ve değiştirme olanağı verir ve bu nedenle, veritabanındaki tüm veritabanı kapsamlı kimlik bilgilerine erişme olanağı da verir. Bu izin yüksek ayrıcalıklı olarak kabul edilmeli ve bu nedenle yalnızca sistemdeki güvenilir sorumlulara verilmelidir.
Örnekler
Aşağıdaki örnek, mevcut bir veri kaynağının konumunu ve Resource Manager konumunu değiştirir.
SQL Server 2022 (16.x) için geçerli değildir.
ALTER EXTERNAL DATA SOURCE hadoop_eds SET
LOCATION = 'hdfs://10.10.10.10:8020',
RESOURCE_MANAGER_LOCATION = '10.10.10.10:8032'
;
Aşağıdaki örnek, mevcut bir veri kaynağına bağlanmak için kimlik bilgilerini değiştirir.
ALTER EXTERNAL DATA SOURCE hadoop_eds SET
CREDENTIAL = new_hadoop_user
;
Aşağıdaki örnek, kimlik bilgilerini yeni bir LOCATION olarak değiştirir. Bu örnek, Azure Synapse Analytics için oluşturulmuş bir dış veri kaynağıdır.
ALTER EXTERNAL DATA SOURCE AzureStorage_west SET
LOCATION = 'wasbs://loadingdemodataset@updatedproductioncontainer.blob.core.windows.net',
CREDENTIAL = AzureStorageCredential