Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Grants the specified set of permissions to the grantees to the specified columns 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(), _
columnNames As String() _
)
'Usage
Dim instance As Table
Dim permission As ObjectPermissionSet
Dim granteeNames As String()
Dim columnNames As String()
instance.Grant(permission, granteeNames, _
columnNames)
public void Grant(
ObjectPermissionSet permission,
string[] granteeNames,
string[] columnNames
)
public:
virtual void Grant(
ObjectPermissionSet^ permission,
array<String^>^ granteeNames,
array<String^>^ columnNames
) sealed
abstract Grant :
permission:ObjectPermissionSet *
granteeNames:string[] *
columnNames:string[] -> unit
override Grant :
permission:ObjectPermissionSet *
granteeNames:string[] *
columnNames:string[] -> unit
public final function Grant(
permission : ObjectPermissionSet,
granteeNames : String[],
columnNames : String[]
)
Parameters
- permission
Type: Microsoft.SqlServer.Management.Smo.ObjectPermissionSet
An ObjectPermissionSet object that specifies the set of permissions.
- granteeNames
Type: array<System.String[]
A String array value that specifies the list of grantees to be granted access to the set of permissions.
- columnNames
Type: array<System.String[]
A String array value that specifies the list of columns to which the set of set of permissions is granted.
Implements
IColumnPermission.Grant(ObjectPermissionSet, array<String[], array<String[])
Examples
The following code example shows how to grant a grantee account permission to select table elements of the second table column. The grantees account array is a placeholder for any defined array of 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];
String[] col = new String[1];
col[0] = tb.Columns[0].Name;
col[1] = tb.Columns[1].Name
ObjectPermissionSet objPermissionSet = new ObjectPermissionSet(ObjectPermission.Select);
objPermissionSet.Select = true;
tb.Grant(objPermissionSet, grantees, col[]);
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]
$col = @($tb.Columns[0].Name, $tb.Columns[1].Name)
$objPermissionSet = new-object Microsoft.SqlServer.Management.Smo.ObjectPermissionSet([Microsoft.SqlServer.Management.Smo.ObjectPermission]::Select)
$objPermissionSet.Select = $TRUE
$tb.Grant($objPermissionSet, grantees, $col)
See Also
Reference
Microsoft.SqlServer.Management.Smo Namespace