Share via


IS_MEMBER (Transact-sql)

Geçerli kullanıcının belirtilen bir üyesi olup olmadığını gösteren MicrosoftWindows grubu veya SQL Serververitabanı rolü.

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

Sözdizimi

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

Bağımsız değişkenler

  • 'group'
    Teslim Windows Grup adıdır; biçiminde olmalıdır Domain\Group. groupis sysname.

  • 'role'
    Adı SQL Serverolup olmadığı denetleniyor rolü. role's sysnameve rol veya rolleri kullanıcı tanımlı, ancak değil sunucu rolleri sabit veritabanı içerebilir.

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 üyesi değil groupya role.

1

Geçerli kullanıcının üyesi olduğu groupya role.

NULL

Ya groupya rolegeçerli değil. Tarafından sorgulandığında bir SQL Servergiriş veya uygulama rolü, kullanarak oturum açma için bir Windows grubu, null döndürüyor.

IS_MEMBER Windows Grup üyeliği bir erişim belirteci Windows tarafından oluşturulan inceleyerek belirler. Erişim belirtecinin örneğine bağlanan bir kullanıcının sonra yapılan grup üyeliği değişiklikleri yansıtmaz SQL Server. Windows Grup üyeliği can't sorgulanan tarafından bir SQL Servergiriş ya da bir SQL Serveruygulama rolü.

Eklemek ve üye veritabanı rolden kaldırmak için kullanın alter ROLE (Transact-sql). Ekleme ve üye bir sunucu rolü kaldırmak için kullanın alter sunucu rolü (Transact-sql).

Rol üyeliği, temel izni olmayan bu işlevi değerlendirir. Örneğin, db_ownersabit veritabanı rolü CONTROL DATABASEizni. Kullanıcı CONTROL DATABASEizin ama rolünün bir üyesi, bu işlev doğru kullanıcı bir üyesi olmadığını bildirir db_owner rolü, kullanıcı izinleri olsa bile.

İlişkili İşlevler

Yoksa başka belirlemek için SQL Serveroturum bir veritabanı rolünün bir üyesi, kullanın IS_ROLEMEMBER (Transact-sql). Belirlemek için olup bir SQL Serveroturum açma sunucu rolü bir üyesidir, kullanma IS_SRVROLEMEMBER (Transact-sql).

Örnekler

Aşağıdaki örnek, geçerli kullanıcı veritabanı rolü veya bir Windows etki alanı grubunun bir üyesi 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

-- 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

Ayrıca bkz.

Başvuru

IS_SRVROLEMEMBER (Transact-sql)

Güvenlik Kataloğu görünümleri (Transact-sql)

Güvenlik işlevler (Transact-sql)

Kavramlar

Sorumluları (veritabanı altyapısı)