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


sp_grantdbaccess (Transact-SQL)

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

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

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

Синтаксис

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

Аргументы

  • [ @loginame = ] **'**login '
    Имя группы Windows, имени входа Windows или SQL Server, которое будет сопоставлено с новым пользователем базы данных. Имена групп Windows и имен входа Windows должны быть дополнены именем домена Windows в виде Домен\имя_входа, например 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)

Справка и поддержка

Получение помощи по SQL Server 2005