Udostępnij za pośrednictwem


ALTER APPLICATION ROLE (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Zmienia nazwę, hasło lub domyślny schemat roli aplikacji.

Transact-SQL konwencje składni

Składnia

ALTER APPLICATION ROLE application_role_name
    WITH <set_item> [ , ...n ]

<set_item> ::=
    NAME = new_application_role_name
    | PASSWORD = 'password'
    | DEFAULT_SCHEMA = schema_name

Argumenty (w programowaniu)

application_role_name

Nazwa roli aplikacji, która ma zostać zmodyfikowana.

NAME = new_application_role_name

Określa nową nazwę roli aplikacji. Ta nazwa nie może być jeszcze używana do odwoływania się do żadnego podmiotu zabezpieczeń w bazie danych.

PASSWORD = 'password'

Określa hasło roli aplikacji. password musi spełniać wymagania zasad haseł systemu Windows komputera z uruchomionym wystąpieniem programu SQL Server. Zawsze należy używać silnych haseł.

DEFAULT_SCHEMA = schema_name

Określa pierwszy schemat, który będzie przeszukiwany przez serwer podczas rozpoznawania nazw obiektów. schema_name może być schematem, który nie istnieje w bazie danych.

Uwagi

Jeśli nowa nazwa roli aplikacji już istnieje w bazie danych, instrukcja zakończy się niepowodzeniem. Gdy nazwa, hasło lub domyślny schemat roli aplikacji zostanie zmieniony, identyfikator skojarzony z rolą nie zostanie zmieniony.

Ważne

Zasady wygasania haseł nie są stosowane do haseł ról aplikacji. Z tego powodu należy zachować szczególną ostrożność podczas wybierania silnych haseł. Aplikacje, które wywołują role aplikacji, muszą przechowywać swoje hasła.

Role aplikacji są widoczne w sys.database_principals widoku wykazu.

Uwaga / Notatka

Schematy nie są równoważne użytkownikom bazy danych. Użyj widoków wykazu systemu , aby zidentyfikować wszelkie różnice między użytkownikami bazy danych i schematami.

Począwszy od programu SQL Server 2012 (11.x), program SQL Server i usługa Azure SQL DB używał skrótu SHA-512 w połączeniu z 32-bitową i unikatową solą. Ta metoda uczyniła ją statystycznie niewykonalną dla osób atakujących w celu wyłudzenia haseł.

Program SQL Server 2025 (17.x) w wersji zapoznawczej wprowadza algorytm iteracji skrótu, RFC2898, znany również jako funkcja wyprowadzania kluczy opartych na hasłach (PBKDF). Ten algorytm nadal używa algorytmu SHA-512, ale skróty hasła wielokrotnie (100 000 iteracji), znacznie spowalniając ataki siłowe. Ta zmiana zwiększa ochronę haseł w odpowiedzi na zmieniające się zagrożenia bezpieczeństwa i pomaga klientom przestrzegać wytycznych NIST SP 800-63b.

Uprawnienia

Wymaga uprawnienia ALTER ANY APPLICATION ROLE w bazie danych. Aby zmienić schemat domyślny, użytkownik musi również mieć uprawnienie ALTER w roli aplikacji. Rola aplikacji może zmienić własny schemat domyślny, ale nie jego nazwę lub hasło.

Przykłady

Odp. Zmienianie nazwy roli aplikacji

Poniższy przykład zmienia nazwę roli weekly_receipts aplikacji na 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. Zmienianie hasła roli aplikacji

Poniższy przykład zmienia hasło roli receipts_ledgeraplikacji .

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

C. Zmienianie nazwy, hasła i domyślnego schematu

Poniższy przykład zmienia jednocześnie nazwę, hasło i domyślny schemat roli receipts_ledger aplikacji.

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