Share via


Table.Grant Method (ObjectPermissionSet, array<String[], Boolean)

Grants access to the specified permission and the ability to grant access to other uses for the specified grantees on the table.

Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

Syntax

'Declaration
Public Sub Grant ( _
    permission As ObjectPermissionSet, _
    granteeNames As String(), _
    grantGrant As Boolean _
)
'Usage
Dim instance As Table
Dim permission As ObjectPermissionSet
Dim granteeNames As String()
Dim grantGrant As Boolean

instance.Grant(permission, granteeNames, _
    grantGrant)
public void Grant(
    ObjectPermissionSet permission,
    string[] granteeNames,
    bool grantGrant
)
public:
virtual void Grant(
    ObjectPermissionSet^ permission, 
    array<String^>^ granteeNames, 
    bool grantGrant
) sealed
abstract Grant : 
        permission:ObjectPermissionSet * 
        granteeNames:string[] * 
        grantGrant:bool -> unit 
override Grant : 
        permission:ObjectPermissionSet * 
        granteeNames:string[] * 
        grantGrant:bool -> unit 
public final function Grant(
    permission : ObjectPermissionSet, 
    granteeNames : String[], 
    grantGrant : boolean
)

Parameters

  • granteeNames
    Type: array<System.String[]
    A String array that specifies a list of grantees to be denied access to the set of permissions.
  • grantGrant
    Type: System.Boolean
    A Boolean property that specifies whether the grantee is given the ability to grant the specified set of permissions to other users on the table.
    If True, the grantee is given the ability to grant the specified set of permissions to other users on the table. Otherwise, False.

Implements

IObjectPermission.Grant(ObjectPermissionSet, array<String[], Boolean)

Examples

The following code example shows how to grant a grantee account permission to select table elements of the second table column. The grantee account is a placeholder for any defined user accounts.

The following database schema is used for this snippet.

//CREATE DATABASE MYTESTDB;
//GO

//USE MYTESTDB;
//GO

//CREATE TABLE TABLE1(
//    id int,
//    name varchar(32)
//);
//GO

C#

Server srv = new Server("(local)");
Database db = srv.Databases["MYTESTDB"];

Table tb = db.Tables[0];

ObjectPermissionSet objPermissionSet = new ObjectPermissionSet(ObjectPermission.Select);
objPermissionSet.Select = true;
tb.Grant(objPermissionSet, grantees, true);

Powershell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $srv.Databases.Item("MYTESTDB")
$tb = $db.Tables[0]

$objPermissionSet = new-object Microsoft.SqlServer.Management.Smo.ObjectPermissionSet([Microsoft.SqlServer.Management.Smo.ObjectPermission]::Select)
$objPermissionSet.Select = $TRUE
$tb.Grant($objPermissionSet, grantees, $TRUE)