Condividi tramite


sp_addrole (Transact-SQL)

Si applica a: SQL Server

Crea un nuovo ruolo di database nel database corrente.

Importante

sp_addrole è incluso per la compatibilità con le versioni precedenti di SQL Server e potrebbe non essere supportato in una versione futura. Usare invece CREATE ROLE .

Convenzioni relative alla sintassi Transact-SQL

Sintassi

sp_addrole
    [ @rolename = ] N'rolename'
    [ , [ @ownername = ] N'ownername' ]
[ ; ]

Argomenti

[ @rolename = ] N'rolename'

Nome del nuovo ruolo del database. @rolename è sysname, senza impostazione predefinita. @rolename deve essere un identificatore valido e non deve esistere già nel database corrente.

[ @ownername = ] N'ownername'

Proprietario del nuovo ruolo del database. @ownername è sysname, con un valore predefinito dell'utente in esecuzione corrente. @ownername deve essere un utente di database o un ruolo del database nel database corrente.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Osservazioni:

I nomi dei ruoli del database di SQL Server possono contenere da 1 a 128 caratteri, inclusi lettere, simboli e numeri. I nomi dei ruoli del database non possono contenere un carattere barra rovesciata (\), essere NULLo una stringa vuota ('').

Dopo aver aggiunto un ruolo del database, usare sp_addrolemember (Transact-SQL) per aggiungere entità al ruolo. Quando GRANTvengono usate istruzioni , DENYo REVOKE per applicare le autorizzazioni al ruolo del database, i membri del ruolo del database ereditano tali autorizzazioni come se le autorizzazioni fossero applicate direttamente ai propri account.

Nota

Non è possibile creare nuovi ruoli del server. I ruoli possono essere creati solo a livello di database.

sp_addrole non può essere usato all'interno di una transazione definita dall'utente.

Autorizzazioni

È richiesta l'autorizzazione CREATE ROLE per il database. Se si crea uno schema, è necessario CREATE SCHEMA nel database. Se @ownername viene specificato come utente o gruppo, è necessario IMPERSONATE per tale utente o gruppo. Se @ownername viene specificato come ruolo, è necessaria ALTER l'autorizzazione per tale ruolo o per un membro di tale ruolo. Se il proprietario viene specificato come ruolo applicazione, è necessaria ALTER l'autorizzazione per tale ruolo applicazione.

Esempi

Nell'esempio seguente viene aggiunto un nuovo ruolo Managers al database corrente.

EXEC sp_addrole 'Managers';