Поделиться через


ALTER APPLICATION ROLE (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Изменяет имя, пароль или схему по умолчанию для роли приложения.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

application_role_name
Имя изменяемой роли приложения.

NAME =new_application_role_name
Указывает новое имя роли приложения. Это имя не должно быть уже занято для обращения к любому из участников базы данных.

PASSWORD ='password'
Указывает пароль для роли приложения. пароль должен соответствовать требованиям политики паролей Windows компьютера, на котором выполняется экземпляр SQL Server. Всегда используйте надежные пароли.

DEFAULT_SCHEMA =schema_name
Задает первую схему для поиска сервером, когда он разрешает имена объектов. Аргумент schema_name может быть схемой, которой нет в базе данных.

Замечания

Если новое имя роли приложения уже существует в базе данных, инструкция завершится неудачно. Если изменяется имя роли приложения, пароль или схема по умолчанию, то идентификатор, связанный с этой ролью, не изменяется.

Внимание

Политика истечения срока действия пароля не применяется к паролям роли приложения. По этой причине позаботьтесь о выборе сильных паролей. Приложения, которые используют роли приложения, должны хранить свои пароли.

Роли приложения можно просмотреть в представлении каталога sys.database_principals.

Внимание

В SQL Server 2005 (9.x) поведение схем отличается от поведения в более ранних версиях SQL Server. Код, предполагающий, что схемы эквивалентны пользователям базы данных, может возвращать неверные результаты. Старые представления каталогов, включая sysobjects, не должны использоваться в базах данных, где когда-либо выполнялась любая из следующих инструкций DDL: 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. В базе данных, в которой когда-либо выполнялась любая из этих инструкций, необходимо использовать новые представления каталога. В новых представлениях каталогов учитывается разделение участников и схем, добавленное в SQL Server 2005 (9.x). Дополнительные сведения о представлениях каталога см. в разделе "Представления каталога" (Transact-SQL).

Разрешения

Необходимо наличие разрешения ALTER ANY APPLICATION ROLE для этой базы данных. Чтобы изменить схему по умолчанию, пользователь должен иметь разрешение ALTER на роль приложения. Роль приложения может менять свою схему по умолчанию, но не имя или пароль.

Примеры

А. Изменение имени роли приложения

В следующем примере изменяется имя роли приложения weekly_receipts на 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. Изменение пароля роли приложения

В следующем примере изменяется пароль роли приложения receipts_ledger.

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

В. Изменение имени, пароля и схемы по умолчанию

В следующем примере одновременно изменяется имя, пароль и схема по умолчанию для роли приложения receipts_ledger.

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

См. также

Роли приложений
CREATE APPLICATION ROLE (Transact-SQL)
DROP APPLICATION ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)