Aracılığıyla paylaş


sp_addrolemember (Transact-SQL)

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

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

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

Bağımsız değişkenler

  • [ @rolename= ] 'role'
    ' % S'rol veritabanı rolü geçerli veritabanında adıdır.roleolan bir sysname, ile hiçbir varsayılan.

  • [ @membername= ] 'security_account'
    Güvenlik hesabı rolüne eklenir.security_accountolan bir sysname, ile hiçbir varsayılan.security_accountbir veritabanı kullanıcısı, veritabanı rolü, Windows oturumu açma veya Windows grubu olabilir.

Dönüş Kodu Değerleri

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

Açıklamalar

Role kullanılarak eklenen üye sp_addrolemember izinlerini devralırrolü.Yeni üye bir Windowsdüzey karşılık gelen veritabanı kullanıcı asıl ise, bir veritabanı kullanıcısı oluşturulur ancak tam oturum açma eşlenemez.Her zaman oturumu varsa ve veritabanına erişimi olduğunu denetleyin.

Bir rolü kendisine üyeolarak içeremez.Bu tür "Döngüsel" Üyelik bir veya daha fazla ara üyelikleri yalnızca dolaylı olarak bile örtülü, tanımları, geçersizdir.

sp_addrolememberSabit veritabanı rolü, sabit sunucu rolü, ekleyemez veya dbo rolü.sp_addrolememberkullanıcı tanımlı bir işlem içinde yürütülemiyor.

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

İzinler

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

  • Üyelik db_owner veritabanı rolüsabit.

  • Üyelik db_securityadmin veritabanı rolüsabit.

  • Rol sahibi olan Rol üyeliği.

  • Rol izni alter.

Üyelik sabit veritabanı rolleri üye ekleme gerektirir db_owner veritabanı rolüsabit.

Örnekler

A.Windows oturumu açma ekleme

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

Not

Çünkü Contoso\Mary5 veritabanı kullanıcısı olarak bilinen Mary5 , AdventureWorks2008R2 veritabanı, kullanıcı adını Mary5 belirtilmelidir.Sürece deyim başarısız olur bir Contoso\Mary5 oturumu varsa.Oturum açma etki alanıalanınızdan kullanarak sınayın.

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

B.Bir veritabanı kullanıcısı ekleme

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

EXEC sp_addrolemember 'Production', 'Mary5'