Aracılığıyla paylaş


sp_addrolemember (Transact-SQL)

Bir veritabanı rolü geçerli veritabanında veritabanı kullanıcısı, veritabanı rolü, Windows oturumu açma veya Windows grubuna ekler.

Topic link iconTransact-SQL sözdizimi kuralları

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

Bağımsız değişkenler

  • [ @rolename = ] 'role'
    Is the name of the database role in the current database.role is a sysname, with no default.

  • [ @membername = ] 'security_account'
    Is the security account being added to the role.security_account is a sysname, with no default.security_account can be a database user, database role, Windows login, or Windows group.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Remarks

Bir role sp_addrolemember kullanılarak eklenen BIR üye rolünün izinleri devralır.Yeni üyeye karşılık gelen bir veritabanı kullanıcısı olmayan bir Windows düzeyinde sorumlusu, bir veritabanı kullanıcısı oluşturulur, ancak oturum açma için tam olarak eşleşir.Her zaman oturum varsa ve veritabanına erişimi olduğunu denetleyin.

Bir role kendini üye olarak içeremez.Üyelik bir veya daha fazla ara üyeliklerini dolaylı olarak yalnızca bile örtük, "Döngüsel" tür tanımlarının geçerli değil.

sp_addrolemember cannot add a fixed database role, fixed server role, or dbo to a role.sp_addrolemember cannot be executed within a user-defined transaction.

Yalnızca sp_addrolemember için bir veritabanı rolü bir üye eklemek için kullanın.Üye sunucu bir role eklemek için kullanın. sp_addsrvrolemember (Transact-SQL).

İzinler

Esnek veritabanı rollerine üye ekleme, aşağıdakilerden birini gerektirir:

  • Db_owner sabit veritabanı rolü üyeliği.

  • Db_securityadmin sabit veritabanı rolü üyeliği.

  • Rolün sahibi olan rol üyeliği.

  • Rol izni ALTER.

Üye, sabit veritabanı rollerine ekleme db_owner sabit veritabanı rolü üyeliği gerekir.

Örnekler

C.Windows oturumu açma ekleme

Aşağıdaki örnek, Windows oturumu açma ekler. Contoso\Mary5 için AdventureWorks kullanıcı veritabanı Mary5. Kullanıcı Mary5 daha sonra eklenen Production Rol.

Not

Çünkü Contoso\Mary5 veritabanı kullanıcısı da bilinir Mary5 içinde AdventureWorks veritabanını, kullanıcı adı Mary5 belirtilmeli. deyim sürece oynatılamaz bir Contoso\Mary5 oturum açma bulunmaktadır. Etki alanınızdaki bir oturum açma'yı kullanarak sınayın.

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

b.Bir veritabanı kullanıcı ekleme

Aşağıdaki örnek, veritabanı kullanıcı ekler. Mary5 için Production Geçerli veritabanında veritabanı rolü.

EXEC sp_addrolemember 'Production', 'Mary5'