it-swarm.it

SQL Server 2008: come concedo i privilegi a un nome utente?

Devo essere in grado di stabilire una connessione ODBC tramite l'autenticazione di SQL Server.

In SSMS come concedo l'autorizzazione affinché un utente possa avere TUTTI I DIRITTI su un database specifico?

c'è un modo per farlo graficamente con SSMS?

Se vuoi dare al tuo utente tutte le autorizzazioni di lettura, puoi usare:

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

Ciò aggiunge il ruolo predefinito db_datareader (autorizzazione di lettura su tutte le tabelle) a quell'utente.

C'è anche un ruolo db_datawriter - che fornisce al tuo utente tutte le autorizzazioni WRITE (INSERT, UPDATE, DELETE) su tutte le tabelle:

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

Se devi essere più granulare, puoi usare il comando GRANT:

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

e così via - è possibile concedere granularmente l'autorizzazione SELECT, INSERT, UPDATE, DELETE su tabelle specifiche.

Tutto ciò è ben documentato nel MSDN Books Online per SQL Server .

E sì, puoi anche farlo graficamente: in SSMS, vai al tuo database, quindi Security > Users, fai clic con il pulsante destro del mouse sull'utente a cui vuoi concedere le autorizzazioni, quindi Properties e nella parte inferiore vedi "Appartenenze al ruolo del database" dove puoi aggiungere l'utente ai ruoli db.

alt text

132
marc_s

Se vuoi davvero che abbiano TUTTI i diritti:

use YourDatabase
go
exec sp_addrolemember 'db_owner', 'UserName'
go
57
Joe Stefanelli

Come il seguente. Renderà il proprietario del database utente.

EXEC sp_addrolemember N'db_owner', N'USerNAme'
18
SQLMenace