Articles

External Article

How to Script Dimensions with data build tool (dbt) Macros

In this article, we’ll revisit the dimension models we created. We wrote the entire SQL statement for the dimension by hand, and the dimensions themselves were very rudimentary; they lacked a surrogate key and there were no audit columns (such as insert date and update date). We’ll show you how we can expand the dimensions using Jinja, but also how we can minimize development effort by baking reusable patterns into the Jinja code.

2025-09-03

SQLServerCentral Article

Advanced SQL Server Page Forensics: Detecting Page Splits and Allocations with DBCC PAGE

Page splits are an often-overlooked performance killer in SQL Server. In this article, we take a forensic look at how serial inserts differ from mid-table inserts, revealing why inserting rows out of order causes hidden page splits, increased IO, and fragmentation. Using a wide-column table, we demonstrate both scenarios and decode their impact with page-level analysis.

(1)

You rated this post out of 5. Change rating

2025-09-02 (first published: )

2,641 reads

SQLServerCentral Article

Deprecated but Forgotten: Why SQL Server’s Text, NText, and Image Data Types Still Haunt Your Systems

TEXT, NTEXT, and IMAGE columns have been deprecated for nearly two decades, yet they still silently haunt many SQL Server environments. This article explains their hidden limitations with practical demos and shows why migrating to VARCHAR(MAX), NVARCHAR(MAX), and VARBINARY(MAX) is critical for modern performance, maintainability, and future upgrades.

(4)

You rated this post out of 5. Change rating

2025-09-02 (first published: )

3,097 reads

SQLServerCentral Article

How to Access and Use Azure Key Vault Secrets in an Azure Devops Pipeline

When you run a CI/CD pipeline, you often need confidential values like passwords, authentication tokens, service principal secrets etc. when you want to deploy a certain artefact. You don’t want to store those secrets directly in your pipelines as this might pose a considerable security leak. Instead, you either store them as secret variables, or […]

You rated this post out of 5. Change rating

2025-09-02 (first published: )

1,434 reads

SQLServerCentral Article

How to create your custom GPT SQL Expert

Introduction ChatGPT includes custom GPTs. You can create your own custom GPT. In this article, we will demonstrate how to create a custom GPT expert in SQL Server. Requirements To create your own GPT, you need to use the paid version of ChatGPT. First, go to ChatGPT. Secondly, if you don’t have the paid version, […]

(1)

You rated this post out of 5. Change rating

2025-09-02 (first published: )

4,909 reads

SQLServerCentral Article

MongoDB and NodeJS in action

Overview MongoDB is a popular NoSQL database used for building modern, scalable applications. In this article, we’ll cover how to set up MongoDB on Windows and connect to it using Node.js. We will also perform some basic Create, Read, Update, and Delete (CRUD) operations to ensure we understand fully on how Node.js can be made […]

You rated this post out of 5. Change rating

2025-09-02 (first published: )

190 reads

Blogs

Five Ways Redshift Serverless Quietly Eats Your Budget

By

It is Friday, the queries are running, and nobody is watching the bill. That...

A Career of Memories

By

Annabel retired from Redgate Software this week. Across most of my career at Redgate,...

Rethinking Index Maintenance: Why avg_fragmentation_in_percent Is Outdated and What You Should Do Instead

By

As a SQL Server DBA with years of experience tuning production environments, I’ve seen...

Read the latest Blogs

Forums

What is the Cloud?

By Steve Jones - SSC Editor

Comments posted to this topic are about the item What is the Cloud?

Changing the Schema

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Changing the Schema

Index Fragmentation Explained: Page Splits, Logical Reads, and What to Do

By Sanket Parmar

Comments posted to this topic are about the item Index Fragmentation Explained: Page Splits,...

Visit the forum

Question of the Day

Changing the Schema

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
GO
I 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
GO
This worked. Now, I move this schema to a new user.
ALTER AUTHORIZATION ON SCHEMA::Myschema TO User3;
GO
What happens with this code?
SETUSER 'USER2'
GO
SELECT * FROM MySchema.MyTable
GO

See possible answers