The Choices We Make

DevOps, Professional Development
If you keep your head up and look around you'll see the choices people make all the time. I saw a recent example online in this story about two experiences, shopping at Home Depot vs. Lowes (very minor NSFW warning due to language). I don't want to get into a debate about the two stores. That's not the point. The point is, we all have two sets of priorities that we have to serve. The first set of priorities are the ones immediate to us, the rules and regulations we create and enforce around our jobs. The second set of priorities are the ones that are at least a step removed from us, the service and services we supply to our "customers". Make no mistake, we're all serving customers to…
Read More

I Love Entity Framework

DevOps
I love Entity Framework. I also like (not love) nHibernate. That's right, as a DBA and data professional, I'm telling you I love Object/Relational Mapping tools (ORM). I think this is a technology set that the DBA needs to more tightly embrace. Let me tell you why. Most of the Queries I know that the biggest pushback against Entity Framework (EF) and it's fellow ORM tools is that they generate crap code. I know this to be true. I've seen it. ORM tools can, and do, generate seriously poor T-SQL. That's not to mention the N+1 problem and a few others. However, as you see from the article in that link, these problems and how to avoid them are very well defined. You don't have to suffer from the issues.…
Read More

T-SQL Tuesday #091 – Round-Up

DevOps
Thank you to everyone who participated in T-SQL Tuesday #091 which was on databases and DevOps. As I anticipated, this brought out quite a bit of variety on the posts. This is because DevOps is still... not quite cooked...(?) in many peoples minds. I think with the range of posts we saw here, it'll be a lot more clear to those who are just getting an introduction to it. Here are the posts (in no particular order) and a few comments on each: Databases and DevOps: Rob Farley - I like Rob's approach to this intro to DevOps. He's a consultant. It'd sure be nice if you had the protections that DevOps offers in front of your systems before he starts recommending changes. What Playing at Minecraft has Taught Me…
Read More

DevOps and Visual Studio

DevOps
The hardest part about implementing DevOps is not the tools you choose, but the processes you use to make DevOps work. That said, you do need to think about the tools you're going to use to automate those processes. Frequently the emphasis is on third party tools, but it doesn't always have to be. Microsoft's Visual Studio has a number of tools that you can use to automate your DevOps methods. Visual Studio Team Services Connecting a project into Team Services opens up the world of DevOps pretty handily. You can host this all locally and do an install to a server to support it. With more and more of us working with teams that span continents and oceans, it probably makes more sense to use the online version. There's…
Read More

T-SQL Tuesday #091 – Databases and DevOps

DevOps
Implementing DevOps with databases presents a unique set of challenges. However, just because something might be hard doesn't mean that it shouldn't be done. I had the opportunity to work with a team of developers, database developers and DBAs under a management team that all agreed on the common goal we had, delivering more, better performing applications, faster. We didn't know it at the time, but we were doing DevOps. DevOps gets a bad name because, well, the problems that DevOps sets out to solve, poor communication, bad teamwork, dysfunctional development and badly configured and maintained processes, are  done by the same team that attempts to implement DevOps. However, they look on it as a purely mechanical switch that they throw, assign some poor person to the role of DevOps…
Read More

Help Me, Help You, Deliver DevOps

DevOps
I believe in DevOps. Actually, that's a pretty horrible way to put it. It's not about belief, like keeping Tinkerbell alive. I have successfully worked within an environment that implemented a DevOps approach to development, deployment and maintenance. I also provide classes and consulting on how to approach DevOps from the Ops perspective as well as writing books on the topic. Because I've seen the DevOps approach work, and work well, despite the fact that my principal job description is in the Ops side of DevOps, I am a very strong and passionate advocate for DevOps. But! DevOps Despite the fact that I absolutely support the concepts of DevOps, moving development & deployment into the production space, and moving operations into better support of the development space, I frequently find…
Read More

SQL Clone and a Little Competition

Database Lifecycle Management, DevOps, Red Gate Software
Redgate has released a new product, SQL Clone. I've already talked about how excited I am about it. Now, it's your turn to get excited. Our developers evidently had too much time on their hands after building SQL Clone. They created a skill in Alexa that lets you clone a database using voice commands. In fact, I was recently visiting Redgate HQ and was able to try it out and you can watch here. [embed]https://www.youtube.com/watch?v=1zI2Oj9EZM8&feature=youtu.be[/embed] Now, in celebration of the launch of SQL Clone, we want to enable you to do some voice commands of your own. We're giving away five Amazon Echo Dots and one copy of SQL Clone to an overall winner. To enter, go into the comments and let us know what skill you would like to build for Alexa…
Read More

PowerShell to Test a Query

DevOps, PowerShell, SQL Server 2005, SQL Server 2008, SQL Server 2012, SQL Server 2014, SQL Server 2016, TSQL
So you want to do some tuning, but you're not sure how to test a query on it's performance. Not a problem. Here's a very rough script that I use to do some recent testing. This script to test a query is post #11 of the #enterylevel #iwanttohelp effort started by Tim Ford (b|t). Read about it here. The Script The goal here is to load a bunch of parameter values from one table and then use those values to run a query to test it. To do this I connect up to my SQL Server instance, naturally. Then I retrieve the values I'm interested in. I set up the query I want to test. Finally a loop through the data set, calling the query once for each value. [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") | out-null #…
Read More

The Importance of a Full Backup in SQL Server

Database Lifecycle Management, DevOps, Professional Development, SQL Server 2005, SQL Server 2008, SQL Server 2012, SQL Server 2014, SQL Server 2016
This is the first of 12 posts this year in support of Tim Ford's #iwanttohelp initiative. These will be completely 100 level, introductory blog posts meant to help people that are just getting started as data professionals. I'll try to cover several different topics over the year, but felt I should start with what I think is the most important, backups. It is impossible to overstate the importance of getting a good backup of your SQL Server databases. A backup is the most fundamental of protections for the information on which your business is dependent. Since SQL Server is a service, it manages it's own files. Because of this, you can't just copy the *.mdb file where your data is stored. Instead, you must run a process, usually through the…
Read More

Benefits from Data Lifecycle Management

Database Lifecycle Management, DevOps
I spend a lot of time talking about the need for automation within your databases, especially in support of development, deployment, and through process management. It's because I learned the hard way just how important this stuff is. It took a pretty strong developer (in the sense of abilities, he didn't beat me up) to convince me that I was doing database development the wrong way. However, once he made me see the light, I was like one of the Blues Brothers, on a mission. However, I think this is one of the hardest parts to get people to understand. If you have a mostly, or completely, manual deployment process, you're experiencing pain from the inefficiencies that causes. However, it's a pain that's just embedded into the organization so much, that…
Read More