Psst. Hey Vendor – DBAs are secretly plotting against you! We hate what your products do to our environments. Sometimes we even work to get you replaced by someone else who makes a product in the same space but is “DBA-Approved”….
What’s that? You want the DBA stamp of approval?
I write this blog to help folks so I’ll pretend I’m not at work in a meeting railing on about how your product has no indexes or has way too permissive security or doesn’t think to recommend index maintenance. That’s right… I’ll help you. Why? Because I want you to succeed. I want to like working with you. I want you to be “DBA-Approved”
You don’t have to look to hard to find blog posts of DBAs annoyed with vendor gaffes. There are some great vendors who really understand their destination database environment. They go out of their way to make sure their client properly backs up and maintains the environment. They performance test and look at best practices. There are a lot who don’t.
I’ve worked as a consultant for a vendor who wanted to do a better job in helping their customers handle the SQL Server environment they ship their app on. I’ve worked full time for a vendor who didn’t. I can tell you that my experience with the latter was early on in my career as a tech support engineer and I got a lot of painful calls from customers up a creek. Customers who maybe would have been better off with some prescriptive guidance…
But We Don’t Own Their Environment!
I know. But you didn’t tell the client that they really needed a DBA to look over their SQL Server environment did you? You might have even marketed it as “so easy! A few clicks and our installation is complete!”. I’m not saying you should own their environment. I’m not saying you should coddle each customer and play the role of DBA. I am saying that you should….
Care Enough To Do It Right
That’s right. I’m appealing to your heart. Though, if you do a great job it becomes marketing and word of mouth advertising. You’ll also be able to receive less “basic” support calls or deal with upset customers who got in trouble because of database issues. What about the lost business because of clients talking to other potential clients? Or IT staff commiserating with IT staff at user group meetings? Now I’m appealing to your bottom line, I hope?
Some Thoughts on Doing It Right
I’m not asking for much. This list is a good start. We might revisit this post in the future with more but starting with some basics, you’ll be on your way to being a “DBA-Approved” software vendor:
- Cheat – If you are looking to have your software sold and installed at a company that I work at, consult for or have worked at. Be prepared to answer these questions. Maybe all don’t apply, maybe some look like gibberish. Learn about the terms and understand why a DBA would ask. Send me an e-mail or leave a comment if you are confused about why I ask a question
- Learn and Know SQL Server – What kind of SQL Server expertise do you have on staff? You probably have some great developers but do you have someone with a DBA interest and skill set? Do you have someone who stays involved in the SQL Server community? Check out sites like SQLSkills, SQLBlog, SQL Server Central, SQLServerPedia and the SQLPASS organization.
- Speaking of PASS – PASS is the Professional Association for SQL Server users. It is a great organization with a lot of resources for us in the SQL Server space. They have a huge annual Summit with a lot of great technical content. Send someone to the conference and have them sit in the sessions. Have them talk to DBAs (we aren’t shy…)
- Documentation? Do you provide anything to your clients (especially those smaller shops that may not have a dedicated DBA, even if I think they should) around recommended best practices for database maintenance, backups, troubleshooting, etc.? You should.
- Best Practice Review – From some of the communities/blogs mentioned above you can find a lot of intelligent and experienced DBAs who can help you review your application from a database performance and best practices point of view. I would hazard to say that even just 12-24 hours of billable time can gain you a lot of customer good will. I know I’ve helped folks out with this in the past and as a DBA on the receiving end, it makes a difference working with a vendor who has Database best practices in mind.
- Security! Please. Don’t. Ask. For. Sysadmin (SA). Rights!!! Please don’t even ask for DBO, if you can avoid it. You should be using role based security with least privilege. It would be nice if you used Active Directory security and integrated with our AD but I’ll even let you use SQL authenticated if you stop asking for SA rights! Let me review your deploys and see the scripts that get run. Do your deploys with the least privilege necessary or heck, let me do it for you… I’m not being a jerk, I’m trying to do my job as a DBA.
- Backup/Restore – It goes with the database maintenance documentation above. I wanted to call it out here separately. Work with your clients on best practices for backup and recovery. Learn about them yourselves first. Don’t just install someplace and expect it all to be fine. Ask your support teams if they’ve dealt with a client who lost more data than they were willing. Ask them how that call went.
- Don’t Go With Defaults – There have been lots of blog posts about this that you should read to get an idea of what I mean –My thoughts, Paul Randal, Aaron Bertrand and plenty of others linked from those – Back? Alright, learn about how to install SQL Server and include that in the documentation. Talk about recovery models so you don’t end up with huge transaction logs and bad advice being given to your customer’s IT support team from Google and forums.
Was That So Horrible?
I don’t think anything on there is going to make you freeze your code, hire a lot of developers or Project Managers. Sure if you don’t have the expertise on staff, you might engage a consultant and spend $5,000 or less on reviewing your docs and plans but how much will it cost you in lost opportunity to not do that?
Thanks for listening and I really hope you think about some of the points above or some of the points mentioned in my DBA Questions for Vendors list referenced earlier. I want your product to be a success and I want to see us DBAs start writing positive vendor rants (well.. Asking a DBA, a pessimist by trade, to be positive is a bit much. Maybe we can at least stop with the negative rants if you take some steps with us).
My offer stands – shoot me an e-mail or leave a comment below and I’ll help you out with a quick question as time allows, I might be busy consulting for a client of yours having headaches with their SQL Server environment 😉