sp_unsetapprole (T-SQL)

Berlaku untuk:SQL Server

Menonaktifkan peran aplikasi dan kembali ke konteks keamanan sebelumnya.

Konvensi sintaks transact-SQL

Sintaks

sp_unsetapprole [ @cookie = ] cookie
[ ; ]

Argumen

Menentukan cookie yang dibuat ketika peran aplikasi diaktifkan. @cookie adalah varbinary(8000), tanpa default. Cookie dibuat oleh sp_setapprole (Transact-SQL).

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

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