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.

Konvensi sintaks transact-SQL

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 oleh CREATE 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