IS_MEMBER (Transact-sql)
Geçerli kullanıcının belirtilen bir üyesi olup olmadığını gösteren MicrosoftWindows grubu veya SQL Serververitabanı rolü.
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)