Memories of Andrew Clarke, by Simon Galbraith
Simon Galbraith, co-founder of Redgate and one of the creators of Simple Talk, remembers Andrew Clarke
2025-10-24
Simon Galbraith, co-founder of Redgate and one of the creators of Simple Talk, remembers Andrew Clarke
2025-10-24
This article explores the 'shadow copy' and 'disk virtualization' services built into the Windows operating system and explains a basic solution demonstrating how the technology is used to copy the data and log files for a live SQL Server database into an 'image', from which we can create multiple, lightweight copies, or clones, of the original database.
2025-10-22 (first published: 2021-04-29)
6,149 reads
Learn how indexes can help you with more than just querying data.
2025-10-22
17,227 reads
I’ve seen the SQL EXISTS keyword in Microsoft SQL Server T-SQL code and don’t understand it well. What does it do? How do I use it? Are there best practices around SQL IF EXISTS?
2025-10-22
Learn how ledger databases and ledger tables work in SQL Server 2022.
2025-10-20
16,543 reads
VIEWs are an undervalued and underused feature in SQL. They basically consist of a query that has been given a name, and a parameter list, so can be used like an inline macro. Technically, you’re supposed to think of it as a virtual table.
2025-10-20
This article shows how to use Python to create a REST API for your application that developers can use to access the database.
2025-10-17
5,595 reads
Most SQL bulk insert and SQL Server openrowset tutorials skip file access issues that can stop imports cold. Both the bulk insert statement and openrowset function rely on the SQL Server service account to read a source file. The SQL Server service account must have read permission on the file or its folder. It is also convenient to have read & execute as well as list folder content permissions.
2025-10-17
I have never seen a T-SQL feature that people love as much as NOLOCK.
2025-10-15
Learn how to migrate SSRS reports to a new server using SSRS Reports Migration Wizard. Step-by-step guide to move reports, data sources, and datasets in just a few clicks.
2025-10-13
4,883 reads
By Vinay Thakur
Continuing from Day 3 where we covered LLM models open/closed and their parameters, Today...
By Steve Jones
One of the nice things about Flyway Desktop is that it helps you manage...
By HeyMo0sh
Microsoft Fabric (not to be confused with the more general term “fabric” in DevOps)...
I'm fairly certain I know the answer to this from digging into it yesterday,...
Hi Team, I am trying to refresh the Azure Synapse Dedicated pool from production...
hi everyone I am not sure how to write the query that will produce...
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