Udostępnij za pośrednictwem


Metoda Grant (ObjectPermissionSet, String[], String[])

Udziela określony zestaw uprawnień do stypendystów do określonych kolumn w tabela.

Przestrzeń nazw:  Microsoft.SqlServer.Management.Smo
Zestaw:  Microsoft.SqlServer.Smo (w Microsoft.SqlServer.Smo.dll)

Syntax

'Deklaracja
Public Sub Grant ( _
    permission As ObjectPermissionSet, _
    granteeNames As String(), _
    columnNames As String() _
)
'Użycie
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

  • granteeNames
    Typ: array<System. . :: . .String> [] () [] []
    A String wartość tablicy, która określa listę stypendystów, aby uzyskać dostęp do zestaw uprawnień.
  • columnNames
    Typ: array<System. . :: . .String> [] () [] []
    A String Tablica wartości, która określa listę kolumn, do których przyznawana jest zestaw uprawnień.

Implementacje

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

Przykłady

Poniższy przykład kodu pokazuje jak udzielić uprawnień konta grantee na zaznaczanie elementów tabela drugiej kolumna tabela.grantees Konto tablicy jest symbolem zastępczym dla tablicy określonego konta użytkownika.

Następującego schemat bazy danych jest używany dla tej wstawki.

//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)