CREATE ROLE (Transact-SQL)
Crea un nuovo ruolo di database nel database corrente.
Convenzioni della sintassi Transact-SQL
Sintassi
CREATE ROLE role_name [ AUTHORIZATION owner_name ]
Argomenti
- role_name
Nome del ruolo che si desidera creare.
- AUTHORIZATION owner_name
Utente o ruolo del database che sarà proprietario del nuovo ruolo. Se non viene specificato alcun utente, il ruolo sarà di proprietà dell'utente che esegue l'istruzione CREATE ROLE.
Osservazioni
I ruoli sono entità a protezione diretta a livello di database. Dopo aver creato un ruolo, configurare le autorizzazioni a livello di database per il ruolo tramite GRANT, DENY e REVOKE. Per aggiungere membri a un ruolo del database, utilizzare la stored procedure sp_addrolemember. Per ulteriori informazioni, vedere Ruoli a livello di database.
I ruoli del database sono visibili nelle viste del catalogo sys.database_role_members e sys.database_principals.
Attenzione: |
---|
Il funzionamento degli schemi in SQL Server 2005 è diverso rispetto alle versioni precedenti di SQL Server. È possibile che il codice in cui gli schemi sono equivalenti agli utenti del database non restituisca risultati corretti. Non utilizzare le viste del catalogo delle versioni precedenti, inclusa sysobjects, nei database in cui sia già stata utilizzata una delle istruzioni DLL seguenti: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. In questi database è necessario utilizzare le nuove viste del catalogo, in cui si tiene conto della separazione tra entità e schemi introdotta in SQL Server 2005. Per ulteriori informazioni sulle viste del catalogo, vedere Viste del catalogo (Transact-SQL). |
Autorizzazioni
È richiesta l'autorizzazione CREATE ROLE per il database. Se si utilizza l'opzione AUTHORIZATION, sono richieste anche le autorizzazioni seguenti:
- Per assegnare la proprietà di un ruolo a un altro utente, è richiesta l'autorizzazione IMPERSONATE per tale utente.
- Per assegnare la proprietà di un ruolo a un altro ruolo, è richiesta l'appartenenza al ruolo destinatario oppure l'autorizzazione ALTER per tale ruolo.
- Per assegnare la proprietà di un ruolo a un ruolo applicazione, è richiesta l'autorizzazione ALTER per il ruolo applicazione.
Esempi
A. Creazione di un ruolo del database di proprietà di un utente del database
Nell'esempio seguente viene creato il ruolo del database buyers
di proprietà dell'utente BenMiller
.
USE AdventureWorks;
CREATE ROLE buyers AUTHORIZATION BenMiller;
GO
B. Creazione di un ruolo del database denominato di proprietà di un ruolo predefinito del database
Nell'esempio seguente viene creato il ruolo del database auditors
di proprietà del ruolo predefinito del database db_securityadmin
.
USE AdventureWorks;
CREATE ROLE auditors AUTHORIZATION db_securityadmin;
GO
Vedere anche
Riferimento
ALTER ROLE (Transact-SQL)
DROP ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)