Daily Coping 11 Sep 2020

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.

Today’s tip is to plan a fun relaxing activity for this weekend.

Weekends have been quiet, but they’re getting busier. I have some fall chores and volleyball coaching keeping my busy this weekend. I also have some holiday next week, and I’ll do something those days.

For this weekend, I’m going to try and plan a night out with my wife, likely a socially distanced dinner, and maybe a walk along the river or local trail in our area. Something fun, easy, and without a lot of effort.

Date night is always a relaxing thing for me.

Posted in Blog | Tagged , , | Comments Off on Daily Coping 11 Sep 2020

The Real Life Software Movie Plot

It wasn’t that long ago that Firewall was released. In it, a security executive has his family taken hostage, with the plot being that the executive will help the criminals rob the bank that he’s spent years protecting or his family will be killed.

While I haven’t heard of this extreme happening in the real world, I wonder how far away we are from this. Recently, there was a less violent attempt at hacking, with someone offering a Tesla employee over US$1mm to slip ransomware into their network. The idea would have been to threaten Tesla with data release unless they paid up. The details are interesting, and supposedly the ransomware cost US$250,000 to build, but another company paid US$4.5mm to criminals, so maybe this would have been very profitable.

I’m sure there have been some shady offline attacks against companies and their executives or privileged staff. I hope there haven’t been any violent ones, but I am sure that something has happened somewhere in the world.

Ultimately, I bet that the best defense might be to limit the knowledge of who can access sensitive data, and perhaps even ensure that no one can. Only systems, and that all queries, all access, and certainly all backups, are handled by some automated system, logging everything. This might not prevent this movie plot from coming true, but maybe you’d get a similar ending, with the criminals caught quickly because some system logged the action and alerted people.

Security is a tough world to work in and think about constantly. Many of us know this, dealing with the stress and concern on a regular basis. Hopefully none of us add in the moral dilemma that might come from an actual criminal contacting us. If they did, hopefully all of us would be able to do the right thing.

Steve Jones

Listen to the podcast at Libsyn, Stitcher or iTunes.

Posted in Editorial | Tagged | Comments Off on The Real Life Software Movie Plot

Daily Coping 10 Sep 2020

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.

Today’s tip is to focus on the basics: eat well, exercise, and go to bed on time.

I believe in self-care. I’ve pushed myself without regard for my own well-being at times in my life, but I do it less and less, especially for work. As my wife has said many times, the things we do in technology usually aren’t “saving babies.” We’re pushing bits around for profit, and we don’t necessarily need to go above and beyond constantly.

Balance is important here. I try hard to take care of my physical body, my mental health, and my relationships, with efforts to reach out and touch base with those I care about. Each of those takes work, and in 50+ years, I’m still working out how to do this.

I’m better at taking care of my physical body. Not great, as my diet isn’t anything special. I’m a comfort eater, and I like food. However, I am working through being better more often than not.

For me, as I write this, I had a good day yesterday. Cooked some food at home, making reasonable choices for ingredients, limiting portions, and balancing different types of food. I drank lots of water, and I hit the pool for one of the last times this year.  I didn’t stay up late, relaxing with my wife and watching a little TV and getting to sleep at a reasonable hour to let me get 8 hours of rest before work.

I’d like to think I do this more often than not, which is good enough for me.

Posted in Blog | Tagged , , | Comments Off on Daily Coping 10 Sep 2020

FILESTREAM v FileTable –#SQLNewBlogger

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

I was really interested in the FILESTREAM technology when it came out. Unfortunately, the access from only Win32 APIs made this a pain for many people. I get why this is needed, but without having some tooling to make it easy to add/edit/delete blobs.

In SQL Server 2012, we got FileTable, which simplified development and allowed everyone to easily get data in and out of SQL Server.

This post looks at a few differences between the technologies.

FILESTREAM is essentially a folder surfaced as a column in SQL Server. You can create a filegroup to hold FILESTREAM files, and these are paths. The path is managed by SQL Server, and when you designate a column as containing FILESTREAM data, a new folder is created.

None of that matters, as you should NEVER go to these folders, but this is also how some other things in SQL Server  (like In-Memory OLTP) also work.

Access to this data is with a Win32 API, and it’s semi-complex. Not hard, and really you can use the sample code (with some additional error handling) to do the work you need. On the application side, you need to do some stream handling and manipulation, but that’s really not difficult. It can be cumbersome, but it’s easy.

FileTable was an additional layer that gives you SMB, or Windows Explorer, access to the data in the FILESTREAM column. Except, you can’t make a FileTable column, you create a FileTable, which has some restrictions, limitations, and required columns. You can add some things to the table, but really you want your FileTable to be a vertical partition of your regular OLTP data. Separate out the blob stuff from other items in your entity.

Both save your data in database backups, both are more efficient for semi-large blobs moving in and out of SQL Server.

Neither works in the PaaS cloud, though they could. I’d hope that FileTable especially would be added, with some enhancements to smooth the way a FileTable is structured, ubt I think with the focus on database level technologies (contained in a db), this technology is likely never getting any enhancement.

Posted in Blog | Tagged , | 2 Comments