Table.Grant 方法 (ObjectPermissionSet, String, array<String )
Grants access to the specified permission on the specified columns for the specified grantee on the specified columns on the table.
命名空间: Microsoft.SqlServer.Management.Smo
程序集: Microsoft.SqlServer.Smo(在 Microsoft.SqlServer.Smo.dll 中)
语法
声明
Public Sub Grant ( _
permission As ObjectPermissionSet, _
granteeName As String, _
columnNames As String() _
)
用法
Dim instance As Table
Dim permission As ObjectPermissionSet
Dim granteeName As String
Dim columnNames As String()
instance.Grant(permission, granteeName, _
columnNames)
public void Grant(
ObjectPermissionSet permission,
string granteeName,
string[] columnNames
)
public:
virtual void Grant(
ObjectPermissionSet^ permission,
String^ granteeName,
array<String^>^ columnNames
) sealed
abstract Grant :
permission:ObjectPermissionSet *
granteeName:string *
columnNames:string[] -> unit
override Grant :
permission:ObjectPermissionSet *
granteeName:string *
columnNames:string[] -> unit
public final function Grant(
permission : ObjectPermissionSet,
granteeName : String,
columnNames : String[]
)
参数
- permission
类型:Microsoft.SqlServer.Management.Smo.ObjectPermissionSet
An ObjectPermissionSet object that specifies the set of permissions.
- granteeName
类型:System.String
A String value that specifies the grantee to be granted access to the set of permissions.
- columnNames
类型:array<System.String[]
A String array value that specifies the list of columns to which the set of permissions is granted.
实现
IColumnPermission.Grant(ObjectPermissionSet, String, array<String[])
示例
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];
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, grantee, 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, grantee, $col)
请参阅
参考
Microsoft.SqlServer.Management.Smo 命名空间