Share via


Deny 方法 (ServerPermissionSet, String, Boolean)

拒絕所指定被授與者在 SQL Server 執行個體上的指定權限集,以及被授與者授與其他使用者的指定權限集。

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

語法

'宣告
Public Sub Deny ( _
    permission As ServerPermissionSet, _
    granteeName As String, _
    cascade As Boolean _
)
'用途
Dim instance As Server
Dim permission As ServerPermissionSet
Dim granteeName As String
Dim cascade As Boolean

instance.Deny(permission, granteeName, _
    cascade)
public void Deny(
    ServerPermissionSet permission,
    string granteeName,
    bool cascade
)
public:
void Deny(
    ServerPermissionSet^ permission, 
    String^ granteeName, 
    bool cascade
)
member Deny : 
        permission:ServerPermissionSet * 
        granteeName:string * 
        cascade:bool -> unit 
public function Deny(
    permission : ServerPermissionSet, 
    granteeName : String, 
    cascade : boolean
)

參數

  • cascade
    型別:System. . :: . .Boolean
    Boolean 屬性,指定是否也要針對使用者 (亦即,被授與者授與指定權限集的對象) 拒絕存取 SQL Server 執行個體的指定權限集。
    如果為 True,則針對被授與者以及被授與者已授與指定之權限集的使用者,拒絕指定的權限集。
    如果為 False,則僅針對被授與者拒絕指定的權限集。

範例

Visual Basic

'Connect to the local, default instance of SQL Server.
Dim svr As Server
svr = New Server()
'Define a ServerPermissionSet that contains permission to Create Endpoint and Alter Any Endpoint.
Dim sps As ServerPermissionSet
sps = New ServerPermissionSet(ServerPermission.CreateEndpoint)
sps.Add(ServerPermission.AlterAnyEndpoint)
'This sample assumes that the grantee already has permission to Create Endpoints. 
'Enumerate and display the server permissions in the set for the grantee specified in the vGrantee string variable.
Dim spis As ServerPermissionInfo()
spis = svr.EnumServerPermissions(vGrantee, sps)
Dim spi As ServerPermissionInfo
Console.WriteLine("=================Before revoke===========================")
For Each spi In spis
    Console.WriteLine(spi.Grantee & " has " & spi.PermissionType.ToString & " permission.")
Next
Console.WriteLine(" ")
'Remove a permission from the set.
sps.Remove(ServerPermission.CreateEndpoint)
'Revoke the create endpoint permission from the grantee.
svr.Revoke(sps, vGrantee)
'Enumerate and display the server permissions in the set for the grantee specified in the vGrantee string variable.
spis = svr.EnumServerPermissions(vGrantee, sps)
Console.WriteLine("=================After revoke============================")
For Each spi In spis
    Console.WriteLine(spi.Grantee & " has " & spi.PermissionType.ToString & " permission.")
Next
Console.WriteLine(" ")
'Grant the Create Endpoint permission to the grantee.
svr.Grant(sps, vGrantee)
'Enumerate and display the server permissions in the set for the grantee specified in the vGrantee string variable.
spis = svr.EnumServerPermissions(vGrantee, sps)
Console.WriteLine("=================After grant=============================")
For Each spi In spis
    Console.WriteLine(spi.Grantee & " has " & spi.PermissionType.ToString & " permission.")
Next
Console.WriteLine("")

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)