sp_grantdbaccess (T-SQL)
Berlaku untuk: SQL Server
Menambahkan pengguna database 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_grantdbaccess
[ @loginame = ] N'loginame'
[ , [ @name_in_db = ] N'name_in_db' OUTPUT ]
[ ; ]
Argumen
[ @loginame = ] N'loginame'
Nama grup Windows, login Windows, atau login SQL Server, untuk dipetakan ke pengguna database baru. @loginame adalah sysname, tanpa default. Nama grup Windows dan login Windows harus memenuhi syarat dengan nama domain Windows dalam formulir <domain>\<login>
; misalnya, LONDON\Joeb
. Login belum dapat dipetakan ke pengguna dalam database.
[ @name_in_db = ] OUTPUT N'name_in_db'
Nama untuk pengguna database baru. @name_in_db adalah parameter OUTPUT dari jenis sysname. Jika tidak ditentukan, @loginame digunakan. Jika ditentukan sebagai variabel OUTPUT dengan nilai NULL
, @name_in_db diatur ke @loginame. @name_in_db belum ada di database saat ini.
Mengembalikan nilai kode
0
(berhasil) atau 1
(kegagalan).
Keterangan
sp_grantdbaccess
CREATE USER
panggilan , yang mendukung opsi tambahan. Untuk informasi tentang membuat pengguna database, lihat MEMBUAT PENGGUNA. Untuk menghapus pengguna database dari database, gunakan DROP USER.
sp_grantdbaccess
tidak dapat dijalankan dalam transaksi yang ditentukan pengguna.
Izin
Memerlukan keanggotaan dalam peran database tetap db_owner atau peran database tetap db_accessadmin .
Contoh
Contoh berikut menggunakan CREATE USER
untuk menambahkan pengguna database untuk akun Edmonds\LolanSo
Windows ke database saat ini, yang merupakan metode pilihan untuk membuat pengguna database. Pengguna baru bernama Lolan
.
CREATE USER Lolan FOR LOGIN [Edmonds\LolanSo];
GO