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 NULL
o una stringa vuota (''
).
Dopo aver aggiunto un ruolo del database, usare sp_addrolemember (Transact-SQL) per aggiungere entità al ruolo. Quando GRANT
vengono usate istruzioni , DENY
o 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';