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.
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 GRANT
pernyataan , , DENY
dan 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 Vidur
SQL 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 Arvind
SQL 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 Bjorn
pengguna , dan menambahkan pengguna Bjorn
database ke Production
peran database.
EXEC sp_adduser 'BjornR', 'Bjorn', 'Production';