sp_addapprole (Transact-SQL)
Добавляет роль приложения к текущей базе данных.
Важно! |
---|
В будущей версии Microsoft SQL Server этот компонент будет удален. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте CREATE APPLICATION ROLE. |
Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии). |
Cинтаксические обозначения в Transact-SQL
Синтаксис
sp_addapprole [ @rolename = ] 'role' , [ @password = ] 'password'
Аргументы
[ @rolename = ] 'role'
Указывает имя новой роли приложения. Аргумент role имеет тип sysname и не имеет значения по умолчанию. Значение role должно быть уникальным идентификатором и не может уже существовать в текущей базе данных.Имена ролей приложения могут содержать от 1 до 128 символов, включая любые буквы, специальные символы и цифры. Имя роли не может содержать символ обратной косой черты (\), не может иметь значение NULL или быть пустой строкой ('').
[ @password = ] 'password'
Пароль, который требуется для активации роли приложения. Аргумент password имеет тип sysname и не имеет значения по умолчанию. Аргумент password не может иметь значение NULL.
Значения кода возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Замечания
В ранних версиях SQL Server пользователи (и роли) не полностью отличались от схем. Начиная с SQL Server 2005, схемы полностью отличаются от ролей. Эта новая архитектура отражена в поведении CREATE APPLICATION ROLE. Эта инструкция заменяет sp_addapprole.
Для достижения обратной совместимости с ранними версиями SQL Server sp_addapprole сделает следующее:
если схема с таким же именем, как и имя роли приложения, еще не существует, то такая схема будет создана. Владельцем новой схемы будет роль приложения, и она же будет схемой по умолчанию в роли приложения;
если схема с таким же именем, как и имя роли приложения, уже существует, то процедура завершится неудачно;
сложность пароля не будет проверена sp_addapprole. Но сложность пароля проверяется с помощью CREATE APPLICATION ROLE.
Аргумент password хранится в виде одностороннего хэша.
Хранимая процедура sp_addapprole не может быть выполнена внутри транзакции, определенной пользователем.
Примечание по безопасности |
---|
Параметр шифрования Microsoft ODBC encrypt не поддерживается службой SqlClient.По возможности всегда запрашивайте пользователя ввести учетные данные роли приложения во время исполнения.Избегайте хранения учетных данных в файле.Если необходимо сохранить учетные данные, то зашифруйте их с использованием функций CryptoAPI. |
Разрешения
Требует разрешения ALTER ANY APPLICATION ROLE для этой базы данных. Если схема с таким же самым именем и владельцем, как и имя и владелец новой роли, еще не существует, то также требуется разрешение CREATE SCHEMA на базу данных.
Примеры
Следующие примеры добавляют новую роль приложения SalesApp с паролем x97898jLJfcooFUYLKm387gf3 к текущей базе данных.
EXEC sp_addapprole 'SalesApp', 'x97898jLJfcooFUYLKm387gf3' ;
GO