当前正在测试SQL 2016和动态数据屏蔽功能。但是,不支持的数据类型之一是空间数据类型。我有一个地理位置数据类型列,我将如何屏蔽这个?或者什么将是一个很好的解决方案来掩盖这一点?数据屏蔽 - 地理定位
我真的很喜欢的2016年动态屏蔽功能,并相信这将是一个伟大的方式来“隐藏”或在较低的环境PI相关数据,但一个路障的该位被阻碍迁移至2016年
当前正在测试SQL 2016和动态数据屏蔽功能。但是,不支持的数据类型之一是空间数据类型。我有一个地理位置数据类型列,我将如何屏蔽这个?或者什么将是一个很好的解决方案来掩盖这一点?数据屏蔽 - 地理定位
我真的很喜欢的2016年动态屏蔽功能,并相信这将是一个伟大的方式来“隐藏”或在较低的环境PI相关数据,但一个路障的该位被阻碍迁移至2016年
您可以使用default()
函数来屏蔽地理位置。下面是一个例子...
CREATE TABLE ##SpatialTable
(id int IDENTITY (1,1),
GeogCol1 geography)
insert into ##SpatialTable(GeogCol1)
values (geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326));
select * from ##SpatialTable
--RESULT = 0xE610000001148716D9CEF7D34740D7A3703D0A975EC08716D9CEF7D34740CBA145B6F3955EC0
alter table ##SpatialTable
alter column GeogCol1 add masked with (FUNCTION = 'default()')
--Now, select the data using credentials of a user without GRANT UNMASK assigned to them for this table
select * from ##SpatialTable
--RESULT = 0x00
drop table ##SpatialTable
是的,我已经尝试过,但不幸的是,打破了我们的应用程序。 –
你是什么意思它打破了你的应用程序,@SequelSurfer – scsimon
你可以尝试一些外部工具DDM在SQL Server等为DataSunrise(有免费试用)或Hexatier。该解决方案可用作反向代理。
我在想我可以使用列级权限,但不相信如果权限不存在,我就可以返回NULL。我可以在视图中做到这一点,但如果可能的话,希望将其保留在桌面上。 –