ALTER APPLICATION ROLE (Transact-SQL)

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure

Modifica il nome, la password o lo schema predefinito di un ruolo applicazione.

Convenzioni di sintassi Transact-SQL

Sintassi

  
ALTER APPLICATION ROLE application_role_name
    WITH <set_item> [ ,...n ]  
  
<set_item> ::=
    NAME = new_application_role_name
    | PASSWORD = 'password'  
    | DEFAULT_SCHEMA = schema_name  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Argomenti

application_role_name
Nome del ruolo applicazione da modificare.

NAME =new_application_role_name
Specifica il nuovo nome del ruolo applicazione. Il nome non deve già essere usato per fare riferimento a un'altra entità nel database.

PASSWORD ='password'
Viene specificata la password per il ruolo applicazione. password deve soddisfare i requisiti per i criteri password di Windows del computer che esegue l'istanza di SQL Server. È necessario usare sempre password complesse.

DEFAULT_SCHEMA =schema_name
Viene specificato il primo schema in cui tramite il server verrà eseguita la ricerca per la risoluzione dei nomi degli oggetti. schema_name può essere uno schema che non esiste nel database.

Osservazioni:

Se il nuovo nome del ruolo applicazione esiste già nel database, l'istruzione non potrà essere completata. Quando si modifica il nome, la password o lo schema predefinito di un ruolo applicazione, l'ID associato al ruolo non viene modificato.

Importante

I criteri di scadenza per le password non vengono applicati alle password del ruolo applicazione. Per questo motivo, si consiglia di prestare la massima attenzione nella scelta di password complesse. Le applicazioni che richiamano i ruoli applicazione devono archiviare le relative password.

I ruoli applicazione sono visibili nella vista del catalogo sys.database_principals.

Attenzione

In SQL Server 2005 (9.x) il comportamento degli schemi è 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 usare le nuove viste del catalogo, che tengono conto della separazione tra entità di sicurezza e schemi introdotta in SQL Server 2005 (9.x). Per altre informazioni sulle viste del catalogo, vedere Viste del catalogo (Transact-SQL).

Autorizzazioni

È richiesta l'autorizzazione ALTER ANY APPLICATION ROLE nel database. Per modificare lo schema predefinito, è inoltre richiesta l'autorizzazione ALTER per il ruolo applicazione. Un ruolo applicazione può modificare il proprio schema predefinito, ma non il nome o la password.

Esempi

R. Modifica del nome del ruolo applicazione

Nell'esempio seguente viene modificato il nome del ruolo applicazione weekly_receipts in receipts_ledger.

USE AdventureWorks2022;  
CREATE APPLICATION ROLE weekly_receipts   
    WITH PASSWORD = '987Gbv8$76sPYY5m23' ,   
    DEFAULT_SCHEMA = Sales;  
GO  
ALTER APPLICATION ROLE weekly_receipts   
    WITH NAME = receipts_ledger;  
GO  

B. Modifica della password del ruolo applicazione

Nell'esempio seguente viene modificata la password del ruolo applicazione receipts_ledger.

ALTER APPLICATION ROLE receipts_ledger   
    WITH PASSWORD = '897yUUbv867y$200nk2i';  
GO  

C. Modifica del nome, della password e dello schema predefinito

Nell'esempio seguente vengono modificati contemporaneamente il nome, la password e lo schema predefinito del ruolo applicazione receipts_ledger.

ALTER APPLICATION ROLE receipts_ledger   
    WITH NAME = weekly_ledger,   
    PASSWORD = '897yUUbv77bsrEE00nk2i',   
    DEFAULT_SCHEMA = Production;  
GO  

Vedi anche

Ruoli applicazione
CREATE APPLICATION ROLE (Transact-SQL)
DROP APPLICATION ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)