Partager via


Revoke Method (StoredProcedure)

Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

The Revoke method undoes a grant or deny of a stored procedure permission for one or more Microsoft SQL Server users or roles.

Syntaxe

object
.Revoke(
Privilege
,
GranteeNames
, [ GrantGrant ] ,
[ RevokeGrantOption ] , [ AsRole ] )

Parts

  • object
    Expression that evaluates to an object in the Applies To list.

  • Privilege
    Long integer that specifies one or more stored procedure permissions as described in Settings.

  • GranteeNames
    SQL Distributed Management Objects (SQL-DMO) multistring that lists users or roles.

  • GrantGrant
    When TRUE, the grantee(s) specified are granted the ability to execute the REVOKE statement referencing the stored procedure. When FALSE (default), the ability to limit permission is not granted.

  • RevokeGrantOption
    When TRUE, the ability to extend permission is revoked. When FALSE (default), no change is made to the ability to extend permission.

  • AsRole
    String that identifies a role to which the connected user belongs as described in Remarks.

Prototype (C/C++)

HRESULT Revoke(
SQLDMO_PRIVILEGE_TYPE iPrivileges,
SQLDMO_LPCSTR GranteeNames,
BOOL GrantGrant = FALSE,
BOOL RevokeGrantOption = FALSE,
SQLDMO_LPCSTR AsRole = NULL);

Settings

Set Privilege by using these SQLDMO_PRIVILEGE_TYPE values. To specify more than a single permission, combine values by using an OR logical operator.

Constant

Value

Description

SQLDMOPriv_AllObjectPrivs

63

Revoke all granted or denied permissions on the referenced stored procedure.

SQLDMOPriv_Execute

16

Revoke granted or denied execute permission on the referenced stored procedure.

Notes

When a user is a member of more than a single role, the user can have permission to grant access to a stored procedure under one role and not under another. In this case, SQL Server security mechanisms prevent execution of the Revoke method on the StoredProcedure object referencing that stored procedure. Use the AsRole argument to specify the role under which permission to execute the grant exists.

Granting permissions to database users and roles by using the Revoke method of the StoredProcedure object requires appropriate permission. The SQL Server login used for SQLServer object connection must be granted the ability to execute GRANT referencing the stored procedure, the owner of the stored procedure, or a member of a role with greater privilege.

For more information about setting multistring parameters, see Using SQL-DMO Multistrings.