【SQL Server 2016动态数据屏蔽入门】定义屏蔽

日期: 2015-10-07 作者:Rick Heiges翻译:冯昀晖 来源:TechTarget中国 英文

我们在前面分别介绍了《【SQL Server 2016动态数据屏蔽入门】配置动态数据屏蔽》和《【SQL Server 2016动态数据屏蔽入门】Azure SQL 数据库V12(预览版)的动态数据屏蔽》。现在,我们将具体介绍如何定义屏蔽。 在Azure预览门户页,我们选择导航路线为“浏览全部/SQL数据库/[数据库名称]/动态数据屏蔽(预览版)”。到这里会显示一些预定义屏蔽功能的摘要说明。

然后点击“添加屏蔽”。在字段下拉列表中选中“HomePhone”字段,在“屏蔽域格式”下拉列表中选择“定制字符串”。使用“0”作为起始显示字符位置前缀参数,“ XXX-XXX-”作为填充字符串,设置末尾显示字……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

我们在前面分别介绍了《【SQL Server 2016动态数据屏蔽入门】配置动态数据屏蔽》和《【SQL Server 2016动态数据屏蔽入门】Azure SQL 数据库V12(预览版)的动态数据屏蔽》。现在,我们将具体介绍如何定义屏蔽。

在Azure预览门户页,我们选择导航路线为“浏览全部/SQL数据库/[数据库名称]/动态数据屏蔽(预览版)”。到这里会显示一些预定义屏蔽功能的摘要说明。然后点击“添加屏蔽”。在字段下拉列表中选中“HomePhone”字段,在“屏蔽域格式”下拉列表中选择“定制字符串”。使用“0”作为起始显示字符位置前缀参数,“ XXX-XXX-”作为填充字符串,设置末尾显示字符数为“4”。点击“新建屏蔽规则”页的“保存”按钮,然后回到“动态数据屏蔽(预览版)”页面再次点击保存。门户会显示提示信息表示修改的设置已生效。

图15:在Azure SQL数据库中为“HomePhone”字段创建设置屏蔽规则

我们再来查询一下员工表看设置是否生效。这里要注意,屏蔽规则应用完全生效可能需要一两分钟时间。

图16:“HomePhone”字段应用屏蔽规则之后查询员工表结果

Azure SQL数据库中屏蔽功能表现与SQL Server 2016 CTP2中结果一样。在这一步,很显然我们也可以像在前面GUI中操作一样的方式来定义其它屏蔽规则。现在,似乎我们必须用门户页GUI来定义屏蔽规则,因为如果我使用DDL来定义,虽然语法会接受通过,但是输出并没有改变。

Azure SQL数据库内置了一些常见的屏蔽规则,其中就包括了为社会安全号码(SSN)提供的内置规则。我们可以给员工信息表中SSN字段设置屏蔽,如下图所示。

图17:使用内置屏蔽规则应用与社会安全号码(SSN)

设置后查询结果如下图18。

图18:社会安全号码(SSN)字段配置屏蔽规则后查询员工表的结果

尽管数据显示屏蔽了,但现实效果不一定是我们想要的格式。这个屏蔽码对SSN字段很有效,该字段域比较宽,而且数据中间有破折号分隔。但是对于其它字段这个形式就不一定合适了。图19展示了对员工表的“EmpID”字段应用屏蔽规则时启用“数字(随机数字范围)”选项的配置。

图19:用数字(指定范围内随机数)作为屏蔽码应用于员工表

很显然,用随机数据屏蔽“EmpID”是不现实的,这里只是为了展示这种内置的屏蔽功能。

另外,要注意动态数据屏蔽还有一个选项是设置特权用户的。这里设置的特权用户在显示数据时不启用屏蔽规则。如果要演示这一特性,我们需要创建用户并另外建立与Azure SQL数据库的连接。这部分的详细操作多少有点偏离本文的主题,用户创建和模拟演示的步骤还是比较容易的,不再详述。

作者

Rick Heiges
Rick Heiges

SQL Server MVP以及DB Best技术公司的首席解决方案架构师。

相关推荐