Kevin3NF

Kevin Hill is a career SQL Server DBA living in Dallas, TX. His specialities include HA/DR, Best Practice configuration, Performance tuning and teaching new and accidental DBAs
  • Interests: Cycling, family, sci-fi, DBA stuff

Blog Post

Do Full Backups Break Log Shipping?

TLDR: Nope. Keep on doing your full backups. Make sure that any databases you Log Ship are NOT also doing log backups in your SQL Maintenance Plans, Ola Jobs,...

2021-10-22 (first published: )

334 reads

Blog Post

How old are those stats?

SQL Server maintains a variety of stats about all sort of performance items. Index usage (or missing indexes) Query performance Corrupt pages Disk IO performance Way more than I...

2021-10-11 (first published: )

313 reads

Blog Post

TIL: Backup-DbaDatabase

(This post comes from one of our Junior DBAs – @SQLDork) I’m learning how to use dbatools. Today’s command: Backup-DbaDatabase I’m using the 64-bit PowerShell ISE (running as administrator),...

2021-04-26 (first published: )

554 reads

Blogs

T-SQL Tuesday #203: Risk and Reward

By

This is timely, as I’m currently on a boat in the Adriatic taking a...

dataMinds Connect 2026 – Slides & Scripts

By

You can find the slides and SQL scripts for my session “Spice up your...

How to Clear the SSMS Cache (SSMS 21 and Later)

By

How to Clear the SSMS Cache (SSMS 21 and Later) Updated...

Read the latest Blogs

Forums

Using CHOOSE()

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Using CHOOSE()

Re-Seeding a Broken Log Shipping Secondary (Without Touching the Primary)

By LukaMK

Comments posted to this topic are about the item Re-Seeding a Broken Log Shipping...

The DBA is Dead! Long Live the !

By Grant Fritchey

Comments posted to this topic are about the item The DBA is Dead! Long...

Visit the forum

Question of the Day

Using CHOOSE()

We have this code that sets some status values and then queries them using the CHOOSE() function in SQL Server 2025.

CREATE TABLE Status
(
    StatusID INT,
    StatusDescription VARCHAR(20)
);
GO
INSERT dbo.Status
(
    StatusID,
    StatusDescription
)
VALUES
(0, 'Uncategorized'),
(1, 'Active'),
(2, 'Inactive'),
(3, 'Temp');

GO
SELECT CHOOSE(StatusID, 'Unknown', 'Active', 'Inactive', 'Temporary')
FROM Status;
When the SELECT runs, what is returned?

See possible answers