想象以下情况
CREATE DATABASE test
GO
USE test;    
CREATE TABLE dbo.Customer
  (
     CustomerId   INT,
     Email        VARCHAR(100),
     SensitiveData VARCHAR(20)
  );
INSERT INTO dbo.Customer
VALUES     (1,'abc@foo.com','12346789');在某个时候,编写了一个ETL过程,该过程在test数据库中执行某些活动。
CREATE USER etlUser WITHOUT LOGIN; /*For demo purposes*/
CREATE TABLE dbo.StagingTable
  (
     StagingTableId INT,
     SomeData       VARCHAR(100),
  )
GRANT UPDATE,INSERT,DELETE,SELECT,ALTER ON dbo.StagingTable TO etlUser;
DENY SELECT ON dbo.Customer TO etlUser;
DENY SELECT ON dbo.Customer (SensitiveData) TO etlUser; /*For good measure*/etlUser应该没有对该Customer表的权限(当然也没有该SensitiveData列的权限),因此上面明确拒绝了这些权限。
ETL进程将被截断,dbo.StagingTable因此ALTER为此授予了表权限。
这是在安全审核期间标记的。这种情况有多危险?