This year I didn’t write my usual daily blog posts during the PASS Summit 2016 as I felt it to be bit too much work with the long days and bit of a jet lag with the 10 hour time difference. Instead I decided to write a post summarizing my experience of the event. Every year, when deciding on what pre-con sessions to take and what regular sessions to attend to I try to think of a theme. This year I decided to go with Big Data and Analytics, as that’s an area of Microsoft Data Platform I’m not terribly familiar with. It was also a good choice because with SQL Server 2016 we’re seeing a huge number of improvements on technologies involved with these topics and there were quite a few sessions regarding these.
One of the new interesting features in SQL Server 2016 is the system-versioning with a catchy name, Temporal Tables. The name of the feature offers a hint to its purpose, to collect and to keep historical information about the data changes inside the database over a period of time. Instead of having just the latest data, we now have a way to know what it has been in any previous point in time. The most obvious use case for Temporal Tables is auditing, or at least it is to me, but they can be used for other purposes as well. Some examples are going back in time in case you need to perform a data recovery from an error or a data change operation gone bad, or you might want to use it for reporting purposes.
There are few things about the Temporal Tables that are good to know. First of all the work needed to keep track of the changes is done by the database engine when the system-versioning feature is enabled. Another thing some of you might appreciate is that the feature is available also in Standard Edition. And finally my favorite, it’s actually rather easy to start using the system-versioning as we will discover shortly.
As the summer vacation season is pretty much over, it’s time for me to get back to working and blogging again. I had originally planned to write up a few posts during the summer, but as I spend most of my days writing my bachelor’s thesis, I simply didn’t have the energy to do so. And I did also want to enjoy the Finnish summer with the family as the sunny season here isn’t exactly a long one. And what’s a better way to get started than about blogging about SQL Server and Performance Monitor!
One thing that we always set up on a new server is a Performance Monitor “black box”. The black box is basically a PerfMon collector that starts when the server does and runs continuously on the background, gathering performance data from number of vital counters. It has minimal performance overhead and is great at giving you a good idea on what has been going on in your servers during the last several days.
While there’s plenty of new and exciting features coming with SQL Server 2016, Microsoft has also worked hard on improving the delivery of their SQL Server tools. Previously figuring out the correct tools or what version to install could be more than little confusing, but no more!
I’ve been using Powershell more and more lately, most of the time the motivation has been to do repeatable tasks much more quickly and efficiently but there has also been other cases where Powershell has been the only way to accomplish something. Most often this is due to lacking GUI or Windows issues that have prevented me from using the GUI in the first place. This post describes the latter scenario and the Powershell workaround.
Distributed Replay is a feature that was first introduced with SQL Server 2012. It allows you to play a set of recorded transactions against a SQL Server database. This can be extremely useful if you’re doing hardware or SQL Server version upgrades and want to test the performance impacts of these changes, or if they’re going to break your application.