Aracılığıyla paylaş


Is_srvrolemember (Transact-SQL)

Gösterir olup olmadığını bir SQL Server oturum açma, belirtilen sabit sunucusu rolünün bir üye.

Topic link iconTransact-SQL sözdizimi kuralları

IS_SRVROLEMEMBER ( 'role' [ , 'login' ] )

Bağımsız değişkenler

  • 'role'
    Is the name of the server role that is being checked.role is sysname.

    Için geçerli değerler role aşağıdakileri içerir:

    sysadmin

    • dbcreator

    • bulkadmin

    • diskadmin

    • processadmin

    • serveradmin

    • setupadmin

    • securityadmin

  • 'login'
    Is the name of the SQL Server login to check.login is sysname, with a default of NULL.Değer belirtilmezse, geçerli yürütme içeriğine sonucu temel alınır.

Dönüş Türleri

int

Remarks

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

Dönüş değeri

Açıklama

0

login olmayan bir üye, role.

1

login bir üye role.

null

role veya login geçerli değil.

Geçerli kullanıcı sunucu rolünü ait izinleri gerektiren bir eylem gerçekleştirebilir olup olmadığını belirlemek için bu işlev kullanın.

Windows oturumu açma, Contoso\Mary5 gibi için belirtilen login, IS_SRVROLEMEMBER verir NULL, oturum açma izni veya doğrudan erişim engellendi. SQL Server.

Isteğe bağlı bir oturum açma parametresi olmayan sağlanır ve oturum açma etki alanı Windows oturumu açma, olabilir, bir üye, bir Windows grubundaki sevk üye aracılığıyla sabit sunucu rolü.Bu tür bir dolaylı üyeliklerini çözmek için IS_SRVROLEMEMBER Windows Grup üyeliği bilgilerini etki alanı denetleyicisinden ister. Etki alanı denetleyicisine erişilemiyor veya yanıt vermiyor, IS_SRVROLEMEMBER Kullanıcı ve kendi yerel gruplar yalnızca hesaba katarak, rol üyeliği bilgilerini döndürür. Belirtilen kullanıcının geçerli kullanıcının değilse, ıs_srvrolemember tarafından döndürülen değeri doğrulayıcı (örneğin, Active Directory) farklılık gösterebilir için en son verileri yenileyin. SQL Server.

Isteğe bağlı bir oturum açma parametre sağlanmazsa, sorgulanan Windows oturumu açma sys.server_principals bulunmalı veya ıs_srvrolemember NULL döndürecektir.Bu, oturum açma geçersiz olduğunu gösterir.

Oturum açma parametresi bir etki alanı oturum açma veya bir Windows grubuna bağlı ve etki alanı denetleyicisine erişilemiyor, ıs_srvrolemember çağrıları başarısız olur ve yanlış ya da tamamlanmamış veriler döndürebilir.

Etki alanı denetleyicisinin kullanılabilir durumda değilse, Windows ilkesini yerel olarak gibi yerel bir Windows hesabı kimlik doğrulaması yapılabilir, ıs_srvrolemember çağrısı doğru bilgileri döndürür veya bir SQL Server oturum açma.

Kullanıcı hesabı denetimi (UAC) bulundu Windows Vista ve Windows Server 2008 de farklı sonuçlar döndürebilir. Bu kullanıcı sunucuda bir Windows grubu olarak mı yoksa erişilen bağlıdır üye veya belirli bir SQL Server Kullanıcı. Kullanıcı hesabı denetimi hakkında daha fazla bilgi için bkz: Nasıl Yapılır: Windows Vista'daki SQL Server'a bağlanın.

Örnekler

Aşağıdaki örnek gösterir olup olmadığını SQL Server Geçerli kullanıcı için oturum açma üyesi olduğu sysadmin sabit sunucu rolü.

IF IS_SRVROLEMEMBER ('sysadmin') = 1
   print 'Current user''s login is a member of the sysadmin role'
ELSE IF IS_SRVROLEMEMBER ('sysadmin') = 0
   print 'Current user''s login is NOT a member of the sysadmin role'
ELSE IF IS_SRVROLEMEMBER ('sysadmin') IS NULL
   print 'ERROR: The server role specified is not valid.'