Goal Progress for November 2021

I set goals at the beginning of the year, and I’m tracking my progress in these updates during 2021.

I missed writing this in October. It was a stressful time with lots of deadlines, presentations, and travel.

I slacked off a bit in November, coming out of a busy work time and needing time away from my technical work. At least, outside of work. I also started coaching, and that required more personal time, so less career time.

Current Grade: C+

Given where I am, I think I’m middle of the road. I’ve done well on reading. I’ve made some project progress. A little technical skill work, but not enough.

Reading

I’ve been working through a couple books. I like the feedback one, but I find myself stopping and thinking often. The PoSh book is a bit of a project, but I’m enjoying it.

Here’s the current progress:

Technical Skills

No coding here on the Advent of Code. I realized, however, that I’m not a great programmer. Some of these problems stump me and slow down my enthusiasm. I also don’t love the process of problem solving on the computer just for fun. I have too many other hobbies for this to be a priority.

I have, however, started studying for a certification. I’ve been going through the DP-900 modules, trying to learn a bit every day or two. I went through 3 modules in November after the Data Community Summit. I’ll keep going here.

Projects

No real changes here. Minor updates, but not enough time spent on these items. I have started to get organized for volleyball statistics for the new season and I need to document the process a bit to explain it to myself, as well as do some better data analysis.

Posted in Blog | Tagged , | Comments Off on Goal Progress for November 2021

Daily Coping 1 Dec 2021

I started to add a daily coping tip to the SQLServerCentral newsletter and to the Community Circle, which is helping me deal with the issues in the world. I’m adding my responses for each day here. All my coping tips are under this tag.

Today’s tip is to try a different radio station or TV show.

I don’t listen to a lot of radio these days, outside of Spotify radio, but I do listen to some. I also don’t watch a lot of TV, actually I’ve cut the cord, so I only see streamed things on Prime or Netflix.

My tastes would run to sci-fi and thrillers, something silly, stupid, and very unrealistic. My wife tends towards more dramatic items. I don’t typically do documentaries, but after reading Eat a Peach, I decided to try David Chang’s series, Ugly Delicious. I downloaded a few episodes before a recent plane trip and started watching.

I like to cook, and while I don’t consider myself a foodie, I like simple, fun food. This series looks at different cuisines each episode talking about how they are prepared in different countries, but different chefs. Some fancy, some not.

My wife didn’t enjoy it, but I really liked the different ways people go about preparing simple foods. It certainly makes me rethink how I might experiment as I get back to traveling, and enjoying what people make in different places more than searching out something specific I expect or want.

Posted in Blog | Tagged , , | Comments Off on Daily Coping 1 Dec 2021

Daily Coping 30 Nov 2021

I started to add a daily coping tip to the SQLServerCentral newsletter and to the Community Circle, which is helping me deal with the issues in the world. I’m adding my responses for each day here. All my coping tips are under this tag.

Today’s tip is to set aside a regular time for a month to pursue something you enjoy.

I do a lot, and I like routine, but I haven’t always been good about setting aside time. This month I’m going to try something. I’m setting aside 30 minutes 3 times a week.

2021-11-19 11_03_57-Guitar - Appointment Series

We’ll see if I can do it, and if it helps me learn a few new songs.

Posted in Blog | Tagged , , | Comments Off on Daily Coping 30 Nov 2021

Hiding Email with a Dynamic Data Masking Function–#SQLNewBlogger

Another post for me that is simple and hopefully serves as an example for people trying to get blogging as #SQLNewBloggers.

Dynamic Data Masking is a feature that provides some pseudo-security features. This lets you return a portion of data while hiding other portions for unauthorized users. The classic example is preventing someone from seeing PII data if they are a customer service rep or other non-privileged user.

Note: THIS IS NOT A SECURITY function, though it is somewhat marketed and talked about it this way. I say pseudo-security, but be careful here. I have a larger article on why.

A Scenario

I have a simple table here. I’ll give you some DDL and DML.

create table DDMEmailTest
( MyID int not null identity(1,1) constraint DDMEmailTestPK primary Key
, MyName varchar(100)
, Email varchar(100)
, Salary int)
go
insert DDMEmailTest select 'Steve Jones', 'steve.jones@sqlservercentral.com', 200
insert DDMEmailTest select 'Bob Jones', 'bob.jones@acme.com', 300

Now, if I query this as a normal user, I see something like the image below. Note I can read the email address.

2021-11-18 12_05_41-SQLQuery2.sql - ARISTOTLE_SQL2017.sandbox (ARISTOTLE_Steve (57))_ - Microsoft SQ

Limiting Access

I can prevent this from occurring by adding Dynamic Data Masking to the column. This is a column level feature, which doesn’t need activating. It’s in SQL Server 2016+ databases. You add masking with an  ALTER COLUMN like shown below. The email() function is built into SQL Server.

alter table DDMEmailTest ALTER COLUMN Email ADD MASKED WITH (FUNCTION = 'email()')

When I now query the data, I see this:

2021-11-18 12_08_18-SQLQuery2.sql - ARISTOTLE_SQL2017.sandbox (ARISTOTLE_Steve (57))_ - Microsoft SQ

Users that are not admins, or have been granted the UNMASK permission will get masked data. This mask specifically is the first character and then the XXX@XXXX.com value.

Use it if this fits your scenario.

SQLNewBlogger

I was working with DDM to show something to another person and decided to throw this post together. I’d set up the scenario, so I just had to write. This was about 15 minutes of my day.

You could do the same thing, but explain how you might use this in your organization.

Posted in Blog | Tagged , , | Comments Off on Hiding Email with a Dynamic Data Masking Function–#SQLNewBlogger