參考書籍:

晚上照常学了点前端,主要是APIMath的部分用法吧,由于没有写作业,就不好说什么,以后晚上要留出更多的时间来学前端,不然是没有效果的,况且现在我主要想学好的是前端的知识。。

又安装了一下午,好不容易装起来了,又发现唉,同志,恢复数据吧。。

 --建立測試資料表
 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')

 

图片 1

 --測試自訂遮罩
 ALTER TABLE Employee ALTER COLUMN [Name] ADD MASKED WITH (FUNCTION = 'partial(1,"X",1)')  --Name 保留第一個和最後一個字,其他用 X 取代
 ALTER TABLE Employee ALTER COLUMN CreditCard ADD MASKED WITH (FUNCTION = 'partial(0,"xxxx-xxxx-xxxx-",4)') --信用卡,只顯示最後四碼
 ALTER TABLE Employee ALTER COLUMN ID ADD MASKED WITH (FUNCTION = 'partial(2,"________",0)')  --ID 保留前兩個字,其他用 8 個底線符號取代

 --測試亂數遮罩
 ALTER TABLE Employee ALTER COLUMN Salary ADD MASKED WITH(FUNCTION = 'random(10000,100000)')  --Salary 顯示介於 10000 到 100000 的亂數

本想今天一下把这3个题目写完的,但却卡在了第2道题,想了很久,要怎么样写一条语句可以把所以要查询的项目查出来,但是很遗憾,下午想了很久,还是没有能够把它写出来。。。

实在很烦了,就休息了一下子,晚上8点才开始恢复数据库


可以看得到,这样查询的,并没有按题目要求的G001、G002、G003这样一组组和起来计数,这样就是把所有的数据一行行显示了。

真是醉了,最近笔记本坏了没办法,只好给自己的平板装数据库,而且平板没有网线接口,只有用校园网下,500KB,很酸爽。。。

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

图片 2

上午上了一下午,然后又解了个压,解压解了半小时,平板的配置是真的低。。。

[1] Microsoft SQL Server 2016 資訊安全實戰, ch6, 悅知出版社

 

图片 3
圖 1 使用者 sa 和 user1
看到的結果,前者無遮罩,後者有遮罩

 

–針對某個資料表或欄位,移除 Dynamic Data Masking 功能
ALTER TABLE Employee ALTER COLUMN CreditCard DROP MASKED

图片 4

发表评论

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