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


ALTER APPLICATION ROLE (Transact-SQL)

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

Значок ссылки на разделСинтаксические обозначения в 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'
    Указывает пароль для роли приложения. password должен соответствовать требованиям политики паролей Windows применительно к компьютеру, на котором работает экземпляр SQL Server. Всегда используйте надежные пароли.

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

Замечания

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

Важное примечаниеВажно!

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

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

ПредупреждениеВнимание!

В SQL Server 2005 поведение схем отличается от более ранних версий 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. Дополнительные сведения о представлениях каталога см. в разделе Представления каталога (Transact-SQL).

Разрешения

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

Примеры

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

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

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

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

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