当我在Temp数据库上运行以下代码时,它确实有效,但是当我在普通表上运行它时。非常奇怪,不确定我错过了什么。
CREATE TABLE #Test (Username VARCHAR(20))
insert into #Test (Username)
values ( 'Graham' ),( 'Bill'),( 'Ray')
ALTER TABLE #Test ALTER COLUMN [Username] VARCHAR(50) MASKED WITH (FUNCTION = 'partial(2,"XXX",0)');
有谁知道发生了什么?
我确实根据这个链接做了一切正确的事。 https://docs.microsoft.com/en-us/sql/relational-databases/security/dynamic-data-masking?view=sql-server-2017
我发现了我的问题,我不得不在桌面上为用户选择GRANT。
GRANT SELECT ON [dbo].[Test] TO [TestUser];