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. Kredensial digunakan oleh database untuk mengakses ke lokasi eksternal kapan saja database 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 ke 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 IDENTITY - Saat menggunakan Kerberos (Windows Active Directory atau MIT KDC) jangan gunakan nama domain dalam
IDENTITYargumen . Ini seharusnya hanya nama akun. - Dalam instans SQL Server, jika membuat kredensial cakupan database dengan Kunci Akses Penyimpanan yang digunakan sebagai
SECRET,IDENTITYdiabaikan. -
WITH IDENTITYtidak diperlukan jika kontainer di penyimpanan Azure Blob 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 CREATE EXTERNAL DATA SOURCE (Transact-SQL).
- 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, nilai apa pun yang valid dapat digunakan 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 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, nilai apa pun yang valid dapat digunakan 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 Microsoft Entra Connect: Autentikasi Pass-through |
| 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 |
* Dalam database SQL di Microsoft Fabric, jika tidak ada kredensial cakupan database yang ditentukan, metode autentikasi default ke 'USER IDENTITY' dan menggunakan login pengguna 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 kredensial lingkup database dapat dibuat. DMK harus dienkripsi dengan kata sandi yang kuat. Azure SQL Database akan membuat DMK dengan kata sandi yang kuat dan dipilih secara acak sebagai bagian dari pembuatan kredensial lingkup database, atau sebagai bagian dari membuat audit server. Pengguna tidak dapat membuat DMK pada database logis master . Kata sandi kunci master tidak diketahui oleh Microsoft dan tidak dapat ditemukan setelah pembuatan. Untuk alasan ini, disarankan untuk membuat DMK sebelum membuat kredensial cakupan database. Untuk informasi selengkapnya, lihat MEMBUAT KUNCI MASTER (Transact-SQL).
Ketika IDENTITY adalah pengguna Windows, rahasianya bisa menjadi kata sandi. Rahasia dienkripsi menggunakan kunci master layanan (SMK). Jika SMK diregenerasi, rahasia dienkripsi ulang menggunakan 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 tidak diberikan, Anda mungkin menerima kesalahan 16535 atau 16561 saat mencoba mengakses tabel eksternal.
Informasi tentang kredensial cakupan database terlihat dalam 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 mempelajari selengkapnya, lihat MEMBUAT SUMBER DATA EKSTERNAL (Transact-SQL).
Azure Synapse Analytics menggunakan kredensial cakupan database untuk mengakses Azure Blob Storage non-publik dengan PolyBase. Untuk mempelajari selengkapnya, lihat MEMBUAT SUMBER DATA EKSTERNAL (Transact-SQL). Untuk informasi selengkapnya tentang autentikasi penyimpanan Azure Synapse, lihat Menggunakan tabel eksternal dengan Synapse SQL.
SQL Database menggunakan kredensial lingkup database untuk fitur kueri elastisnya. Ini adalah kemampuan untuk mengkueri di beberapa pecahan 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 Menjinakkan pertumbuhan peledak dengan database elastis
BULK INSERT (Transact-SQL) dan OPENROWSET (Transact-SQL) menggunakan kredensial lingkup 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 (Transact-SQL) sebagai gantinya.
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.
-- Create a db master key if one does not already exist, using your own password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD='<EnterStrongPasswordHere>';
-- Create a database scoped credential.
CREATE DATABASE SCOPED CREDENTIAL AppCred WITH IDENTITY = 'Mary5',
SECRET = '<EnterStrongPasswordHere>';
B. Membuat kredensial lingkup database untuk tanda tangan akses bersama
Contoh berikut membuat kredensial cakupan database yang dapat digunakan untuk membuat sumber data eksternal, yang dapat melakukan operasi massal, seperti BULK INSERT (Transact-SQL) dan OPENROWSET (Transact-SQL).
-- Create a db master key if one does not already exist, using your own password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD='<EnterStrongPasswordHere>';
-- Create a database scoped credential.
CREATE DATABASE SCOPED CREDENTIAL MyCredentials
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'QLYMgmSXMklt%2FI1U6DcVrQixnlU5Sgbtk1qDRakUBGs%3D';
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.
-- Create a db master key if one does not already exist, using your own password.
CREATE MASTER KEY ENCRYPTION BY PASSWORD='<EnterStrongPasswordHere>';
-- Create a database scoped credential.
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)
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.
SP_CONFIGURE 'allow server scoped db credentials',1;
RECONFIGURE;
CREATE DATABASE SCOPED CREDENTIAL [managed_id]
WITH IDENTITY = 'Managed Identity';
#. 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, dimungkinkan untuk menggunakan login ID Entra Anda sendiri untuk mengautentikasi sumber data eksternal.
Dalam database SQL di Microsoft Fabric, jika tidak ada kredensial cakupan database yang ditentukan, metode autentikasi default ke USER IDENTITY dan menggunakan login pengguna ID Entra sebagai konteks.
CREATE DATABASE SCOPED CREDENTIAL MyCredential
WITH IDENTITY = 'User Identity';