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
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistem Platform Analitik (PDW)
Database SQL di Microsoft Fabric
Membuat kredensial database. Kredensial database tidak dipetakan ke login server atau pengguna database. Database menggunakan kredensial untuk mengakses sumber daya eksternal, saat melakukan operasi yang memerlukan akses.
Syntax
CREATE DATABASE SCOPED CREDENTIAL credential_name
WITH IDENTITY = 'identity_name'
[ , SECRET = 'secret' ]
[ ; ]
Arguments
credential_name
Menentukan nama kredensial lingkup database yang sedang dibuat.
credential_name tidak dapat dimulai dengan tanda angka (#). Kredensial sistem dimulai dengan ##. Panjang maksimum credential_name adalah 128 karakter.
IDENTITAS = 'identity_name'
Menentukan nama akun yang akan digunakan saat menyambungkan di luar server.
Untuk mengimpor file dari Azure Blob Storage atau Azure Data Lake Storage menggunakan kunci bersama, nama identitas harus
SHARED ACCESS SIGNATURE. Untuk informasi selengkapnya tentang tanda tangan akses bersama, lihat Menggunakan Tanda Tangan Akses Bersama (SAS). Hanya gunakanIDENTITY = SHARED ACCESS SIGNATUREuntuk tanda tangan akses bersama.Untuk mengimpor file dari Azure Blob Storage menggunakan identitas terkelola, nama identitas harus .
MANAGED IDENTITYSaat menggunakan Kerberos (Windows Active Directory atau MIT KDC), jangan gunakan nama domain dalam
IDENTITYargumen. Ini seharusnya hanya nama akun.Dalam instans SQL Server, jika Anda membuat kredensial cakupan database dengan Kunci Akses Penyimpanan yang digunakan sebagai
SECRET,IDENTITYdiabaikan.WITH IDENTITYtidak diperlukan jika kontainer di Azure Blob Storage diaktifkan untuk akses anonim. Untuk contoh mengkueri penyimpanan Azure Blob denganOPENROWSET BULK, lihat Mengimpor ke dalam tabel dari file yang disimpan di penyimpanan Azure Blob.Di SQL Server 2022 (16.x) dan versi yang lebih baru, konektor REST-API menggantikan HADOOP. Untuk Azure Blob Storage dan Azure Data Lake Gen 2, satu-satunya metode autentikasi yang didukung adalah tanda tangan akses bersama. Untuk informasi selengkapnya, lihat BUAT SUMBER DATA EKSTERNAL.
Di SQL Server 2019 (15.x), satu-satunya sumber data eksternal PolyBase yang mendukung autentikasi Kerberos adalah Hadoop. Semua sumber data eksternal lainnya (SQL Server, Oracle, Teradata, MongoDB, ODBC generik) hanya mendukung Autentikasi Dasar.
Kumpulan SQL di Azure Synapse Analytics menyertakan catatan berikut:
- Untuk memuat data ke Azure Synapse Analytics, Anda dapat menggunakan nilai valid apa pun untuk
IDENTITY. - Dalam kumpulan SQL tanpa server Azure Synapse Analytics, kredensial tercakup database dapat menentukan identitas terkelola ruang kerja, nama perwakilan layanan, atau token tanda tangan akses bersama (SAS). Akses melalui identitas pengguna, yang diaktifkan oleh Masuk pengguna dengan autentikasi pass-through Microsoft Entra, juga dimungkinkan dengan kredensial cakupan database, seperti halnya akses anonim ke penyimpanan yang tersedia untuk umum. Untuk informasi selengkapnya, lihat Jenis otorisasi penyimpanan yang didukung.
- Dalam kumpulan SQL khusus Azure Synapse Analytics, kredensial tercakup database dapat menentukan token tanda tangan akses bersama (SAS), identitas aplikasi kustom, identitas terkelola ruang kerja, atau kunci akses penyimpanan.
- Untuk memuat data ke Azure Synapse Analytics, Anda dapat menggunakan nilai valid apa pun untuk
| Authentication | T-SQL | Supported | Notes |
|---|---|---|---|
| Tanda tangan akses bersama (SAS) | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = 'secret'; |
SQL Server 2022 dan yang lebih baru, Azure SQL Managed Instance, Azure Synapse Analytics, Azure SQL Database | |
| Identitas Terkelola | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'MANAGED IDENTITY'; |
Azure SQL Database, Azure SQL Managed Instance, SQL Server 2025 dengan Azure Arc | Untuk mengaktifkan Azure Arc, lihat Identitas terkelola untuk SQL Server yang diaktifkan oleh Azure Arc |
| Autentikasi pass-through Microsoft Entra melalui Identitas Pengguna | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'USER IDENTITY'; |
|
Di Azure Synapse, lihat Masuk pengguna dengan autentikasi pass-through Microsoft Entra |
| Autentikasi S3 Access Key Basic | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'S3 ACCESS KEY', SECRET = '<accesskey>:<secretkey>'; |
SQL Server 2022 dan versi yang lebih baru | |
| Sumber Data ODBC atau Kerberos (MIT KDC) |
CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = '<identity_name>', SECRET = '<secret>'; |
SQL Server 2019 dan versi yang lebih baru |
1 Dalam database SQL di Microsoft Fabric, jika Anda tidak menentukan kredensial cakupan database, metode autentikasi default ke 'USER IDENTITY' dan menggunakan akun pengguna Microsoft Entra ID sebagai konteks.
RAHASIA = 'rahasia'
Menentukan rahasia yang diperlukan untuk autentikasi keluar.
SECRET diperlukan untuk mengimpor file dari penyimpanan Azure Blob. Untuk memuat dari penyimpanan Azure Blob ke Azure Synapse Analytics atau Gudang Data Paralel, Rahasia harus berupa Kunci Azure Storage.
Warning
Nilai kunci SAS mungkin dimulai dengan tanda tanya (?). Saat Anda menggunakan kunci SAS, hapus yang terkemuka ?.
Remarks
Kredensial lingkup database adalah catatan yang berisi informasi autentikasi yang diperlukan untuk menyambungkan ke sumber daya di luar SQL Server. Sebagian besar kredensial mencakup pengguna dan kata sandi Windows.
Untuk melindungi informasi sensitif di dalam kredensial lingkup database, diperlukan kunci master database (DMK). DMK adalah kunci konten yang mengenkripsi rahasia dalam kredensial lingkup database. Database harus memiliki DMK sebelum Anda dapat membuat kredensial cakupan database apa pun. Enkripsi DMK dengan kata sandi yang kuat. Azure SQL Database membuat DMK dengan kata sandi yang kuat dan dipilih secara acak sebagai bagian dari pembuatan kredensial cakupan database, atau sebagai bagian dari pembuatan audit server.
Pengguna tidak dapat membuat DMK pada database logis master . Kata sandi DMK tidak diketahui oleh Microsoft dan tidak dapat ditemukan setelah pembuatan. Buat DMK sebelum membuat kredensial cakupan database. Untuk informasi selengkapnya, lihat CREATE MASTER KEY.
Ketika IDENTITY pengguna Windows, rahasianya bisa berupa kata sandi. Rahasia dienkripsi dengan kunci master layanan (SMK). Jika Anda membuat ulang SMK, rahasia tersebut dienkripsi ulang dengan SMK baru.
Saat memberikan izin untuk tanda tangan akses bersama (SAS) untuk digunakan dengan tabel eksternal PolyBase, pilih Kontainer dan Objek sebagai jenis sumber daya yang diizinkan. Jika Anda tidak memberikan izin ini, Anda mungkin menerima kesalahan 16535 atau 16561 saat mencoba mengakses tabel eksternal.
Untuk informasi tentang kredensial cakupan database, lihat tampilan katalog sys.database_scoped_credentials .
Berikut adalah beberapa aplikasi kredensial cakupan database:
SQL Server menggunakan kredensial tercakup database untuk mengakses Azure Blob Storage non-publik atau kluster Hadoop yang diamankan Kerberos dengan PolyBase. Untuk informasi selengkapnya, lihat BUAT SUMBER DATA EKSTERNAL.
Azure Synapse Analytics menggunakan kredensial cakupan database untuk mengakses Azure Blob Storage non-publik dengan PolyBase. Untuk informasi selengkapnya, lihat BUAT SUMBER DATA EKSTERNAL. Untuk informasi selengkapnya tentang autentikasi penyimpanan Azure Synapse, lihat Menggunakan tabel eksternal dengan Synapse SQL.
SQL Database menggunakan kredensial cakupan database untuk fitur kueri elastisnya , yang memungkinkan kueri di beberapa serpihan database.
SQL Database menggunakan kredensial lingkup database untuk menulis file peristiwa yang diperluas ke Azure Blob Storage.
SQL Database menggunakan kredensial cakupan database untuk kumpulan elastis. Untuk informasi selengkapnya, lihat Kumpulan elastis membantu Anda mengelola dan menskalakan beberapa database di Azure SQL Database
BULK INSERT dan OPENROWSET menggunakan kredensial cakupan database untuk mengakses data dari Azure Blob Storage. Untuk informasi selengkapnya, lihat Contoh akses massal ke data di Azure Blob Storage.
Gunakan kredensial tercakup database dengan fitur virtualisasi data PolyBase dan Azure SQL Managed Instance.
Untuk
BACKUP TO URLdanRESTORE FROM URL, gunakan kredensial tingkat server melalui CREATE CREDENTIAL sebagai gantinya.Menggunakan kredensial cakupan database dengan CREATE EXTERNAL MODEL
Permissions
Memerlukan izin CONTROL pada database.
Examples
A. Membuat kredensial lingkup database untuk aplikasi Anda
Contoh berikut membuat kredensial cakupan database yang disebut AppCred. Kredensial lingkup database berisi pengguna Mary5 Windows dan kata sandi.
Buat DMK jika belum ada. Jangan gunakan kata sandi kosong. Gunakan kata sandi yang kuat.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';
Membuat kredensial cakupan database:
CREATE DATABASE SCOPED CREDENTIAL AppCred
WITH IDENTITY = 'Mary5',
SECRET = '<password>';
B. Membuat kredensial lingkup database untuk tanda tangan akses bersama
Contoh berikut membuat kredensial cakupan database yang dapat Anda gunakan untuk membuat sumber data eksternal. Kredensial ini dapat melakukan operasi massal, seperti BULK INSERT dan OPENROWSET BULK.
Buat DMK jika belum ada. Jangan gunakan kata sandi kosong. Gunakan kata sandi yang kuat.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';
Buat kredensial cakupan database. Ganti <key> dengan nilai yang sesuai.
CREATE DATABASE SCOPED CREDENTIAL MyCredentials
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = '<key>';
C. Membuat kredensial cakupan database untuk Konektivitas PolyBase ke Azure Data Lake Store
Contoh berikut membuat kredensial cakupan database yang dapat digunakan untuk membuat sumber data eksternal, yang dapat digunakan oleh PolyBase di Azure Synapse Analytics.
Azure Data Lake Store menggunakan aplikasi Microsoft Entra untuk autentikasi layanan-ke-layanan.
Buat aplikasi Microsoft Entra dan dokumentasikan client_id Anda, OAuth_2.0_Token_EndPoint, dan Kunci sebelum Anda mencoba membuat kredensial cakupan database.
Buat DMK jika belum ada. Jangan gunakan kata sandi kosong. Gunakan kata sandi yang kuat.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';
Buat kredensial cakupan database. Ganti <key> dengan nilai yang sesuai.
CREATE DATABASE SCOPED CREDENTIAL ADL_User
WITH IDENTITY = '<client_id>@<OAuth_2.0_Token_EndPoint>',
SECRET = '<key>';
D. Membuat kredensial lingkup database menggunakan Identitas Terkelola
Berlaku untuk: SQL Server 2025 (17.x) dan versi yang lebih baru
SQL Server 2025 (17.x) memperkenalkan dukungan untuk identitas terkelola Microsoft Entra. Untuk informasi tentang cara menggunakan identitas terkelola dengan SQL Server yang diaktifkan oleh Azure Arc, lihat Identitas terkelola untuk SQL Server yang diaktifkan oleh Azure Arc.
EXECUTE sp_configure 'allow server scoped db credentials', 1;
RECONFIGURE;
GO
CREATE DATABASE SCOPED CREDENTIAL [managed_id]
WITH IDENTITY = 'Managed Identity';
E. Membuat kredensial cakupan database menggunakan ID Microsoft Entra
Berlaku untuk: Azure SQL Database, database SQL di Microsoft Fabric
Di Azure SQL Database dan database SQL di Microsoft Fabric, Anda dapat menggunakan akun ID Microsoft Entra Anda sendiri untuk mengautentikasi sumber data eksternal.
Dalam database SQL di Microsoft Fabric, jika Anda tidak menentukan kredensial cakupan database, metode autentikasi default ke USER IDENTITY dan menggunakan akun pengguna ID Entra sebagai konteks.
CREATE DATABASE SCOPED CREDENTIAL MyCredential
WITH IDENTITY = 'User Identity';