尝试掩盖SSMS中的列时出错

时间:2019-01-13 20:50:58

标签: ssms

使用此方法时,我试图掩盖表格中的某些信息:

ALTER TABLE Person
ALTER COLUMN DoB add masked with (Function = 'default()')

我遇到了这两个错误:

  

“已屏蔽”一词附近的语法不正确

  

关键字“ with”附近的语法不正确。如果该语句是公用表表达式,xmlnamespaces子句或更改跟踪上下文子句,则前一条语句必须以分号终止。

这实际上与Microsoft文档中的代码相同,但是由于某些原因它不起作用

如果有人可以向我解释问题所在,那将对我有很大帮助

1 个答案:

答案 0 :(得分:0)

要使用ALTER语句屏蔽列,必须在该语句中包括该列的数据类型。也不需要ADD关键字。我不知道您的示例中的DoB列的数据类型是什么,但是需要按以下方式进行更改。从名称上我猜这是一个datetime列,但是如果不是,则需要替换匹配的数据类型。

ALTER TABLE Person ALTER COLUMN DoB DATETIME MASKED WITH (FUNCTION = 'default()')

更新: 此错误是由于在使用released in SQL Server 2016时使用SQL Server 2012导致的。