sp_grantdbaccess (Transact-SQL)

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

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

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

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Значок ссылки на раздел Cинтаксические обозначения в Transact-SQL

Синтаксис

sp_grantdbaccess [ @loginame = ] 'login'
    [ , [ @name_in_db = ] 'name_in_db' [ OUTPUT ] ]

Аргументы

  • [ @loginame = ] **'**login '
    Имя группы Windows, имени входа Windows или SQL Server, которое будет сопоставлено с новым пользователем базы данных. Имена групп Windows и имена входа Windows должны быть дополнены именем домена Windows в виде Domain\login, например LONDON\Joeb. Указанное имя входа не может быть уже сопоставлено с пользователем в базе данных. Аргумент login имеет тип sysname и не имеет значения по умолчанию.

  • [ @name_in_db=] 'name_in_db' [ OUTPUT]
    Имя нового пользователя базы данных. Аргумент name_in_db является переменной OUTPUT, имеет тип sysname и значение по умолчанию NULL. Если оно не указано, то используется аргумент login. Если оно указано как переменная OUTPUT со значением NULL, аргументу @name_in_db присваивается значение аргумента login. Аргумент name_in_db уже не должен существовать в текущей базе данных.

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

0 (успешное завершение) или 1 (неуспешное завершение).

Замечания

Хранимая процедура sp_grantdbaccess вызывает инструкцию CREATE USER, которая поддерживает дополнительные параметры. Дополнительные сведения о создании пользователей баз данных см. в разделе CREATE USER (Transact-SQL). Чтобы удалить пользователя из базы данных, используется инструкция DROP USER.

Хранимую процедуру sp_grantdbaccess нельзя выполнять в пользовательской транзакции.

Разрешения

Необходимо быть членом предопределенной роли базы данных db_owner или db_owner.

Примеры

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

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

См. также

Справочник

Хранимые процедуры безопасности (Transact-SQL)

CREATE USER (Transact-SQL)

DROP USER (Transact-SQL)

Системные хранимые процедуры (Transact-SQL)