Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 relative alla 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
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 dei 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 ha esito negativo. Quando il nome, la password o lo schema predefinito di un ruolo applicazione viene modificato l'ID associato al ruolo non viene modificato.
Importante
I criteri di scadenza delle 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 sys.database_principals
catalogo.
Annotazioni
Gli schemi non sono equivalenti agli utenti del database. Usare le viste del catalogo di sistema per identificare eventuali differenze tra gli utenti del database e gli schemi.
A partire da SQL Server 2012 (11.x), SQL Server e database SQL di Azure usavano un hash SHA-512 combinato con un salt casuale e univoco a 32 bit. Questo metodo ha reso statisticamente infeasible per gli utenti malintenzionati di dedurre le password.
SQL Server 2025 (17.x) Preview introduce un algoritmo hash iterato, RFC2898, noto anche come funzione di derivazione della chiave basata su password (PBKDF). Questo algoritmo usa ancora SHA-512, ma esegue l'hashing della password più volte (100.000 iterazioni), rallentando significativamente gli attacchi di forza bruta. Questa modifica migliora la protezione delle password in risposta alle minacce alla sicurezza in continua evoluzione e aiuta i clienti a rispettare le linee guida NIST SP 800-63b.
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