次の方法で共有


Grant メソッド (ObjectPermissionSet, String[], String[])

テーブルの指定した列について、指定した権限セットを権限付与対象ユーザーに許可します。

名前空間:  Microsoft.SqlServer.Management.Smo
アセンブリ:  Microsoft.SqlServer.Smo (Microsoft.SqlServer.Smo.dll)

構文

'宣言
Public Sub Grant ( _
    permission As ObjectPermissionSet, _
    granteeNames As String(), _
    columnNames As String() _
)
'使用
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[]
)

パラメーター

  • granteeNames
    型: array<System. . :: . .String> [] () [] []
    権限のセットに対するアクセスを許可する対象の権限付与対象ユーザーの一覧を示す String 配列値です。
  • columnNames
    型: array<System. . :: . .String> [] () [] []
    権限のセットを許可する列のリストを示す String 配列値です。

実装

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

使用例

次のコード例では、権限付与対象アカウントに、テーブルの第 2 列のテーブル要素を選択する権限を許可する方法を示します。grantees アカウント配列は、ユーザー アカウントの定義済みの配列に置き換えてください。

このスニペットには次のデータベース スキーマが使用されます。

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