Udostępnij za pośrednictwem


Metoda Grant (ObjectPermissionSet, String, String[])

Dotacje dostęp do uprawnień określonych w określonych kolumnach grantee określony w określonych kolumnach tabela.

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

Syntax

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

Parameters

  • columnNames
    Typ: array<System. . :: . .String> [] () [] []
    A String Tablica wartości, która określa listę kolumn, do której zestaw uprawnień jest przyznawana.

Implementacje

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

Przykłady

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

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