SQL Server 2008: bagaimana cara memberikan hak istimewa ke nama pengguna?


Jawaban:


139

Jika Anda ingin memberi pengguna Anda semua izin baca, Anda dapat menggunakan:

EXEC sp_addrolemember N'db_datareader', N'your-user-name'

Itu menambahkan db_datareaderperan default (izin baca di semua tabel) ke pengguna itu.

Ada juga db_datawriterperan - yang memberi pengguna Anda semua izin TULIS (INSERT, UPDATE, DELETE) di semua tabel:

EXEC sp_addrolemember N'db_datawriter', N'your-user-name'

Jika Anda perlu lebih terperinci, Anda dapat menggunakan GRANTperintah:

GRANT SELECT, INSERT, UPDATE ON dbo.YourTable TO YourUserName
GRANT SELECT, INSERT ON dbo.YourTable2 TO YourUserName
GRANT SELECT, DELETE ON dbo.YourTable3 TO YourUserName

dan seterusnya - Anda dapat memberikan izin SELECT, INSERT, UPDATE, DELETE secara terperinci pada tabel tertentu.

Ini semua didokumentasikan dengan sangat baik di MSDN Books Online for SQL Server .

Dan ya, Anda juga dapat melakukannya secara grafis - di SSMS, buka database Anda, lalu Security > Usersklik kanan pada pengguna yang ingin Anda beri izin, lalu Propertiesdi bagian bawah Anda akan melihat "Keanggotaan peran database" tempat Anda dapat menambahkan peran pengguna ke db.

teks alt


entah bagaimana saya tidak memiliki node Pengguna di pohon Keamanan di SSMS, hanya Login & Kredensial - selain itu, agar sp_addrolemember berfungsi, pengguna harus dipetakan ke database yang dimaksud, jika tidak, "pengguna ... tidak ada dalam database "kesalahan diberikan ( stackoverflow.com/questions/7232559/… - lihat komentar untuk jawaban yang diterima) - saya bisa untuk pemetaan user-db melalui Properti objek Login pengguna
hello_earth

@marc_s, Bagaimana cara memberikan izin terkait tabel tertentu menggunakan SSMS?
CAD

1
@ Chathuranga: baca dokumen yang sangat bagus dan tersedia secara gratis!
marc_s

61

Jika Anda benar-benar ingin mereka memiliki SEMUA hak:

use YourDatabase
go
exec sp_addrolemember 'db_owner', 'UserName'
go

18

Seperti berikut ini. Ini akan membuat pemilik database pengguna.

EXEC sp_addrolemember N'db_owner', N'USerNAme'
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.