SETUSER (Transact-SQL)
Berlaku untuk: SQL Server Azure SQL Managed Instance
Memungkinkan anggota peran server tetap sysadmin atau pemilik database untuk meniru pengguna lain.
Penting
SETUSER hanya disertakan untuk kompatibilitas mundur. SETUSER mungkin tidak didukung dalam rilis SQL Server di masa mendatang. Kami menyarankan agar Anda menggunakan EXECUTE AS sebagai gantinya.
Sintaks
SETUSER [ 'username' [ WITH NORESET ] ]
Argumen
' nama pengguna '
Adalah nama pengguna SQL Server atau Windows dalam database saat ini yang ditiru. Ketika nama pengguna tidak ditentukan, identitas asli administrator sistem atau pemilik database yang meniru pengguna diatur ulang.
DENGAN NORESET
Menentukan bahwa pernyataan SETUSER berikutnya (tanpa nama pengguna yang ditentukan) tidak boleh mengatur ulang identitas pengguna ke administrator sistem atau pemilik database.
Keterangan
SETUSER dapat digunakan oleh anggota peran server tetap sysadmin atau pemilik database untuk mengadopsi identitas pengguna lain untuk menguji izin pengguna lain. Keanggotaan dalam peran database tetap db_owner tidak cukup.
Hanya gunakan SETUSER dengan pengguna SQL Server. SETUSER tidak didukung dengan pengguna Windows. Ketika SETUSER telah digunakan untuk mengasumsikan identitas pengguna lain, objek apa pun yang dibuat pengguna yang meniru dimiliki oleh pengguna yang ditiru. Misalnya, jika pemilik database mengasumsikan identitas pengguna Margaret dan membuat tabel yang disebut pesanan, tabel pesanan dimiliki oleh Margaret, bukan administrator sistem.
SETUSER tetap berlaku sampai pernyataan SETUSER lain dikeluarkan atau sampai database saat ini diubah dengan pernyataan USE.
Catatan
Jika SETUSER WITH NORESET digunakan, pemilik database atau administrator sistem harus keluar dan kemudian masuk lagi untuk membangun kembali haknya sendiri.
Izin
Memerlukan keanggotaan dalam peran server tetap sysadmin atau harus menjadi pemilik database. Keanggotaan dalam peran database tetap db_owner tidak cukup
Contoh
Contoh berikut menunjukkan bagaimana pemilik database dapat mengadopsi identitas pengguna lain. Pengguna mary
telah membuat tabel yang disebut computer_types
. Dengan menggunakan SETUSER, pemilik database meniru mary
untuk memberikan akses pengguna joe
ke computer_types
tabel, lalu mengatur ulang identitasnya sendiri.
SETUSER 'mary';
GO
GRANT SELECT ON computer_types TO joe;
GO
--To revert to the original user
SETUSER;
Lihat Juga
TOLAK (Transact-SQL)
GRANT (T-SQL)
MENCABUT (Transact-SQL)
USE (Transact-SQL)