Table.Grant Method (ObjectPermissionSet, String, Boolean)

 

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

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

public void Grant(
	ObjectPermissionSet permission,
	string granteeName,
	bool grantGrant
)

Parameters

permission
Type: Microsoft.SqlServer.Management.Smo.ObjectPermissionSet

An ObjectPermissionSet object that specifies the set of permissions.

granteeName
Type: System.String

A String value that specifies the grantee to be denied specified set of permissions.

grantGrant
Type: System.Boolean

A Boolean property that specifies whether the grantee is given the ability to grant the 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.

The following code example shows how to grant a grantee account permission to select table elements. 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, grantee, 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, grantee, $TRUE)
Return to top
Show: