sp_addrolemember (języka Transact-SQL)

Dodaje użytkownika bazy danych, rola bazy danych, logowania systemu Windows lub grupy systemu Windows do rola bazy danych w bieżącej bazie danych.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sp_addrolemember [ @rolename = ] 'role',
    [ @membername = ] 'security_account'

Argumenty

  • [ @rolename= ] 'role'
    Jest to nazwa rola bazy danych w bieżącej bazie danych.rolejest sysname, z braku domyślne.

  • [ @membername= ] 'security_account'
    Jest dodawany do roli konto zabezpieczeń.security_accountjest sysname, z braku domyślne.security_accountmoże być użytkownik bazy danych, rola bazy danych, logowania systemu Windows lub grupy systemu Windows.

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Uwagi

element członkowski dodana do roli za pomocą sp_addrolemember dziedziczy uprawnienia roli.Nowy element członkowski jest Windowspoziom główny bez odpowiedniego użytkownika bazy danych, użytkownik bazy danych zostanie utworzony, ale może nie być całkowicie mapowane do logowania.Zawsze sprawdzaj, czy identyfikator logowania istnieje i ma dostęp do bazy danych.

Roli nie może zawierać siebie jako element członkowski.Takie "Cykliczne" definicje są nieprawidłowe, nawet wtedy, gdy członkostwo tylko pośrednio jest determinowana przez jednego lub kilku pośrednich członkostwa.

sp_addrolemembernie można dodać stałą rola bazy danych, stała rola serweralub dbo do roli.sp_addrolemembernie można wykonać w ramach transakcji zdefiniowanej przez użytkownika.

Używaj tylko sp_addrolemember Aby dodać element członkowski do rola bazy danych.Aby dodać element członkowski do roli serwera, należy użyć sp_addsrvrolemember (języka Transact-SQL).

Uprawnienia

Dodawanie członków do ról elastycznych bazy danych wymaga jednego z następujących czynności:

  • Członkostwo w db_owner rola bazy danychstałej.

  • Członkostwo w db_securityadmin rola bazy danychstałej.

  • Członkostwo w roli, która jest właścicielem roli.

  • ZMIEŃ uprawnienia roli.

Dodawanie członków do ról stałej bazy danych wymaga członkostwa w db_owner rola bazy danychstałej.

Przykłady

A.Dodawanie identyfikatora logowania systemu Windows

W następującym przykładzie dodano identyfikatora logowania systemu Windows Contoso\Mary5 do AdventureWorks2008R2 bazy danych jako użytkownik Mary5.Użytkownik Mary5 zostaje następnie dodana do Production rolę.

Ostrzeżenie

Ponieważ Contoso\Mary5 znany jako użytkownik bazy danych Mary5 w AdventureWorks2008R2 bazy danych, nazwę użytkownika Mary5 musi być określony.instrukcja zakończy się niepowodzeniem, chyba że Contoso\Mary5 istnieje login.Testowanie przy użyciu identyfikatora logowania z domena.

USE AdventureWorks2008R2;
GO
CREATE USER Mary5 FOR LOGIN [Contoso\Mary5] ;
GO
EXEC sp_addrolemember 'Production', 'Mary5'

B.Dodawanie użytkownika bazy danych

W następującym przykładzie dodano użytkownika bazy danych Mary5 do Production rola bazy danych w bieżącej bazie danych.

EXEC sp_addrolemember 'Production', 'Mary5'