sp_addalias (Transact-SQL)
Устанавливает соответствие имени входа и имени пользователя базы данных.
Важно! |
---|
Хранимая процедура sp_addalias обеспечивает совместимость с прежними версиями SQL Server. В следующей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется. В качестве альтернативы псевдонимам SQL Server 2005 Database Engine предоставляет роли и возможность выдавать разрешения ролям. Дополнительные сведения см. в разделах CREATE USER (Transact-SQL) и CREATE ROLE (Transact-SQL). |
Соглашения о синтаксисе в Transact-SQL
Синтаксис
sp_addalias [ @loginame = ] 'login' , [ @name_in_db = ] 'alias_user'
Аргументы
- [ @loginame = ] 'login'
Имя входа, которому будет присвоен псевдоним. Аргумент login имеет тип sysname и не имеет значения по умолчанию. Аргумент login должен быть допустимым именем входа SQL Server или именем пользователем Microsoft Windows с разрешением подключаться к экземпляру SQL Server. Аргумент login не может уже существовать или присваиваться в качестве псевдонима существующему пользователю базы данных.
- [ @name_in_db = ] 'alias_user'
Имя пользователя, для которого устанавливается сопоставление имени входа. Аргумент alias_user имеет тип sysname и не имеет значения по умолчанию. Аргумент alias_user должен быть пользователем базы данных, в которой присваивается псевдоним. Если устанавливается сопоставление с пользователем Windows, необходимо указать имя, под которым он известен базе данных.
Значения кодов возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Замечания
Имя входа может быть сопоставлено пользователям в любой базе данных. Хранимая процедура sp_addalias выполняется только в базе данных, в которой пользователь имеет псевдоним. Если пользователь подключается к экземпляру Database Engine, используя аргумент login , он может выполнять в базе данных действия с разрешениями, которые применяются к alias_user.
Примечание. |
---|
Нельзя создать псевдоним для имени входа sa. |
Имя входа может получать доступ к базе данных при следующих условиях.
- Имя входа имеет соответствующую пользовательскую учетную запись в базе данных.
- Имя входа имеет в базе данных пользовательский псевдоним, который владелец базы данных или член фиксированной серверной роли sysadmin добавил с помощью процедуры sp_addalias.
- В базе данных включена учетная запись guest.
Хранимую процедуру sp_addalias нельзя выполнять из пользовательской транзакции.
В следующей таблице представлены несколько системных хранимых процедур, которые можно использовать вместе с процедурой sp_addalias.
Хранимая процедура | Описание |
---|---|
sp_helplogins |
Возвращает список допустимых значений аргумента login. |
sp_helpuser |
Возвращает список допустимых значений аргумента alias_user в базе данных, в которой используется имя входа. |
sp_dropalias |
Удаляет сопоставление псевдонима. |
Разрешения
Требует членства во встроенной роли базы данных db_owner.
Примеры
В следующем примере показано, как установить сопоставление SQL Server имени входа Victoria
существующему пользователю (Albert
) в базе данных AdventureWorks
.
USE AdventureWorks;
EXEC sp_addalias 'Victoria', 'Albert' ;
См. также
Справочник
Хранимые процедуры безопасности (Transact-SQL)
CREATE USER (Transact-SQL)
CREATE ROLE (Transact-SQL)
sp_dropalias (Transact-SQL)
sp_helplogins (Transact-SQL)
sp_helpuser (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)
sp_grantdbaccess (Transact-SQL)