Mamy bazę danych z ponad 1000 tabel. Muszę utworzyć rolę, która pozwala tylko na odczyt na wszystkich tabelach, a także dostęp do zapisu na dwóch określonych tabelach.
Bałam się rolami bazy danych, ale ilekroć szedłem, aby dodać tabele, musiałem ręcznie wybrać wszystkie 1000 ... czy jest na to lepszy sposób?
Odpowiedzi:
Przyznanie uprawnień do schematu (np.
dbo
) Będzie kaskadowe dla wszystkich obiektów w tym schemacie. W przypadku indywidualnych wyjątków możesz po prostu wymienić je wyraźnie:źródło
Spróbuj tego :
źródło
sp_MSForEachTable
Jest także nieudokumentowany, nieobsługiwany i prawdopodobnie ma takie same problemy z pomijaniem jaksp_MSForEachDB
.