Buat peran basis data untuk memungkinkan akses baca ke semua tabel; akses tulis ke beberapa


9

Kami memiliki database dengan lebih dari 1000 tabel. Saya perlu membuat peran yang memungkinkan hanya baca di semua tabel, serta akses tulis ke dua tabel tertentu.

Saya bermain-main dengan peran basis data, tetapi setiap kali saya menambahkan tabel, saya harus memilih semua 1000 ... apakah ada cara yang lebih baik untuk melakukan ini?


Itu sebenarnya mungkin cara paling sederhana ... Apakah ada cara untuk skrip itu? Saya perlu menyimpan satu set skrip untuk setiap kali kita me-refresh salah satu dari database ini, saya bisa mendapatkan semua pengaturan kembali secara instan.
Wes

Jawaban:


9

Pemberian izin pada skema (misalnya dbo) akan mengalir ke semua objek dalam skema itu. Untuk pengecualian individual, Anda dapat mencantumkannya secara eksplisit:

GRANT SELECT ON SCHEMA::dbo TO [role];
GO

GRANT INSERT, UPDATE --, DELETE
  ON dbo.table_they_can_write_to TO [role];

DENY SELECT ON dbo.table_they_cannot_read TO [role];

3
Cukup mudah. Senang kami memiliki komunitas seperti ini.
Wes

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.