sp_addapprole (T-SQL)
Berlaku untuk: SQL Server
Menambahkan peran aplikasi ke database saat ini.
Penting
Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Gunakan CREATE APPLICATION ROLE sebagai gantinya.
Sintaks
sp_addapprole
[ @rolename = ] N'rolename'
, [ @password = ] N'password'
[ ; ]
Argumen
[ @rolename = ] N'rolename'
Nama peran aplikasi baru. @rolename adalah sysname, tanpa default. @rolename harus berupa pengidentifikasi yang valid dan belum bisa ada di database saat ini.
Nama peran aplikasi dapat berisi dari 1 hingga 128 karakter, termasuk huruf, simbol, dan angka. Nama peran tidak boleh berisi garis miring terbalik (\
) atau NULL
atau string kosong ('').
[ @password = ] N'password'
Kata sandi yang diperlukan untuk mengaktifkan peran aplikasi. @password adalah sysname, tanpa default. @password tidak boleh NULL
.
Mengembalikan nilai kode
0
(berhasil) atau 1
(kegagalan).
Keterangan
Dalam versi SQL Server sebelumnya, pengguna (dan peran) tidak sepenuhnya berbeda dari skema. Dimulai dengan SQL Server 2005 (9.x), skema sepenuhnya berbeda dari peran. Arsitektur ini tercermin dalam perilaku CREATE APPLICATION ROLE
. Pernyataan ini menggantikan sp_addapprole
.
Untuk mempertahankan kompatibilitas mundur dengan versi SQL Server yang lebih lama, sp_addapprole
lakukan pemeriksaan berikut:
Jika skema dengan nama yang sama dengan peran aplikasi belum ada, skema dibuat. Skema baru dimiliki oleh peran aplikasi, dan ini adalah skema default peran aplikasi.
Jika skema dengan nama yang sama dengan peran aplikasi sudah ada, prosedur gagal.
sp_addapprole
tidak memeriksa kompleksitas kata sandi. Kompleksitas kata sandi diperiksa olehCREATE APPLICATION ROLE
.
Parameter @password disimpan sebagai hash satu arah.
Prosedur sp_addapprole
tersimpan tidak dapat dijalankan dari dalam transaksi yang ditentukan pengguna.
Penting
Opsi Microsoft ODBC encrypt
tidak didukung oleh SqlClient. Jika memungkinkan, minta pengguna untuk memasukkan kredensial peran aplikasi pada waktu proses. Hindari menyimpan kredensial dalam file. Jika Anda harus mempertahankan kredensial, enkripsi dengan menggunakan fungsi CryptoAPI.
Izin
Memerlukan izin UBAH PERAN APLIKASI APA PUN pada database. Jika skema dengan nama dan pemilik yang sama dengan peran baru belum ada, juga memerlukan izin CREATE SCHEMA pada database.
Contoh
Contoh berikut menambahkan peran SalesApp
aplikasi baru dengan kata sandi x97898jLJfcooFUYLKm387gf3
ke database saat ini.
EXEC sp_addapprole 'SalesApp', 'x97898jLJfcooFUYLKm387gf3';
GO