一些特別注重資訊安全、個人資料的公司或產業 (如: 金融、保險業),通常「測試用資料庫」的資料,會加上「遮蔽;去識別化」的功能,避免個資外洩。以往必須自己撰寫 SQL 語句或 Stored Procedure 來處理,且遇到不同的資料庫使用者,要給予不同瀏覽權限時,寫起來就更麻煩。現在 SQL Server 2016 已內建「動態資料遮罩 (Dynamic Data Masking)」功能,除了資料可針對自訂邏輯來遮蔽,還可針對不同的資料庫使用者,給予不同的瀏覽權限。

 --建立測試資料表
 CREATE TABLE Employee(
  EmpNo int identity primary key,
  [Name] nvarchar(5),
  ID varchar(10),
  Hireday date,
  Birthday date,
  Age as datediff(year,Birthday,getdate())+1,
  Gender bit,
  Email varchar(50), 
  Tel varchar(20),
  Salary money,
  CreditCard varchar(20))
 
 --新增測試資料
 INSERT Employee 
 VALUES (N'王二','A123456789','19700101','19800101',0,'aaa@wizard.com','02-12345678',100500,'1234-5678-9012-3456')
       ,(N'李二三','B123456789','19771010','19851010',1,'bbb@wizard.com','03-12345678',88000,'7890-1234-5678-9012')
       ,(N'陳二三四','C123456789','19851231','19951231',1,'ccc@wizard.com','04-12345678',723456,'3456-7890-1234-5678')
建立測試資料

相关文章: