Bagikan melalui


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.

Konvensi sintaks transact-SQL

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_grantdbaccessCREATE USERpanggilan , 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