Bagikan melalui


MEMBUAT PERAN APLIKASI (Transact-SQL)

Berlaku untuk: SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Menambahkan peran aplikasi ke database saat ini.

Konvensi sintaks transact-SQL

Sintaks

CREATE APPLICATION ROLE application_role_name
    WITH PASSWORD = 'password' [ , DEFAULT_SCHEMA = schema_name ]

Argumen

application_role_name

Menentukan nama peran aplikasi. Nama ini belum boleh digunakan untuk merujuk ke prinsipal apa pun dalam database.

PASSWORD = 'kata sandi'

Menentukan kata sandi yang akan digunakan pengguna database untuk mengaktifkan peran aplikasi. Anda harus selalu menggunakan kata sandi yang kuat. password harus memenuhi persyaratan kebijakan kata sandi Windows komputer yang menjalankan instans SQL Server.

DEFAULT_SCHEMA = schema_name

Menentukan skema pertama yang akan dicari oleh server ketika menyelesaikan nama objek untuk peran ini. Jika DEFAULT_SCHEMA dibiarkan tidak ditentukan, peran aplikasi akan digunakan dbo sebagai skema defaultnya. schema_name bisa menjadi skema yang tidak ada dalam database.

Keterangan

Penting

Kompleksitas kata sandi diperiksa ketika kata sandi peran aplikasi diatur. Aplikasi yang memanggil peran aplikasi harus menyimpan kata sandinya. Kata sandi peran aplikasi harus selalu disimpan dienkripsi.

Peran aplikasi terlihat dalam tampilan katalog sys.database_principals .

Untuk informasi tentang cara menggunakan peran aplikasi, lihat Peran Aplikasi.

Nota

Skema tidak setara dengan pengguna database. Gunakan tampilan Katalog sistem untuk mengidentifikasi perbedaan antara pengguna database dan skema.

Dimulai dengan SQL Server 2012 (11.x), SQL Server dan Azure SQL DB menggunakan hash SHA-512 yang dikombinasikan dengan garam acak dan unik 32-bit. Metode ini membuatnya tidak layak secara statistik bagi penyerang untuk menyimpulkan kata sandi.

SQL Server 2025 (17.x) memperkenalkan algoritma hash iterasi, RFC2898, juga dikenal sebagai fungsi derivasi kunci berbasis kata sandi (PBKDF). Algoritma ini masih menggunakan SHA-512 tetapi hash kata sandi beberapa kali (100.000 iterasi), secara signifikan memperlambat serangan brute-force. Perubahan ini meningkatkan perlindungan kata sandi sebagai respons terhadap ancaman keamanan yang berkembang dan membantu pelanggan mematuhi pedoman NIST SP 800-63b. Peningkatan keamanan ini menggunakan algoritma hashing yang lebih kuat, yang dapat sedikit meningkatkan waktu masuk untuk login Autentikasi SQL. Dampaknya umumnya lebih rendah di lingkungan dengan pengumpulan koneksi, tetapi mungkin lebih terlihat dalam skenario tanpa pengumpulan atau di mana latensi masuk dipantau dengan cermat.

Izin

Memerlukan izin UBAH PERAN APLIKASI APA PUN pada database.

Contoh

Contoh berikut membuat peran aplikasi yang disebut weekly_receipts yang memiliki kata sandi 987Gbv876sPYY5m23 dan Sales sebagai skema defaultnya.

CREATE APPLICATION ROLE weekly_receipts
    WITH PASSWORD = '987G^bv876sPY)Y5m23'
    , DEFAULT_SCHEMA = Sales;
GO