Database.Grant Method (DatabasePermissionSet, String[], Boolean, String)

 

Grants the specified set of permissions to the grantees and the ability to grant the set of permissions to other users on the database under an assumed role.

Namespace:   Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

member Grant : 
        permission:DatabasePermissionSet *
        granteeNames:string[] *
        grantGrant:bool *
        asRole:string -> unit

Parameters

permission
Type: Microsoft.SqlServer.Management.Smo.DatabasePermissionSet

A DatabasePermissionSet object value that specifies the set of permissions.

granteeNames
Type: System.String[]

A String array that specifies a list of grantees to be granted the set of permissions.

grantGrant
Type: System.Boolean

A Boolean property that specifies whether the grantee is given the ability to grant the set of permissions to other users on the database.

If True, the grantee is given the ability to grant the specified set of permissions to other users on the database.

If False, the grantee is not given the ability to grant the specified set of permissions to other users on the database.

asRole
Type: System.String

A String value that specifies the role that the user assumes when that user grants the specified set of permissions to other users on the database. Use this parameter for grantees who are members of more than one role.

The example shows how to use the Grant method with server permissions. The method is the same for database permissions.

VB

PowerShell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$arg = [Microsoft.SqlServer.Management.Smo.ServerPermission]::CreateEndpoint

$sps = new-object Microsoft.SqlServer.Management.Smo.ServerPermissionSet([Microsoft.SqlServer.Management.Smo.ServerPermission]::CreateEndpoint)
$sps.Add([Microsoft.SqlServer.Management.Smo.ServerPermission]::AlterAnyEndpoint)
$spis = $srv.EnumServerPermissions("vGrantee", $sps)
Write-Host "=================Before revoke==========================="
Foreach ($spi In $spis)
{
   Write-Host $spi.Grantee "has" $spi.PermissionType " permission."
}
Write-Host " "
$sps.Remove([Microsoft.SqlServer.Management.Smo.ServerPermission]::CreateEndpoint)
Return to top
Show: