AWS RDS Restore To A Point In Time

AWS, PostgreSQL, RDS
The single most important part of backups are not backups. The single most important part of backups are restores. It doesn't matter a lick if you have 100, flawless backups of your database if you can't restore one of them. So, let's get started and talk about how perform an RDS restore. RDS Restore I'm going to use the portal because I like how GUIs allow me to easily illustrate what I'm doing. However, I'll probably do another post soon on how to use the command line to do this. That is the better approach in most cases. If you connect up to a database within RDS, you get a menu, Actions: Right there, near the bottom is what we're looking for, Restore to point in time. Clicking on this…
Read More

AWS RDS Backups

AWS, PostgreSQL, RDS
One of the things I love the most about Platform as a Service when it comes to data is the fact that you get RDS backups, built in. Go to the forums. Evidently, backups are one, or more, of the following:a) insanely difficult, so no one does themb) not considered important so no one does themc) not necessary in modern systems because of X technology so no one does them Then, someone deletes a row the business wants back. Someone drops a table. Someone drops a database. Then you find that one, or more, of the following is true:a) no one has ever tried to restore from X technology and you can'tb) come to find out, X technology doesn't really do backupsc) backups are still fundamental to protecting data Enter,…
Read More

Distributed Replay: The Little Engine That Almost Could

SQL Server
Honestly, sincerely, no kidding, I love Distributed Replay. Yes, I get it. Proof positive I'm an idiot. As we needed proof. To be a little fair to me, I love what Distributed Replay could have been, with a little more love. However, fact is, it's on the deprecation list for 2022. Which means, what minimal amount of love, if any, that Microsoft was giving to it, it's all gone, forever. Unlike the Little Engine That Could, turns out that Distributed Replay was the Little Engine That Almost Could, But Didn't. Really Didn't. Let's discuss it a bit. Distributed Replay The concept is wonderful. Capture a bunch of queries from your production system. Replay them on a non-production system for testing. Add in the idea of being able to chain together…
Read More

Extended Events for Anything but Query Tuning: Object Changes

SQL Server
I hear this one all the time: How do I find out who implemented object changes? I also get: Can I see the query that caused object changes? Let's take a look at how you might audit who is doing what and how to your databases. Object Changes in Extended Events If you open up the New Session window for Extended Events in SSMS, the easy way to track down events is to simply type into the box. Here, we care about capturing object changes, so I'm going to simply type object, then scroll a bit: There we are object_altered, object_created and object_deleted. These are the same events that you would see in Trace. Let's use the GUI and take a quick look at what fields they capture: That's in…
Read More

Thank You Andy!

Uncategorized
I remember going into Andy Leonard's session at PASS Summit in Denver. I'm not going to lie, it was kind of sparsely attended, so I got to sit up front and ask questions. Andy answered 'em like the pro that he is and then we got to talking afterwards. I'm honored to say we became friends. Thank you Andy! Andy is one of those people who is quick to try stuff out and then share it with others. He introduced me to Google Hangouts and both of us experimented with them quite a lot, sometimes being the only person in each other's Hangout. Which means we got to talk quite a bit. Thanks Andy. Go read Andy's blog sometime. Yeah, you're going to learn some technical content. However, you're also…
Read More

Learning PostgreSQL: The Tools

AWS, PostgreSQL, RDS
In case you don't know, I've been writing a series of articles over on Simple-Talk as I learn PostgreSQL. It's all from the point of view of a SQL Server person, expanding into a new technology. In other words, a true story. I thought I'd take a moment here on my own blog to talk about the tools I'm using and why I chose those. AWS RDS Let's establish up front, I'm lazy. Very lazy. So yeah, I'm trying to learn this new technology, but I'm going to find as many ways to use the knowledge, skills & tools I already have as I can. Now, I first started learning PostgreSQL because I wanted to learn more about how Flyway works. Further, as I also needed to learn how to…
Read More

Thank You Tim!

Uncategorized
Ah, Tim Ford. I remember the time we were sitting at Ruth Kriss Steakhouse trying to figure out which of the two of us was the dumbest person in the room. Just so we're clear, it was me. Anyway, we've been friends for a long time. Thanks Tim! Thanks for being insane enough to think that teaching tech on a cruise was a good idea. Then, being so utterly 'round the bend that you actually did it. Multiple times. Successfully. And I got to take part in it. Thank you Tim! Like with Wendy, there are no words to express how I feel about our time on the PASS board. Thank you. We've spent so much time together, honestly, it's hard to pick out all the ways you've been kind…
Read More

Database Fundamentals #32: Create Unique Constraints with T-SQL

Database Fundamentals, SQL Server
In the last Database Fundamentals post, I explained what a unique constraint was and how you can create them using the GUI. Using TSQL to create a constraint is very similar to the primary key and foreign key constraints that you created in this post. You can use either the ALTER TABLE command or create the constraint when you make the table with the CREATE TABLE command. Using CREATE TABLE to Make a Unique Constraint There aren’t any new tables we need for this post, so we’ll create a table that we can drop immediately as soon as we’re done experimenting. You should already be familiar with the CREATE TABLE statement (or follow the link above): CREATE TABLE dbo.ConstraintTest ( TestName VARCHAR(50), CONSTRAINT UniqueName UNIQUE (TestName) ); This script creates…
Read More

Thank You Wendy!

Uncategorized
I honestly don't know when or how I met Wendy Pastrick, but I'm so happy I did. Wendy and I have been friends for a very long time. Thank you Wendy! I think the biggest thing I can say about Wendy is that she builds communities. I suspect no one knows just how much she has done, behind the scenes at her local events in Chicago, at the national and international level, all to get people together to share & learn from one another. Wendy has been one of the guiding lights and foundational persons, and I know, not enough people are aware. For almost literally toiling in darkness, thank you Wendy. Wendy and I have not shared a technical track the way I have with others. Her specialties &…
Read More

Sabbatical!

Professional Development
Redgate Software has a policy wherein every 5 years, employees receive a 6-week paid sabbatical. Well, I'm up to year 11 (I skipped a year my first time), so it's that time for me. First, thank you Redgate. I've loved working for you for 11 years. I'm looking forward to just as many more. Second, I've already written and scheduled a bunch of blog posts, so you'll still be seeing activity here. Third, I'm supposed to completely disconnect, but I won't. I'll be checking email, posts & messages, but I'll be slow on the response. Apologies if I don't get back to you quickly. See you in 7 weeks (I tacked on some vacation time. HA!).
Read More