Building up a mental model of how locking and transaction isolation levels work in Microsoft SQL Server.
Read MoreTemporal tables are a useful feature introduced with SQL Server 2016 to track changing data. Here I show a quick example of converting existing data to temporal tables, I show another subtle trick to implement an automatic "modified date" without a history table, and I demonstrate some possible pitfalls with the temporal table behavior.
In code, I'm a firm believer in "writing what you mean": writing simple, straightforward code instead of trying to be clever. It's easier for the person who comes after you to understand it, but as it turns out, it can also be easier for the compiler to understand and optimize...
Read MoreTired of writing boring, repetitive boilerplate classes to read XML or JSON files? Did you know Visual Studio can do this for you in seconds?
Read MoreWant to experiment with some code but without going through the trouble of figuring out where to save a test project and then delete it afterwards? Visual Studio can do this!
Read MoreThere are a lot of performance best practices with Microsoft SQL Server that can add up to a significant impact; some of them involve the machine, some of them involve Windows. Some of them involve the SQL server instance, and some of them involve the database: many of the defaults when setting up a new SQL instance and database are suboptimal, probably for legacy reasons. (Thankfully, SQL 2016 finally improves all this!)
I've collected as much as I can here into a "one stop shopping" checklist. And you can always contact us for help!
Read MoreIn a perfect world, maybe CloudPets toys would be a positive example of the novel ways that the internet lets us keep in touch with those we care about. Instead, it's another disastrous example of "what not to do for security". Often it takes a very small amount of time and effort to drastically improve the resilience of a system, and perhaps more importantly, to minimize the possible scope of a breach.
Read More