IS_SRVROLEMEMBER (Transact-SQL)

Gibt an, ob eine SQL Server 2005-Anmeldung Mitglied der angegebenen festen Serverrolle ist.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • 'role'
    Der Name der zu überprüfenden Serverrolle. role ist ein Wert vom Datentyp sysname.

    Gültige Werte für role sind:

    sysadmin

    • dbcreator
    • bulkadmin
    • diskadmin
    • processadmin
    • serveradmin
    • setupadmin
    • securityadmin
  • 'login'
    Der Name der zu überprüfenden SQL Server 2005-Anmeldung. login ist ein Wert vom Datentyp sysname, der Standardwert ist NULL. Wird kein Wert angegeben, wird die SQL Server-Anmeldung des aktuellen Benutzers verwendet.

Rückgabetypen

int

Hinweise

IS_SRVROLEMEMBER gibt folgende Werte zurück.

Rückgabewert Beschreibung

0

login ist kein Mitglied von role.

1

login ist ein Mitglied von role.

NULL

role oder login ist nicht gültig.

Mit dieser Funktion legen Sie fest, ob der aktuelle Benutzer eine Aktion ausführen kann, für die die Berechtigungen der Serverrolle erforderlich sind.

Wenn eine Microsoft Windows-Anmeldung, wie z. B. London\JoeB, für login angegeben wird, gibt IS_SRVROLEMEMBER den Wert NULL zurück, falls der Anmeldung der direkte Zugriff auf SQL Server 2005 nicht erteilt oder verweigert wurde.

Wenn die Anmeldung eine Windows-Domänenanmeldung ist, kann sie aufgrund der Mitgliedschaft in einer Windows-Gruppe Mitglied einer festen Serverrolle sein. Um derartige indirekte Mitgliedschaften aufzulösen, fordert IS_SRVROLEMEMBER Informationen zu Windows-Gruppenmitgliedschaften vom Domänencontroller an. Wenn nicht auf den Domänencontroller zugegriffen werden kann, oder wenn der Domänencontroller nicht reagiert, berücksichtigt IS_SRVROLEMEMBER beim Zurückgeben der Informationen zur Rollenmitgliedschaft nur den Benutzer und die lokalen Gruppen.

Beispiele

Das folgende Beispiel gibt an, ob die SQL Server-Anmeldung für den aktuellen Benutzer Mitglied der festen Serverrolle sysadmin ist.

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

Siehe auch

Verweis

IS_MEMBER (Transact-SQL)
Sicherheitsfunktionen (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005