SQL Browser, what is it good for? Absolutely something!

Another great teaching opportunity landed in my lap this week. I got an email from a coworker looking for some help troubleshooting a SQL connection issue. He had an application server that could not connect to one of our SQL Servers.

We have a fairly complex and secure network environment. Multiple networks across multiple data centers with multiple firewalls in between. Because of this, one of the first things I typically look at is connectivity between application and database servers. The following question/answer session is how I attacked this particular problem, which led me to the actual issue.

[Read More]

How the SQL Agent Job schedule_uid broke my heart, and my jobs!

This is something that has caused me some grief in my life as a DBA. I hesitate to call it a bug, but this little gottcha resurfaced in a change that was submitted by a teammate just today. So I wanted to share while it was fresh in my mind.

When you script out a SQL Agent Job you’ll notice that the job schedule will have a schedule_uid parameter (providing your job has a schedule). The gottcha lies in that schedule_uid. If you create another job schedule with the same schedule_uid, it will overwrite the schedule for any jobs that are using it. i.e. Any other jobs that are using that schedule_uid will start using the new schedule. Normally I consider UID’s as very unique and chances of a collision are low, but if you do a fair amount of copying jobs between SQL Servers there’s a good chance this will bite you eventually. That’s what happened to us (more than once).

[Read More]

Ponderings of PASS Summit 2016

Summit 2013 in Charlotte, NC was my first and I remember it well. I went with 4 other people from my company but I was pretty new to the SQL PASS community (otherwise known as #sqlfamily). As a matter of fact I didn’t even know what #sqlfamily was at this point. I went to all of the PASS sponsored events like the welcome reception, the vendor party and yes the NASCAR party (which being a NASCAR fan was awesome). I went to all of the sessions and generally hung out with the other people from my company. I did get a taste of the after-life a bit, but for the most part I stayed in my comfort zone.

[Read More]

Convert User Friendly Retention to DateTime value with PowerShell

I think the title is fairly descriptive so let me put a little context around it for you. In my SQL Server environment we backup our databases to local disk. Unfortunately we don’t have unlimited storage for backups, which means we have to delete the old backups on a regular basis. A very typical practice in the SQL DBA world.

I was writing a new cmdlet for dbatools.io (Remove-DbaBackup to be released in October) and needed to decide how I wanted users to provide the retention for their SQL backups. I’ve seen a very wide range of backup retention requirements in my career (hours, days, weeks, months, years). I could have coded to the least common denominator of hours and greatly simplified my work, but I wanted to find a more flexible and elegant solution. The last thing I wanted was for people to have to fire up calc.exe, or worse yet having to take off their shoes to figure out how many hours were in a month. This is the function I came up with to create a more user friendly experience with my cmdlet.

[Read More]

Who owns your availability groups?

Availability groups have owners, just like every other object in SQL Server. The owner sid is found in sys.availability_replicas. The script below will map those sids to an actual principal name, and display the owners for all AG’s on the replica where you run it. You can run this on both the PRIMARY and SECONDARY replicas, which we have discovered may or may not be consistent. Regardless, you should see an owner for every AG on your SQL Server.

[Read More]

T-SQL Tuesday 83 - How are we still dealing with the same problems?

#TSQL2SDAY is a monthly blog party hosted by a different blogger each month. This blog party was started by Adam Machanic (blog|twitter). You can take part by posting your own participating post that fits the topic of the month and follows the requirements below. Additionally, if you are interested in hosting a future T-SQL Tuesday, contact Adam Machanic on his blog.

[Read More]

Speaking at SQL Saturday 513 in Albany, NY on July 30th - PowerShell and SQL Server

If you are a SQL Server professional and are interested in spending a day with a bunch of other like-minded individuals, SQL Saturday is for you. It’s a day chock full of SQL Server related presentations given by other members of the community.

Here is a glimpse of my presentation on SQL Server Automation using PowerShell taken from the SQL Saturday event page.

[Read More]

Comparing databases using SSDT

Another Twitter-born blog post! I love getting new ideas from the community. Real world ideas for solving real world problems!

The original question was “Does SQL Compare or others prods allow me to compare 1 “gold” db to the 57 “identical” databases in prod at once? asking for a friend ;)”. The original question and link to the twitter feed is off to the right.

[Read More]