Administration

External Article

Making a more reliable and flexible sp_MSforeachdb

  • Article

While the system procedure sp_MSforeachdb is neither documented nor officially supported, most SQL Server professionals have used it at one time or another. This is typically for ad hoc maintenance tasks, but many people (myself included) have used this type of looping activity in permanent routines. Sadly, I have discovered instances where, under heavy load and/or with a large number of databases, the procedure can actually skip multiple catalogs with no error or warning message. Since this situation is not easily reproducible, and since Microsoft typically has no interest in fixing unsupported objects, this may be happening in your environment right now

2011-01-18

3,580 reads

Blogs

AI: Blog a Day – Day 4: Transformers – Encoder, Decoder, and Attention

By

Continuing from Day 3 where we covered LLM models open/closed and their parameters, Today...

Flyway Tips: Multiple Projects

By

One of the nice things about Flyway Desktop is that it helps you manage...

What DevOps Look Like in Microsoft Fabric

By

Microsoft Fabric (not to be confused with the more general term “fabric” in DevOps)...

Read the latest Blogs

Forums

Can an Azure App Service Managed Identity be used for SQL Login?

By jasona.work

I'm fairly certain I know the answer to this from digging into it yesterday,...

Azure Synapse database refresh

By Sreevathsa Mandli

Hi Team, I am trying to refresh the Azure Synapse Dedicated pool from production...

how to write this query?

By water490

hi everyone I am not sure how to write the query that will produce...

Visit the forum

Question of the Day

Fun with JSON I

I have some data in a table:

CREATE TABLE #test_data
(
    id INT PRIMARY KEY,
    name VARCHAR(100),
    birth_date DATE
);

-- Step 2: Insert rows  
INSERT INTO #test_data
VALUES
(1, 'Olivia', '2025-01-05'),
(2, 'Emma', '2025-03-02'),
(3, 'Liam', '2025-11-15'),
(4, 'Noah', '2025-12-22');
If I run this query, how many rows are returned?
SELECT *
FROM OPENJSON(
     (
         SELECT t.* FROM #test_data AS t FOR JSON PATH
     )
             ) t;

See possible answers