Distributed Availability Group Health: T-SQL and Zabbix
Spotting synchronization disconnects between a primary and a secondary data center in a distributed availability group configuration can be hard, so here are valuable tools to help you with it
Spotting synchronization disconnects between a primary and a secondary data center in a distributed availability group configuration can be hard, so here are valuable tools to help you with it
The best way to improve your database performance is with better code. We all know that, but few of us actually end up making those changes.
Running Postgres in Docker is great for a quick test but what if you want it to behave like a proper, production-style setup with SSL encryption, certificate-based authentication, persistent volumes, and custom configurations? In this article, we’ll find out how
When you must rollback a deployment of changes, is that a failure of the process? The development effort? Or something else?
In this level of the Stairway to Azure SQL Hyperscale we learn about the read-only layer that speeds up queries.
Searching for a string in database tables has been discussed over the years. There are several approaches to the problem (see References at the end of the article). See how to use SQL to find a string in different types of SQL Server objects and data.
This article shows how you can find which objects in your database might not be valid after schema changes.
When should a DBA get fired? Steve Jones thinks it should be rare and gives you two cases.
SQL Server 2025 introduces a new sys.dm_os_memory_health_history view to make it easier for meatbags like you and robots like Copilot to know if the SQL Server has been under memory pressure recently.
The Koi Security team recently uncovered the first known, malicious MCP server in the wild: a package called postmark-mcp, downloaded over 1,500 times per week, that silently BCCs every outgoing email to an attacker-controlled domain. So, what happened? High-level, a lot: The attacker cloned the legitimate Postmark MCP repository, made one small but nefarious change […]
It is Friday, the queries are running, and nobody is watching the bill. That...
By Steve Jones
Annabel retired from Redgate Software this week. Across most of my career at Redgate,...
By Tim Radney
As a SQL Server DBA with years of experience tuning production environments, I’ve seen...
Comments posted to this topic are about the item What is the Cloud?
Comments posted to this topic are about the item Changing the Schema
Comments posted to this topic are about the item Index Fragmentation Explained: Page Splits,...
I set up a few users on my SQL Server 2022 instance.
CREATE LOGIN User1 WITH PASSWORD = 'Demo12#1' CREATE USER User1 FOR LOGIN User1 GO CREATE LOGIN User2 WITH PASSWORD = 'Demo12#2' CREATE USER User2 FOR LOGIN User2 GO CREATE LOGIN User3 WITH PASSWORD = 'Demo12#3' CREATE USER User3 FOR LOGIN User3 GOI then created a schema that one of them owned. Under this schema, I added a table with some data.
CREATE SCHEMA MySchema AUTHORIZATION User1
GO
CREATE TABLE Myschema.MyTable(myid INT)
GO
INSERT MySchema.MyTable
(
myid
)
VALUES
(1), (2), (3)
GO
SELECT * FROM MySchema.MyTable
GO
I granted rights and verified that User2 could access this table.
GRANT SELECT ON Myschema.MyTable TO User2 GO SETUSER 'USER2' GO SELECT * FROM MySchema.MyTable GOThis worked. Now, I move this schema to a new user.
ALTER AUTHORIZATION ON SCHEMA::Myschema TO User3; GOWhat happens with this code?
SETUSER 'USER2' GO SELECT * FROM MySchema.MyTable GOSee possible answers