Time To Learn Git

Redgate Software
I love this quote from Kevin Hill (and not because he mentions me): 3 things I can no longer justify ignoring: #dbatools Git and #Docker for my dev SQL work@cl@sqldbawithbeard@Kendra_Little and @unclebiguns@GFritchey, I blame you 🤪😂 There’s more but those are top 3— SQL Cyclist (@Kevin3NF) November 9, 2019 The reason being, he's right. I'm spending time rewriting some of my own sample code to use DBATools. I'll try to post some of it here when I get it together. I've been screaming about the importance of containers in general and Docker in particular for quite a while now. Finally, I use Git. So should you. However, getting started with Git, especially in a database, isn't that easy. Kendra Little You might notice Kendra's name in the tweet above. She's one of the smarter, more capable people…
Read More

DB Automation with Azure DevOps

Redgate Software
I sincerely believe the key to your future as a DBA is your ability to automate everything you do. However, the single hardest thing that you have to do is keep up with the changing business and IT environment, which means, deployments. Lots of deployments. How are you going to get that done? Cathrine Wilhelmsen I have to admit, publicly, when I first met Cathrine, I was not the nicest person. I just couldn't believe that this person who sounded like they were from Ohio was actually Norwegian. I asked for her drivers license. Thankfully, Cathrine forgave me my rudeness and I'm very grateful for that. The reason I'm grateful is, she's seriously on top of her game when it comes to automation. At the upcoming Redgate Streamed event, April…
Read More

Being an Efficient DBA

Redgate Software
Or database developer, report writer, whatever. SQL Server, SQL Server Management Studio, and all the tools provide a bunch of ways to get things done. However, some ways are more efficient than others. Wouldn't it be nice to have all the cool little tips and tricks that can make you more efficient while working with SQL Server? I can help. Please, go check out the agenda for Redgate Streamed, taking place April 1-3. Andy Mallon OK. I can't help, but I know who can, Andy Mallon. I saw this presentation a while back and I was blown away. First up, there is stuff in there to learn for just about everyone. Cool tips that are really useful and will make you more efficient when working with SQL Server. Next, Andy…
Read More

Extended Events: Live Data Explorer, Grouping

SQL Server, You Can't Do That In Profiler
Of all the things that Extended Events does, I've found the ability to quickly and easily gather a little bit of data and then use the Data Explorer window Live Data grouping to aggregate it to be one of the greatest. Sure, if we're talking about using Extended Events on a busy production server, this method probably isn't going to work well. There, you are going to be better off querying the XML (I know, I know, but I have ways to help there too). But in development, when doing testing and query tuning, the Live Data window is a gift of the gods on par with fire or beer (it's not as good as whiskey). Live Data Grouping Let's imagine a scenario like this. You're working on some query…
Read More

Containers and DevOps

Redgate Software
Over the last couple of years, one of these single most exciting technologies to come out around the Data Platform has been containers. You may not see them change your production setup. However, I guarantee, you're very likely to see them radically change your development process. After all, in a matter of moments, you can have an instance of SQL Server to start development and testing against. Rob Richardson I'm blessed by being surrounded by smart people. One of them that I've been able to interact with a bunch of times is Rob Richardson. I saw him present a session on containers about three years ago. I have to say, at the time, all I could say was: Neat! It took me another year, with several more presentations from other…
Read More

Missing #SQLFamily? Check This Out.

Uncategorized
I am an introvert. Lots of people don't believe it, but it's true. However, I really do love getting to see my #SQLFamily all over the world in my travels with Redgate Software. Unfortunately, our current situation is such that almost no one is travelling and all the events are cancelled or postponed. Redgate Software is here to help. Redgate Streamed We've decided to pull together a virtual event with a bunch of great speakers, people you know and love, and put on an educational event that is absolutely community focused. Yeah, OK, it's virtual. However, we're going to do all we can to make it as much like an in-person event as possible. We're going to connect up a ton of different software to make it possible for the…
Read More
Extended Events: Live Data Explorer, Getting Started

Extended Events: Live Data Explorer, Getting Started

SQL Server, You Can't Do That In Profiler
One reason a lot of people don't like Extended Events is because the output is in XML. Let's face it, XML is a pain in the bottom. However, there are a bunch of ways around dealing with the XML data. The first, and easiest, is to ignore it completely and use the Live Data window built into SQL Server Management Studio. I've written about the Live Data window before, and I've been using it throughout this series of posts on Extended Events. There's a lot more to this tool than is immediately apparent. Today, we're going to explore the basics around this tool Live Data There are two easy ways to get the Live Data window open. The first, for any Extended Event session that's running, you can right click…
Read More

Extended Events: system_health and a Long Running Query

SQL Server, You Can't Do That In Profiler
Wouldn't it be great to just quickly and easily take a look at your system to see if you had any queries that ran for a long time, but, without actually doing any work to capture query metrics? Oh, yeah, I can do that right now, and so can you. All we need is something that is built into every single server you currently have under management (sorry, not Azure SQL Database) that is SQL Server 2008 or better: system_health system_health Extended Event Session The system_health Extended Events session is very well documented by Microsoft here. I've talked about it before, in relation to Azure SQL Database, and, on the same topic we're going over today, long running queries and waits (cause if you have a long running query, you…
Read More

A Rose By Any Other Name

SQL Server
There is only one kind of execution plan within SQL Server. I've said this several times on this blog. Now, I'd like you to go and read this excellent blog post by Hugo Kornelis. Hugo, Erin Stellato and I are working with Microsoft to hopefully, at long last, make this issue clear. In the grand scheme of life, like Shakespeare's rose, the name we use for execution plans doesn't really matter. However, the fact is, language really does matter. Clarity is so important in communications, of any kind. When we try to teach execution plans, the confusion caused by the old naming standards is one of the first things we have to spend time getting people to un-learn. I fully support this newly proposed naming standard: Execution PlanExecution Plan Plus…
Read More

Query Store, Plan Forcing, and DROP/CREATE

SQL Server, T-SQL
I absolutely love Query Store and the ability it provides to force a plan is amazing. However, there are a lot of little gotchas in this functionality. I just recently found one that has quite a far reaching effect. Let's talk about what happens when you DROP and then CREATE a stored procedure. Query Store and Plan Forcing Let's quickly recap how Query Store works and how Plan Forcing works. First, Query Store is driven by query, not by procedure, not by batch, but by query. Second, plan forcing is also by query. However, there are queries and there are queries. Let's take this as an example: CREATE PROC dbo.AddressByCity @City NVARCHAR(30) AS BEGIN SELECT a.AddressID, a.AddressLine1, a.AddressLine2, a.City, sp.Name AS StateProvinceName, a.PostalCode FROM Person.Address AS a JOIN Person.StateProvince AS…
Read More