Maturing Your Database Development Process–Version Control

At Redgate Software, we have a progression of the stages of a database development pipeline. These are the various ways in which you can better engineer your database development to ensure smoother releases to production, with less issues. There are five stages:

  • Manual (S0)
  • Source Control (S1)
  • Continuous Integration (S2)
  • Release Management (S3)
  • Monitoring (S4)

As I travel around, speaking on these topics, I find many people working in development stops that are really at the S0 level.

For databases, that is. For their .NET or Java or PHP software, quite a few are at S2, and maybe working towards S3 in many projects.

That’s a disconnect, and it’s one that we’d like to see changed at Redgate. Certainly we can help and we’d like you to use our products, but more, we want to see better development all around.

We’re Trying to Help New York City

In a few weeks, on August 27, 2015, I’ll be in New York to help teach our Database Source Control workshop. Ike Ellis (Crafting Bytes) is teaching the class, and I’ll be there to support him and run the labs. This is a course that Grant Fritchey, myself, and a few others at Redgate Software have built.

This is the chance to learn how your organization can implement version control for your database, just as most of your developers probably already have for the other software you write.

We’ll cover setting up Source Control, deploying changes from versions, branching, merging, and more. This is a great hands-on introduction to stabilizing your database development. We’ll provide a VM with labs that you will actually complete.

We’ve put this first step to building a DLM pipeline on sale for $100. If you’re close to NYC, consider taking a day off and joining us at the Microsoft office in Manhattan for a little database education.

If you can’t make this workshop, look through our schedule and join us somewhere at a future time.

Database Version Control Workshops

We’ve got more Workshops coming this fall from Redgate Software to help you get the most out of our tools and improve your database development processes. The list of our training schedule is out, and I’ll be at a few of these.

The schedule does changes as we can add more dates and partners, so keep checking it, or let us know if you’d like to have a class near you.

Baton Rouge, LA – Jul 31, 2015

I’ll be traveling to Baton Rouge, LA for our July 31 class with Ike Ellis on Database Source Control. Ike’s teaching, and I’m there to help and manage the labs that we’ve put together for the class.

This workshop is the day before SQL Saturday #423 in Baton Rouge, so if you’re attending that, consider coming a day early and getting some hands on knowledge of database and version control on Friday. It’s only $100 (a limited time sale), so register today.

New York City – August 20, 2015

We’ve also scheduled to give a Database Source Control workshop in New York City, in Manhattan on August 20, 2015. Once again, Ike and I will run the workshop, giving you a chance to learn how you can better manage the code in your databases with a VCS.

Come Learn

I hope to see some of you at one of these workshops, or one later in the year. We’ve really worked hard to pack a lot of information into a long day, helping you actually use the tools and technologies to control your database code. We’ll talk about how a VCS integrates with your code, what to include, how to handle branching and merging, and more.

We’ve put the price of these workshops on sale for the remainder of the year, so take advantage and register today.

Unit Testing in Philadelphia

I’m helping teach a pre-conference session on Friday, June 5, 2015 at the Microsoft office in Philadelphia. This is an all day, paid for event, that looks at how you can use a framework to write unit tests for your T-SQL code. We’re the day before SQL Saturday #390 in Philadelphia

I really believe in testing, and am trying to advocate for it in many places. I’ve delivered a testing session that has been well received at quite a few events and this is the first time I’m trying a full day training class.

I am working with Sebastian Meine, the founder of tSQLt, to present the class. We’ve got a busy outline, looking at a variety of ways that you can write tests and use them to find problems in code. Here’s what we’re covering.

  • Introduction to Unit Testing
  • What is tSQLt?
  • Your First Test
  • Executing Tests correctly
  • Effective use of Assertions
  • Separation of Concerns
  • Testing Exceptions
  • Test Case Heuristics
  • Dealing with Test Data
  • Other Types of Testing
  • How Unit Testing fits into your Development Process

At the end of the class, you should have some good ideas on how to build and structure tests in your own environment and be ready to start testing on Monday.

I hope to see you there, and register today if you want to learn more about unit testing in SQL Server.

Learn tSQLt and Unit Testing in Philadelphia

SQL Saturday #390 is in Philadelphia on June 6, 2015. This is my second time attending the event, and not only am I speaking on Saturday, but I’ll be delivering information on Friday at a pre-con.

My first SQL Saturday pre-con is taking place in Philly. I’m lucky to be asked by Sebastian Meine to co-present a day of training. We’re delivering a precon on Unit Testing in SQL Server with tSQLt. It’s available for the low price of only $99.99 now, with the price rising to $149.99 when the event begins.

We’ll be covering quite a bit of the framework, showing you the ways in which you can write tests with examples and code that you can run that day. We’d like you to bring a laptop to write tests along with us, but we’ll have the code available later if you want to test back at the office. Here’s our agenda.

  • Introduction to Unit Testing
  • What is tSQLt?
  • Your First Test
  • Executing Tests correctly
  • Effective use of Assertions
  • Separation of Concerns
  • Testing Exceptions
  • Test Case Heuristics
  • Dealing with Test Data
  • Other Types of Testing
  • How Unit Testing fits into your Development Process

Sebastian is the owner and developer of the tSQLt framework, which I’ve been using quite a bit over the last few years. It’s an amazing project, and really expands the ability of SQL Server developers to build better code and prevent regression issues in their applications. Quite a few SQL Server MVPs and highly successful consultants are using the framework, and I’d urge you to give it a try.

If you’re in the Philadelphia area and want to jumpstart your testing knowledge, consider coming to our pre-con. It’s a great way to rethink how you write SQL code and put testing in place in a fairly low impact fashion.

Register today

Database Source Control

If you’re in town on Thursday and want to learn about Version Controlling your databases, Redgate is also working with Ike Ellis to put on a full-day workshop covering Database Source Control. It’s $500 for the day, and you’ll get some in-depth knowledge on how to work with SQL Server code and version control as well as participate in hands-on labs that will give you the skills to implement the processes yourself. Find out more..

VMware and DBAs

Disclosure: I’m a VMware fan and run it on my laptop. I definitely prefer it to other hypervisors. This workshop and all travel expenses was also paid for entirely by VMware.

I was fortunate and grateful to be invited out to VMware recently for a multi-day workshop for SQL Server on VMware. Michael Corey wrote about the workshop here, which was an interesting way for VMware to reach out to the SQL Community and both talk to us about what they’re doing as well as get feedback from us on how SQL Server performs and interacts with the VMware platform. They will do more in the future, so if you’re active in the community or a heavy user, read Michael’s post and see if you can get yourself nominated.

The week was full of speakers from both VMware and Tintri, a storage vendor doing interesting things. We had quite a few executives talking about their plans to make SQL Server run better, and we (as a group) provided lots of feedback. Certainly I think we helped to ensure executives understand that a database server is fundamentally different from a file server, mail server, or other workload.

Of course, it wasn’t all work.


I can’t talk about lots of what we discussed, as much is under NDA, but I will say that you should keep an eye on how VMware is going to improve their interaction with SQL Server. Hopefully we’ll see more products, information, and help at some of the SQL Saturdays and other SQL Server specific events.

We also got a night out at ATT Park in San Francisco where the various attendees and speakers could interact in a casual atmosphere. An exciting game, with two of the best pitchers in the game throwing that night (Kershaw and Bumgarner).

Photo Apr 22, 8 19 09 PM

I’d never been there, so it was a treat for me. I walked around and enjoyed the baseball game, the first one I’ve seen live in a couple years.

Photo Apr 22, 8 26 19 PM

Overall it was a very interesting time, with lots of points raised by everyone that I hadn’t considered or thought of. The more I hear about what the ESX platform does and handles, as well as hearing about how people have set up the platform. There are truly some powerful instances being run in a virtualized environment and I’m not sure there are many workloads that couldn’t be run successfully on VMware.

I’m sure that there are hardware and budget restrictions for many people, but the issues aren’t VMware or virtualization, they’re the setup. In the labs we worked on, quite a few of the systems pressed a SQL Server instance hard, and the hypervisor and storage system kept up nicely.

Photo Apr 22, 10 27 32 AM

Not to disparage Hyper-V, but I haven’t had the experience there. I suspect both hypervisors could be tuned to a high level. Both also have some holes and places where the system might not run as smoothly as you’d like, but at least I think VMware is more aware of what we, as SQL Server professionals, see as problems.


I have to admit that I have mostly though of storage as a utility. It needs to work and respond fast, but beyond that, I don’t care about it. It’s like a water faucet. I turn it on and it works.

Tintri was the guest storage vendor that provided appliances for us to use. I didn’t’ think much of them on Tuesday morning, but by the time their founder had talked with us, I was very intrigued. I still don’t really care about storage other than needing it to work, but I was very intrigued by how this particular product works.

Most storage is presented as a LUN to a host, which may or may not share that among guests running on a box. Tintri changes that, with what they call VM aware storage, with VM level QOS. Essentially, the storage box is aware of each guest connected as a VM. It manages the storage response and bandwidth on a VM basis, with separate FIFO queues for each drive in the VM. Essentially each VM is treated separately and the storage capabilities (min and max IOPS) can be managed separately.

It seems as though VMs get better response from the appliance this way, with less dependency on heavy management by storage admins. They also use a lot of flash memory (SSDs) with disks to ensure fast responses. They do 100% write to flash for speed and tune the systems to aim for 99% reads from flash. Because the device is aware of VMs, it can move blocks around from flash to disk to ensure that the heavily used data is quickly available.

If you have heavy needs, check them out. If you’re looking for a SAN, I’d look at them as well. Not sure what the pricing is, but I bet it’s competitive with other SAN devices.

We also got a lecture about low level storage technologies from a VMware exec. The talk looked at the advances taking place in storage, which seem to be finally leaping forward. With the price of SSDs crashing, and the research into 3D flash, it seems that though more and more of us might move to flash based SAN storage quicker than we expect. Fascinating stuff, and I suspect that database systems will start to see better performance from hardware upgrades across the next 6-7 years.

A Break

It was nice to get away and learn something without any pressure to work on much else. This was a short workshop, close to home, and in an area that had me concentrating and paying attention in ways that sometimes don’t happen at SQL Server events. I enjoyed it, and I learned quite a few things.

Photo Apr 22, 10 27 27 AM

I’m not sure how much I’ll use this stuff moving forward, but I am thinking that I’d like to play around with an ESX server at home and use that to experiment with SQL Server features and especially setup. I’m looking forward to trying to get a system ready that can build a new SQL Server instance in minutes.

Learning Continuous Integration for Databases – LA Apr 10

I’ve been talking about continuous integration for databases for a couple years now as a part of my job. My employer, Red Gate Software, has been building tools to help database developers build better software. We (Red Gate) want to sell software, but we also really want to help people build better software. It’s a big reason why I’m employed there. Red Gate truly wants to make the world a better place while we run a business.

I’ve gotten lots of interest and questions from my one hour talk and late last year Red Gate decided we needed to do more. We built some all day continuous delivery classes last year and they went over well. Over the winter, Grant, myself, and a few others at Red Gate got together and we’ve been working on adding depth to our instruction and have come up with 3 full days of training to help you build better database software, quicker.

Continuous Integration in LA

The middle class we’ve developed is an all day look at how you implement a continuous integration process with a database and application. On April 10, 2015, I’ll be coming to Los Angeles, CA, along with one of our partners, Ike Ellis, to work on a full day of training. It’s a $500 class, but you’ll walk through a couple of different ways to set up a CI process, actually perform the steps yourself, and make changes to the database that get built and tested.

We think it’s a great way to smooth out your development process and bring more engineering to the way you deploy database updates. Ike is an expert SQL Server consultant and he’ll show you how to create your own CI process. I’ll be in the background to help out, and we think you’ll gain some in depth knowledge that you can use at your job right away.

If you want to advance your database development, register today and join us in LA on April 10, 2015.


I’m excited to be a part of these classes, and I hope you are as well.

We do cover a number of Red Gate tools in the classes, but the procedures and steps are applicable to other methods of accomplishing the same tasks. Even if you choose to use other tools, or write your own, the skills we teach you will be applicable.

I wouldn’t write my own, however. I’d easily burn the cost of the tools many times over trying to iron out the bugs in my own process.

The Continuous Delivery Process

The whole idea of continuous delivery is that you can make changes at anytime. It isn’t sloppy work, untested development, or anything else. This is a way to bring more engineering to software development, and I really believe in it.

It’s not easy, however, and that’s why we’ve built three days of training. We cover these items in the three days.

  • Day 1 – Version Control for Databases
  • Day 2 – Continuous Integration for Databases
  • Day 3 – Automated Deployment

We haven’t set these up all in one week, mainly because it’s too much information for you at once. Ideally we want to tour around, running one of these classes each quarter, because it will take you a few months to implement the information and understand it.

If you get past these courses, we’re also partnering with expert ALM consultancy shops that can help you even more.

We’ve got a number of all day events coming up for you to consider, so check out our list of training days. We’re adding more all the time, and let us know if you want us to come to your area.

What Do You Want from SQL in the City?

This week finished the SQL in the City 2012 tour, which covered six cities in the US this fall and London this past summer. It was a fun, hard, whirlwind event that had myself, Grant Fritchey, and a lot of other Red Gate employees working hard to bring you a fun, educational, and worthwhile set of events. We met a lot of great people, and hats off to Annabel Bradford at Red Gate for organizing the entire tour.

I think we did a good job, and heard some great comments from people at the events. Right now we’re starting to think about 2013, and I wanted to get some open-ended feedback here from people on what they’d like to see. Whether you attended a SQL in the City or not, give us your opinion.

What do you want from a one day training event?

I’m curious what you hope to get out of an event, what formats do you like, what types of content, and at what levels? Does the size, location, or any part of the venue matter? Do you need tables for a laptop or are you coming to listen and get ideas that you’ll work on in the future? Give us your feedback on what you think makes a worthwhile day of training for you.

There are any number of ways we can do things in the future, all with various tradeoffs. We can do smaller events in more cities, larger events with more staff, or something in between. I can’t promise anything specific, but your opinion and feedback do help us to try and deliver the community service and education that will help you get better at using SQL Server.

Steve Jones

The Half Day Experiment

Check out the half day sessions at the Summit

At conferences and events I have found that the vast majority of sessions are one hour long. Sometimes events have experimented with 75 or  90 minute sessions, but the majority of talks I’ve heard were an hour, short enough to get an idea of how to use a feature or have an idea about why you might use something, but too short for in depth learning. More in depth sessions are usually all day sessions, or multi-day classes, which are very focused, and expensive. It seems that it’s rare the many employees get the chance to attend this type of training.

This year the Summit is trying something new, with a few half day sessions that should provide a deep dive in a number of areas during one focused three hour time slot. There are sessions on a variety of topics including performance tuning from Tom LaRock, and Scaling SQL Server from Glenn Berry. The sessions take place on Wed and Thur in the afternoon, so check the schedule if you’re interested.

I like the idea of combining some longer training that is focused along with the wide variety that most events offer. To me this is a way to better justify the ROI of attending an event by allowing you to focus in a deeper way on a specific subject. It also is a great way for some of the more expert speakers that offer training or pre-conference sessions to give attendees an idea of what they can teach, and why that specific training can be worth the expense.

I’m hoping that some attendees will come away with skills they can use, or refine when they get back to their jobs. I’m hoping they can tie that back specifically to one of these half day sessions and even blog about what the reaction was from their management. I’m also hoping that this helps to get more training sessions scheduled as pre-cons at SQL Saturdays or other events, bringing lower cost training to more people and improving the skills of the SQL Server community overall.

Steve Jones

The Voice of the DBA Podcasts

I Want Stupid Employees

This is how I've done most of my training.

It seems that the vast majority of people that I talk to in the technology field have trouble getting training funded. It doesn’t matter if it’s a conference or a class, it seems that companies don’t want to spend money training people. I find that many companies use one of two excuses. Either they say employees should already know how to do their jobs, or they worry that training will empower employees to go find other jobs.

Or in other words: I Like My IT Budget Tight and My Developers Stupid.

That’s the title of an article and it’s a good question for managers that don’t want to pay for training. The article talks about the choice between being “concerned that if people know what they’re doing, they’ll leave. And if they don’t know what they’re doing, they’ll stay”. It’s actually not a bad argument to make with your boss, though I might reword it in a different way.

There are a certain percentage of people that will not be happy at your company. Perhaps the job is not a good cultural fit, the employees might be ambitious and looking for new challenges, or maybe they are always looking for someone to pay them more. There’s nothing you can do about those people, and withholding training isn’t going to keep them around.

There are also a percentage of people that are unmotivated, uninterested in their jobs, maybe marking time, or just wanting to get through each day and go on with the rest of their lives. Training can be wasted on this group as they aren’t likely to use the skills they’ve learned at work. It’s possible they might not even learn any skills, just sitting in class as an excuse to get out of work. You can’t do anything about this group either.

However I think that both of those groups are the minorities at most jobs. I believe most technology people are interested in what they do, like to learn new skills, and more importantly, like to solve problems. They will take advantage of training and look to use their new skills, especially if you challenge them to do so. And most of these people aren’t looking to leave your company. They might stay forever, but the vast majority of people want to keep their jobs and accomplish something.

And if most people don’t want to stay, perhaps you ought to examine your company’s culture. Maybe it’s the problem. Withholding training isn’t the answer, and you can’t expect people to know, or learn, everything they may need on their own. That’s a recipe to ensure your company isn’t as competitive as it could be.

Steve Jones

The Voice of the DBA Podcasts

Master Training

A Kung Fu Master

As a kid, growing up on Bruce Lee, Chuck Norris, and Saturday afternoon Kung Fu Theater, I always wanted to be a martial arts master. A few years later, being a Jedi Master caught my interest despite the fact that it wasn’t a viable goal on Earth in 1977. Now I’ve started down the path towards another master, the Microsoft Certified Master.

Actually I’m not going down that path. I had the chance to take the written test with no downside for me, so I took it. I have no intention of actually pursuing the lab at this time. It’s a lot of work, and not necessarily something that would provide me a lot of benefits right now. I may change my mind if I were looking for consulting work, but I am quite happy with my job right now and don’t want to change.

I do plan on taking one or two of the MCM training being offered by SQLskills this year, but I won’t be looking for the intensive  4 weeks of training to prepare me for the lab exam. After reading Brent Ozar’s adventures last year, I think I’d need all 4 weeks of class along with a few more weeks of prep to be ready for the lab.

So why am I taking a class? First, it’s good training. I have had the privilege of seeing both Paul Randal and Kimberly Tripp speak before, and it’s always enjoyable and informative. I come out of their hour long sessions with so many notes and new knowledge that it I feel like I’ve been learning for a full day. I am sure that a week’s training from them will result in a small novel that I’ll need to review over the following months.

Training can be hard to get funded, but it is often worth it. I hope that more companies would be willing to improve the skills of their people with this type of advanced training, even without paying for the certification testing. The chance to learn from experts in particular areas is an investment that I think is worth making in my career and in yours.

Steve Jones

(originally published at

The Voice of the DBA Podcasts