The Dangers of Dependencies

Many of us working with databases know the problems of a single point of failure. We build HA/DR technologies into a lot of systems precisely because many of us know if the database goes down, a lot of stuff goes down. Broken software is easier to fix and rollback, but a broken database can be a much bigger problem.

We also know an overloaded server doesn’t handle a workload well, hence our quest for well-written SQL code, but we often lose that battle with developers.

In any case, as we move to a world where AI technology is used by many organizations, who often have a contract with a vendor to provide services, there is a potential issue. Imagine that you’ve setup workflows, maybe agentic loads and you depend on a company, say Anthropic, to provide those services. What if your organization gets banned?

That happened to a company (reported on Reddit). A user got a note from Anthropic, but his entire organization got banned. That’s quite a dependency where a user in your company could cause an issue. In some sense, that’s like someone in your company sending an email that gets your organization’s email blacklisted or has Google/Microsoft/etc. cutting off access. Imagine the disruption there?

Some of these companies providing AI services aren’t that large, and aren’t suited for the enterprise. Some of you are using vendors that might be contracting with these AI firms. Imagine your monitoring, DevOps, etc. service suddenly not working because they lost access to their AI services?

I’d like to assume this doesn’t happen with the very large cloud vendors, but who knows. I’d like to think that not only enterprises, but even smaller companies don’t lose access because of the actions of one person. Or if they do, there’s any way way to get a response from customer service. However, I also know that Google, Amazon, and Microsoft have made it harder to get an answer from a real person.

I didn’t talk about this recently when presenting on local AI models, but I think the future might be companies having more control over their AI tech, running them the same way we run servers in the cloud, in IaaS, with more effort required, but more controllable by the organization.

Steve Jones

Listen to the podcast at Libsyn, Spotify, or iTunes.

Note, podcasts are only available for a limited time online.

Posted in Editorial | Tagged | Leave a comment

A Cloud Dependency Failure from Amazon

I went to sleep while reading a Kindle book on my phone. I know because my hand dropped and the phone knocked me in the forehead. I set it on the nightstand and went to sleep again.

I woke up and was planning on reading for a few minutes before starting my Monday. When I opened the Kindle app, it asked me to log in. When I did, Amazon said my account was locked and I needed to check an email. I did, and found one from Amazon.co.uk questioning a purchase I made and asking for me to very an order number and the last 2 digits of a card to charge.

I wasn’t sure what to do, but since my wife was complaining about her Audible account, I knew I needed to do something.

I didn’t like the email for multiple security reasons, including not giving me a way to verify the email online. Checking Amazon’s help page said I should have a link in the email to a form. Even when I called the Amazon help line, they said I should have a link when I logged in to do so. I didn’t on either the .com or .co.uk sites, but Amazon Customer Service eventually unlocked my account.

I wrote about Dependencies in today’s editorial, inspired by this story and the Reddit story linked in there about losing access to Claude. That’s scrary, especially in this new automated world where AI agents might be examining activity and undertake this type of action to prevent other issues. It’s an overreaching type of judgment that starts to expose the dangers of a highly interconnected world.

I get Amazon might want to ensure my purchase was legitimate and perhaps prevent future orders, but also locking my content away (books, movies, audio, etc.) because of a shopping issue seems extreme.

It’s certainly my issue, and I’m not sure how I untangle things for the future, but it does make me think about limiting dependencies a bit more in the future. Or at least understanding the dangers of too much on one service.

Whether that’s the books I read or the services my company gets from any one vendor.

Posted in Blog | Tagged , , , | Leave a comment

Who is Using CAGs?

While talking to a customer a few weeks ago, they mentioned that they used Contained Availability Groups (CAG) everywhere. They also said they were amazing and wondered why everyone wasn’t using them in other environments. Of course, I questioned the “everywhere”, which turned out to be more of a default for new systems than a standard across all systems. That’s likely true of most things since it’s rare we get to update/patch/set something across an environment of any size and ensure every system is the same.

Still, setting a CAG as a default makes some sense for enterprises. This ensures that in an HA situation I have my logins, jobs, etc. already on a secondary node. That’s been one of the challenges of using lightly linked systems that only sync up database level information. Log shipping, Replication, Availability Groups can all work to keep a secondary ready to take over, but they all miss information that is stored in master or msdb.

That’s the stuff we have to sync manually. It can be done, but it’s work. We’ve had numerous articles at SQL Server Central on syncing logins and other objects outside of your database.

Today I wonder how many of you are using CAGs in your environment? As the default for new systems? Moving all ones to this setup?

Or do you even know about them? They are relatively new, since SQL Server 2022, and I have to admit I’ve heard relatively little about them in the community or from customers. Many people use Availability Groups, but not many seem to use Contained Availability Groups.

Maybe another question is would you want to use them? There are a few things you have to consider and they can be slightly tricky, but they do some reduce some of the work when you have failovers. Of course, like any other technology, you need to test that your failovers work and you understand  the ins and outs of how they work, just in case that switch isn’t as smooth as you expect.

It should be, but sometimes things break. If they do, you want to ensure you, or someone on your staff, knows how to fix them.

Steve Jones

Listen to the podcast at Libsyn, Spotify, or iTunes.

Note, podcasts are only available for a limited time online.

Posted in Editorial | Tagged , , | Leave a comment

A Redgate Data Modeler Gotcha with Relationships

This happened to me recently after being busy with non-data modeling tasks for a few weeks. I went to add a relationship and was confused about the behavior. Read on to see what happened and what I did.

This is part of a series on Redgate Data Modeler.

Adding a Relationship

I opened one of my models and saw something like this. Note that the Article and ArticleTag entities aren’t related.

2026-04_0220

I decided to add a relationship. This is a Many to Many, so I clicked on that icon in the toolbar.

2026-04_0221

I then clicked on the Article entity and saw this. It’s a self-referencing relationship.

2026-04_0222

What??? I assumed I’d click one entity, then the other. I tried grabbing various elements of the relationship to move them, but nothing worked. I could move them around within the relationship, but not to another entity.

2026-04_0223

I deleted and added this a few times before I decided to check the docs. On this page for relationships, I found my mistake. There is this quote: “If you’ve already selected the tool, simply drag from one entity to another.”

Aha.

If I click the toolbar relationship icon, and then drag from one to the other, it works.

2026-04_0224

I suspect this is an artifact of the web controls, but it was weird for me to not be able to alter the relationship targets. Even in the right properties pane, I can’t change this.

2026-04_0225

Summary

A simple thing, but not quite as intuitive as I’d like. However, one needs to learn to use tools, which means reading docs or using Claude/ChatGPT andfingers crossed

This is a reminder to drag relationships in your Redgate Data Modeler models and don’t get away from modeling for weeks, like I did.

Give Redgate Data Modeler a try and see if it helps you and your team get a handle on your database.

Video Walkthrough

Here’s a short video of my working with Redgate Data Modeler and changing cardinality.

Posted in Blog | Tagged , , | Leave a comment