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

拒絕所指定被授與者在資料表上的指定權限。

命名空間:  Microsoft.SqlServer.Management.Smo
組件:  Microsoft.SqlServer.Smo (在 Microsoft.SqlServer.Smo.dll 中)

語法

'宣告
Public Sub Deny ( _
    permission As ObjectPermissionSet, _
    granteeNames As String(), _
    cascade As Boolean _
)
'用途
Dim instance As Table
Dim permission As ObjectPermissionSet
Dim granteeNames As String()
Dim cascade As Boolean

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

參數

  • granteeNames
    型別:array<System. . :: . .String> [] () [] []
    String 陣列,這個陣列會指定要拒絕指定權限集的被授與者清單。
  • cascade
    型別:System. . :: . .Boolean
    Boolean 屬性,這個屬性會指定是否也要針對使用者 (亦即,被授與者授與指定權限集的對象) 拒絕存取資料表的指定權限集。
    如果為 True,則針對被授與者以及被授與者授與指定權限集的使用者拒絕指定的權限集。
    如果為 False,則僅針對被授與者拒絕指定的權限集。

實作

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

範例

The following code example shows how to grant guest accounts permission to select table elements, and then revoke the permission by usuing the Deny method. The grantees account array is a placeholder for any array of 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);
tb.Deny(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)
$tb.Deny($objPermissionSet, grantees, $TRUE)