more on masking
Since our last post, we've added new features and fixed a few bugs! Please update to 0.9.730.
New features
- Each table update is now a transaction
- Support for NULL values and nullable columns
- Support for deterministic masking, which means that a value will always be masked with the same value across tables
You can see these in the new config output from New-DbaDbMaskingConfig.
{ "Name": "LoginID", "ColumnType": "nvarchar", "CharacterString": null, "MinValue": null, "MaxValue": 256, "MaskingType": "Internet", "SubType": "UserName", "Deterministic": true, "Nullable": false }
Want to know more about deterministic masking? Check out Sander's blog post, hot off the press: deterministic masking with dbatools.
Bug fixes
- Some masking types like UserName were ignored
- Columns containing NULL values did not get updated
- Sometimes a bit would be interpreted as a single character
I also updated the sample mask config. If you tried before and it failed, my apologies. We fixed one bug and introduced another. It should work now π
Invoke-DbaDbDataMasking -SqlInstance sql2017 -FilePath https://sqlps.io/maskconfig
Before
After
WhatIf I ran this?
We do support very detailed -WhatIf
scenarios in this invoker command. Run WhatIf to see what would happen if the command were to execute.
A video with sound!
I gave in and made a video with sound! You can view my fifth attempt on our YouTube Channel π.
Happy Holidays, Everyone!
- Chrissy