sp_dropuser (T-SQL)

Berlaku untuk:SQL Server

Menghapus pengguna database dari database saat ini. sp_dropuser menyediakan kompatibilitas dengan versi SQL Server yang lebih lama.

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 DROP USER sebagai gantinya.

Konvensi sintaks transact-SQL

Sintaks

sp_dropuser [ @name_in_db = ] N'name_in_db'
[ ; ]

Argumen

[ @name_in_db = ] N'name_in_db'

Nama pengguna yang akan dihapus. @name_in_db adalah sysname, tanpa default. @name_in_db harus ada di database saat ini. Saat menentukan akun Windows, gunakan nama tempat database mengetahui akun tersebut.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

sp_dropusersp_revokedbaccess menjalankan untuk menghapus pengguna dari database saat ini.

Gunakan sp_helpuser untuk menampilkan daftar nama pengguna yang dapat dihapus dari database saat ini.

Saat pengguna database dihapus, alias apa pun untuk pengguna tersebut juga dihapus. Jika pengguna memiliki skema kosong dengan nama yang sama dengan pengguna, skema akan dihilangkan. Jika pengguna memiliki jaminan lain dalam database, pengguna tidak akan dihilangkan. Kepemilikan objek harus terlebih dahulu ditransfer ke prinsipal lain. Untuk informasi selengkapnya, lihat MENGUBAH OTORISASI (Transact-SQL). Menghapus pengguna database secara otomatis menghapus izin yang terkait dengan pengguna tersebut dan menghapus pengguna dari peran database apa pun yang merupakan anggotanya.

sp_dropuser tidak dapat digunakan untuk menghapus pengguna pemilik database (dbo), INFORMATION_SCHEMA atau pengguna tamu dari master database atau tempdb . Dalam database nonsystem, EXEC sp_dropuser 'guest' mencabut CONNECT izin dari tamu pengguna, tetapi pengguna itu sendiri tidak dihilangkan.

sp_dropuser tidak dapat dijalankan dalam transaksi yang ditentukan pengguna.

Izin

ALTER ANY USER Memerlukan izin pada database.

Contoh

Contoh berikut menghapus pengguna Albert dari database saat ini.

EXEC sp_dropuser 'Albert';
GO