sp_unsetapprole (T-SQL)
Berlaku untuk: SQL Server
Menonaktifkan peran aplikasi dan kembali ke konteks keamanan sebelumnya.
Sintaks
sp_unsetapprole [ @cookie = ] cookie
[ ; ]
Argumen
[ @cookie = ] cookie
Menentukan cookie yang dibuat ketika peran aplikasi diaktifkan. @cookie adalah varbinary(8000), tanpa default. Cookie dibuat oleh sp_setapprole.
Catatan
Parameter cookie OUTPUT
untuk sp_setapprole
saat ini didokumenkan sebagai varbinary(8000) yang merupakan panjang maksimum yang benar. Namun implementasi saat ini mengembalikan varbinary(50). Aplikasi harus terus memesan varbinary (8000) sehingga aplikasi terus beroperasi dengan benar jika ukuran pengembalian cookie meningkat dalam rilis mendatang.
Mengembalikan nilai kode
0 (berhasil) dan 1 (kegagalan)
Keterangan
Setelah peran aplikasi diaktifkan dengan menggunakan sp_setapprole
, peran tetap aktif sampai pengguna memutuskan sambungan dari server atau menjalankan sp_unsetapprole
.
Untuk gambaran umum peran aplikasi, lihat Peran Aplikasi.
Izin
Memerlukan keanggotaan di publik dan pengetahuan tentang cookie yang disimpan ketika peran aplikasi diaktifkan.
Contoh
Aktifkan peran aplikasi dengan cookie, lalu kembali ke konteks sebelumnya
Contoh berikut mengaktifkan Sales11
peran aplikasi dengan kata sandi fdsd896#gfdbfdkjgh700mM
, dan membuat cookie. Contoh mengembalikan nama pengguna saat ini, lalu kembali ke konteks asli dengan mengeksekusi sp_unsetapprole
.
DECLARE @cookie VARBINARY(8000);
EXEC sp_setapprole 'Sales11',
'fdsd896#gfdbfdkjgh700mM',
@fCreateCookie = true,
@cookie = @cookie OUTPUT;
-- The application role is now active.
SELECT USER_NAME();
-- Return the name of the application role, Sales11.
EXEC sp_unsetapprole @cookie;
-- The application role is no longer active.
-- The original context has now been restored.
GO
-- Return the name of the original user.
SELECT USER_NAME();
GO