Grant 方法 (ObjectPermissionSet, String[], Boolean)

对针对表的指定被授权者授予对指定权限的访问,并向其授予向其他用户授权的能力。

命名空间:  Microsoft.SqlServer.Management.Smo
程序集:  Microsoft.SqlServer.Smo(在 Microsoft.SqlServer.Smo.dll 中)

语法

声明
Public Sub Grant ( _
    permission As ObjectPermissionSet, _
    granteeNames As String(), _
    grantGrant As Boolean _
)
用法
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
)

参数

  • granteeNames
    类型:array<System. . :: . .String> [] () [] []
    一个 String 数组,该数组指定要对其拒绝针对权限集的访问权限的被授权者列表。
  • grantGrant
    类型:System. . :: . .Boolean
    一个 Boolean 属性,该属性指定是否向被授权者提供向其他用户授予针对表的指定权限集的能力。
    如果为 True,则向被授权者提供向其他用户授予针对表的指定权限集的能力。否则为 False。

实现

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

示例

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)