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


sp_grantdbaccess (Transact-SQL)

Область применения: SQL Server

Добавляет нового пользователя в текущую базу данных.

Внимание

Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте CREATE USER .

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

Синтаксис

sp_grantdbaccess
    [ @loginame = ] N'loginame'
    [ , [ @name_in_db = ] N'name_in_db' OUTPUT ]
[ ; ]

Аргументы

[ @loginame = ] N'loginame'

Имя группы Windows, имени входа Windows или имени входа SQL Server для сопоставления с новым пользователем базы данных. @loginame — sysname без значения по умолчанию. Имена групп Windows и имен входа Windows должны быть квалифицированы с доменным именем Windows в форме <domain>\<login>, например LONDON\Joeb. Имя входа еще не может быть сопоставлено пользователю в базе данных.

[ @name_in_db = ] N'name_in_db' OUTPUT

Имя нового пользователя базы данных. @name_in_db — это параметр OUTPUT типа sysname. Если это не указано, используется @loginame . Если задана в качестве переменной OUTPUT со значением NULL, @name_in_db имеет значение @loginame. @name_in_db не должно существовать в текущей базе данных.

Значения кода возврата

0 (успешно) или 1 (сбой).

Замечания

sp_grantdbaccess вызовы CREATE USER, поддерживающие дополнительные параметры. Сведения о создании пользователей базы данных см. в разделе CREATE USER. Чтобы удалить пользователя базы данных из базы данных, используйте DROP USER.

sp_grantdbaccess невозможно выполнить в рамках определяемой пользователем транзакции.

Разрешения

Требуется членство в предопределенных ролевые роли базы данных db_owner или предопределенных ролей базы данных db_accessadmin .

Примеры

В следующем примере используется CREATE USER добавление пользователя базы данных для учетной записи Edmonds\LolanSo Windows в текущую базу данных, которая является предпочтительным методом для создания пользователя базы данных. Новому пользователю присваивается имя Lolan.

CREATE USER Lolan FOR LOGIN [Edmonds\LolanSo];
GO