Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server 2025 (17.x) dan versi yang lebih baru
Dimulai dengan SQL Server 2025 (17.x), Anda dapat menggunakan identitas terkelola untuk mengakses sumber daya Azure berikut:
- Azure Blob Storage
- Azure Data Lake
Prasyarat
- SQL Server 2025 (17.x)
- SQL Server diaktifkan oleh Azure Arc
- Aktifkan opsi konfigurasi server
allow server scoped db credentials - Berikan akses identitas terkelola ke sumber daya Azure Blob Storage.
Membuat kredensial lingkup database
Tambahkan kredensial khusus database untuk identitas terkelola.
Izinkan kredensial database yang dibatasi oleh server. Jalankan kueri Transact-SQL berikut ini:
EXECUTE sp_configure 'allow server scoped db credentials', 1; GO RECONFIGURE;Buat kredensial cakupan database. Contoh ini menggunakan nama
managed_id:CREATE DATABASE SCOPED CREDENTIAL [managed_id] WITH IDENTITY = 'Managed Identity';
Membuat sumber data eksternal
Buat sumber data eksternal dengan pengaturan berikut.
Awalan lokasi konektor
abs
Jalur lokasi
-
abs://<container_name>@<storage_account_name>.blob.core.windows.net/atau abs://<storage_account_name>.blob.core.windows.net/<container_name>
-
Lokasi yang didukung berdasarkan produk / layanan
- SQL Server 2025 (17.x) diaktifkan oleh Azure Arc
- SQL Server 2022 (16.x): Ruang nama hierarkis didukung
Authentication
- Tanda tangan akses bersama (SAS), atau
- Identitas yang dikelola
Menjalankan kueri pada file Parquet di Azure Blob Storage
SQL Server 2025 (17.x) mendukung identitas terkelola melalui Azure Arc. Untuk petunjuknya, lihat Identitas terkelola untuk SQL Server yang diaktifkan oleh Azure Arc.
Contoh berikut mengkueri file Parquet di Azure Blob Storage:
EXECUTE sp_configure 'allow server scoped db credentials', 1;
RECONFIGURE;
GO
CREATE DATABASE SCOPED CREDENTIAL [managed_id]
WITH IDENTITY = 'Managed Identity';
CREATE EXTERNAL DATA SOURCE [my_external_data_source]
WITH (
LOCATION = 'abs://<container>@<storage_account_name>.blob.core.windows.net/',
CREDENTIAL = managed_id
);
Kesalahan dan solusi
Tabel eksternal tidak dapat diakses (Kesalahan 16562)
Anda mungkin mengalami kesalahan 16562 saat mencoba mengakses Azure Blob Storage atau Azure Data Lake jika Anda kehilangan prasyarat:
Msg 16562, Level 16, State 1, Line 79
External table <name> is not accessible because location does not exist or it is used by another process.
Periksa item berikut:
Instans SQL Server dikonfigurasi dengan benar untuk Azure Arc. Untuk informasi selengkapnya, lihat Identitas terkelola untuk SQL Server yang diaktifkan oleh Azure Arc.
Entri registri yang diperlukan ada.
Verifikasi bahwa
allow server scoped db credentialsopsi konfigurasi server diaktifkan.
File tidak dapat dibuka (Kesalahan 13822)
Anda mungkin mengalami kesalahan 13822 saat mengakses Azure Blob Storage atau Azure Data Lake jika identitas terkelola tidak memiliki izin pada akun penyimpanan, atau akses jaringan ke penyimpanan diblokir.
Msg 13822, Level 16, State 1, Line 9
File <file> cannot be opened because it does not exist or it is used by another process.
Periksa item berikut:
- Apakah identitas terkelola memiliki izin ke kontainer penyimpanan?
- Dapatkah identitas terkelola mengakses kontainer penyimpanan di luar SQL Server?
- Apakah file terkunci secara eksklusif?