Grant Method (StoredProcedure) (SQL-DMO)

The Grant method assigns a stored procedure permission or a list of permissions to one or more Microsoft® SQL Server™ users or roles.

Applies To

StoredProcedure Object

Syntax

object.Grant( Privilege , GranteeNames , [ GrantGrant ] , [ AsRole ] )

Part Description
object Expression that evaluates to an object in the Applies To list.
Privilege Long integer specifying one or more stored procedure permissions as described in Settings.
GranteeNames SQL-DMO multistring listing users or roles.
GrantGrant When True, the grantee(s) specified are granted the ability to execute the GRANT statement referencing the stored procedure. When False (default), the ability to extend permission is not granted.
AsRole String identifying a role to which the connected user belongs as described in Remarks.

Settings
Constant Value Description
SQLDMOPriv_AllObjectPrivs 63 Grant all applicable object privilege
SQLDMOPriv_Execute 16 Grant execute permission on the referenced stored procedure

Remarks

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


Note Granting permissions to database users and roles by using the Grant method of the StoredProcedure object requires appropriate privilege. 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.


Prototype (C/C++)

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

  


(c) 1988-98 Microsoft Corporation. All Rights Reserved.