Aracılığıyla paylaş


IS_MEMBER (Transact-SQL)

Geçerli kullanıcının belirtilen üye olup olmadığını gösterir Microsoft Windows grubu veya SQL Server veritabanı rolü.

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

Sözdizimi

IS_MEMBER ( { 'group' | 'role' } )

Bağımsız değişkenler

  • 'group'
    Yapılıyor Windows grup adıdır; biçiminde olmalıdır etki alanı\Grup.groupis sysname.

  • 'role'
    Adı SQL Server yapılıyor rolü. role olan sysname ve veritabanı rolleri veya kullanıcı tanımlı roller, ancak sabit içerebilirsunucu rollerini.

Dönüş Türleri

int

Açıklamalar

IS_MEMBER aşağıdaki değerleri döndürür.

Dönüş değeri

Açıklama

0

Geçerli kullanıcının üye değil group veya role.

1

Geçerli kullanıcının üye olduğu group veya role.

NULL

Ya da group veya role geçerli değil.Tarafından sorgulanan, bir SQL Server oturum açma veya oturum açma kullanarak bir uygulama rolü, bir Windows grubu. null döndürüyor

IS_MEMBER Windows tarafından oluşturulan bir erişim belirteci inceleyerek Windows Grup üyeliği belirler.Erişim belirteci, bir kullanıcı bir örnek bağlandıktan sonra yapılan değişiklikler Grup üyeliği yansıtmaz SQL Server. Windows Grup üyeliği edemiyor sorgulanan tarafından bir SQL Server oturum açma veya bir SQL Server uygulama rolü.

Rol üyeliği, temel izni olmayan bu işlev değerlendirir.Örneğin, db_owner veritabanı rolü sabit olan CONTROL DATABASE izni.Kullanıcının varsa CONTROL DATABASE izni ancak rolünün bir üye , bu işlev kullanıcı üye değil doğru rapor db_owner rolü, kullanıcı aynı izinlere sahip olsa.

Örnekler

Aşağıdaki örnek, geçerli kullanıcı veritabanı rolü veya bir Windows etki alanı grubunun bir üye olup olmadığını denetler.

-- Test membership in db_owner and print appropriate message.
IF IS_MEMBER ('db_owner') = 1
   PRINT 'Current user is a member of the db_owner role'
ELSE IF IS_MEMBER ('db_owner') = 0
   PRINT 'Current user is NOT a member of the db_owner role'
ELSE IF IS_MEMBER ('db_owner') IS NULL
   PRINT 'ERROR: Invalid group / role specified'
GO

-- Execute SELECT if user is a member of ADVWORKS\Shipping.
IF IS_MEMBER ('ADVWORKS\Shipping') = 1
   SELECT 'User ' + USER + ' is a member of ADVWORKS\Shipping.' 
GO