sp_adduser (T-SQL)

Berlaku untuk:SQL Server

Menambahkan pengguna baru 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 USER sebagai gantinya.

Konvensi sintaks transact-SQL

Sintaks

sp_adduser
    [ @loginame = ] N'loginame'
    [ , [ @name_in_db = ] N'name_in_db' ]
    [ , [ @grpname = ] N'grpname' ]
[ ; ]

Argumen

[ @loginame = ] N'loginame'

Nama login SQL Server atau akun Windows. @loginame adalah sysname, tanpa default. @loginame harus berupa login SQL Server atau akun Windows yang sudah ada.

[ @name_in_db = ] N'name_in_db'

Nama untuk pengguna database baru. @name_in_db adalah sysname, dengan default NULL. Jika @name_in_db tidak ditentukan, nama pengguna database baru default ke @loginame. Menentukan @name_in_db memberi pengguna baru nama dalam database yang berbeda dari nama masuk tingkat server.

[ @grpname = ] N'grpname'

Peran database tempat pengguna baru menjadi anggota. @grpname adalah sysname, dengan default NULL. @grpname harus menjadi peran database yang valid dalam database saat ini.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

sp_adduser juga membuat skema yang merupakan nama pengguna.

Setelah pengguna ditambahkan, gunakan GRANTpernyataan , , DENYdan REVOKE untuk menentukan izin yang mengontrol aktivitas yang dilakukan oleh pengguna.

Gunakan sys.server_principals untuk menampilkan daftar login yang valid.

Gunakan sp_helprole untuk menampilkan daftar nama peran yang valid. Saat Anda menentukan peran, pengguna secara otomatis mendapatkan izin yang ditentukan untuk peran tersebut. Jika peran tidak ditentukan, pengguna mendapatkan izin yang diberikan ke peran publik default. Untuk menambahkan pengguna ke peran, nilai untuk @name_in_db harus disediakan. (@name_in_db bisa sama dengan @loginame.)

Tamu pengguna sudah ada di setiap database. Menambahkan tamu pengguna memungkinkan pengguna ini, jika sebelumnya dinonaktifkan. Secara default, tamu pengguna dinonaktifkan dalam database baru.

sp_adduser tidak dapat dijalankan di dalam transaksi yang ditentukan pengguna.

Anda tidak dapat menambahkan pengguna tamu karena pengguna tamu sudah ada di dalam setiap database. Untuk mengaktifkan pengguna tamu, berikan izin CONNECT tamu seperti yang ditunjukkan:

GRANT CONNECT TO guest;
GO

Izin

Memerlukan kepemilikan database.

Contoh

J. Menambahkan pengguna database

Contoh berikut menambahkan pengguna Vidur database ke peran yang ada Recruiting dalam database saat ini, menggunakan login VidurSQL Server yang ada.

EXEC sp_adduser 'Vidur', 'Vidur', 'Recruiting';

B. Menambahkan pengguna database dengan ID masuk yang sama

Contoh berikut menambahkan pengguna Arvind ke database saat ini untuk login ArvindSQL Server . Pengguna ini termasuk dalam peran publik default.

EXEC sp_adduser 'Arvind';

C. Menambahkan pengguna database dengan nama yang berbeda dari login tingkat servernya

Contoh berikut menambahkan login BjornR SQL Server ke database saat ini yang merupakan nama Bjornpengguna , dan menambahkan pengguna Bjorn database ke Production peran database.

EXEC sp_adduser 'BjornR', 'Bjorn', 'Production';