sp_addrolemember (Transact-sql)

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

Önemli notÖnemli

Bu özellik Microsoft SQL Server'ın ilerideki bir sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın.Kullanım alter user onun yerine.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

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

Bağımsız değişkenler

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

  • [ @membername= ] 'security_account'
    Güvenlik hesabını rolüne eklenir. security_accountolan bir sysname, hiçbir varsayılan ile. security_accountVeritabanı kullanıcı, 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_addrolememberrolü izinleri devralır. Yeni üye olmadan karşılık gelen veritabanı kullanıcı Windows düzeyinde asıl adı ise, veritabanı kullanıcı oluşturulur ancak tam oturum açma eşlenen değil. Her zaman giriş var ve veritabanına erişimi olduğunu denetleyin.

Bir rolü kendisine üye içeremez. Böyle "döngüsel" hatta üyelik yalnızca dolaylı olarak bir veya daha fazla ara üyelikleri ile örtülü zaman tanımları geçerli değildir.

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

Sadece sp_addrolememberbir veritabanı rolü üye eklemek. 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_securityadminya db_ownerveritabanı rolü.

  • Rol sahibi olan rol üyeliği.

  • ALTER ANY ROLEizni ya da ALTERrol izni.

Sabit veritabanı rolleri üye ekleme, üyelik gerektiren db_ownerveritabanı rolü.

Örnekler

A.Windows oturumu açma ekleme

Aşağıdaki örnek, Windows oturumu açma ekler Contoso\Mary5için AdventureWorks2012veritabanı kullanıcı Mary5. Kullanıcı Mary5sonra eklenen Productionrolü.

[!NOT]

Çünkü Contoso\Mary5veritabanı kullanıcı olarak bilinen Mary5de AdventureWorks2012veritabanı, kullanıcı adı Mary5belirtilmesi gerekir. Sürece deyimi başarısız olur bir Contoso\Mary5oturumu varsa. Etki alanınızdaki bir giriş kullanarak sınayın.

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

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

B.Kullanıcı ekleme

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

EXEC sp_addrolemember 'Production', 'Mary5'

EXEC sp_addrolemember 'Production', 'Mary5'

Ayrıca bkz.

Başvuru

Güvenlik depolanan yordamlar (Transact-sql)

sp_addsrvrolemember (Transact-sql)

sp_droprolemember (Transact-sql)

sp_grantdbaccess (Transact-sql)

Sistem saklı yordamları (Transact-sql)

Veritabanı düzey roller