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