Problems displaying this newsletter? View online.
SQL Server Central
Featured Contents
Question of the Day
 
The Voice of the DBA
 

Building Great Software

Most of us will work on software for our organization, and we might not want to or care about the end result being great. We do want it to work, and we want clients to find it useful. If we have external customers using our systems, maybe we want it to be great. In most of my experience, people are often proud of their work, sometimes ashamed, but not many people spend a lot of time making their corporate applications great.

Often because we don't have (or aren't allowed) the time to do so.

Basecamp is a popular SaaS project management solution, and Hey is a reimagined email service that many people love. One of the founders of the company wrote an interesting post on software being built that starts with this sentence: "The speed at which a product is developed doesn't inherently make the product better or worse."

It's a bit of a shot at AI, but it also goes into the fact that we often measure our software process in ways that aren't about the output. Most organizations have abandoned lines of code as a metric, but I do see commits or PRs being used, as well as other metrics. Trying to decide if your developers are effective isn't a horrible idea; after all, we should be ensuring that they are getting something done, but none of those metrics necessarily help us make better software.

I see that at Redgate, as we incorporate AI into our work. A lot of the things that make software take time aren't solved with AI. They're solved with deep understanding of the problem space, what your customers need, and what helps them work well. AI accelerates some things, but we still need product people empathizing deeply with customers and designers watching for UX issues that create friction for customers. AI can help speed up the experiments and outputs in some ways, but just adding in chatbots or AI agents that write code isn't necessarily useful.

There are a lot of decisions in building software. What to do, what not to do, what's more important than something else, and of course, what approach to take in the architecture. That's before we even get to performance, which is something that far too often gets ignored, at least for the code being run against databases. Building great software is hard, but it can be done, and AI can help.

You just need talented humans guiding the process.

Steve Jones - SSC Editor

Join the debate, and respond to today's editorial on the forums

 
 
 Featured Contents
SQLServerCentral Article

OUTER APPLY Fundamentals: Part 2

Imran2629 from SQLServerCentral

In Part 2 of this series we learn how OUTER APPLY can be used in your queries to return data, even when there are no matches between tables.

Technical Article

Create SQL Server 2025 Availability Groups with SSMS Wizard

Additional Articles from SQLServerCentral

SQL Server Availability Groups are great for DR and HA purposes. In this article, we look at how to setup a SQL Server 2025 Availability Group using the features in SQL Server Management Studio.

Blog Post

From the SQL Server Central Blogs - Claude finds two cryptographic weaknesses (but the sky isn’t falling)

K. Brian Kelley from Databases – Infrastructure – Security

If you haven't seen the announcement, Anthropic was able to utilize Claude (Mythos Preview) to find cryptographic weaknesses in two algorithms. However, this doesn't impact anything anyone has in...

Blog Post

From the SQL Server Central Blogs - Generate Embeddings in SQL with Aurora and Bedrock

epivaral from SQL Guatemala

Most embedding pipelines on AWS have the same shape: a job reads rows out of the database, calls Amazon Bedrock, and writes the vectors back. That is a second...

T-SQL Fundamentals

Site Owners from SQLServerCentral

For anyone else who needs to write queries or develop T-SQL code for SQL Server, Azure SQL Database, or Azure SQL Managed Instance

 

 Question of the Day

Today's question (by Steve Jones - SSC Editor):

 

The Range of Customers

I have this data in the OrderHeader table in a SQL Server 2025 database (ordered by CustomerID ASC):
orderid orderdate               customerid complete
3       2025-05-10 00:00:00.0002          1
21      2024-01-10 00:00:00.0003          1
15      2023-10-28 00:00:00.0004   1
13      2025-03-08 00:00:00.0006          1
11      2024-04-02 00:00:00.0007          1
If I run this query, how many rows are returned?
SELECT *
 from dbo.OrderHeader
 where customerid between 3 and '6'

Think you know the answer? Click here, and find out if you are right.

 

 

 Yesterday's Question of the Day (by Steve Jones - SSC Editor)

Escaping Strings

The STRING_ESCAPE() function requires 2 parameters in SQL Server 2025. The first is a string of text and the second is the type of escape rules being used. What are the options for the second parameter?

Answer: Only JSON

Explanation: Only JSON is supported for the second parameter for escape rules. Ref: STRING_ESCAPE() - https://learn.microsoft.com/en-us/sql/t-sql/functions/string-escape-transact-sql?view=sql-server-ver17

Discuss this question and answer on the forums

 

 

 

Database Pros Who Need Your Help

Here's a few of the new posts today on the forums. To see more, visit the forums.


SQL Server 2016 - Administration
Removing production permissions when restoring database to non-prod - Hello experts, An application team has asked us to modify a SQL Agent job. The job currently restores a backup of the production database to their test SQL Server. We do have provisions for masking the non-prod data. However, for years I have used a script to preserve the test db permissions and then replace […]
Editorials
Finding Bad Queries - Comments posted to this topic are about the item Finding Bad Queries
VACATION! - Comments posted to this topic are about the item VACATION!
Fixing P1 Queries - Comments posted to this topic are about the item Fixing P1 Queries
Building Your Own Software - Comments posted to this topic are about the item Building Your Own Software
Make It Routine - Comments posted to this topic are about the item Make It Routine
Article Discussions by Author
Advanced T-SQL: Replacing Slow Cursors with Window Functions - Comments posted to this topic are about the item Advanced T-SQL: Replacing Slow Cursors with Window Functions
The Service Name - Comments posted to this topic are about the item The Service Name
Why SQL Server Database Attach fails and how to repair it - Comments posted to this topic are about the item Why SQL Server Database Attach fails and how to repair it
BIT_COUNT() IV - Comments posted to this topic are about the item BIT_COUNT() IV
Symmetric Key Encryption - Comments posted to this topic are about the item Symmetric Key Encryption
The “Successful Login” Dilemma: Why Your Login Auditing Strategy Might Be Hurting Your Server - Comments posted to this topic are about the item The “Successful Login” Dilemma: Why Your Login Auditing Strategy Might Be Hurting Your Server
DBCC CHECKDB Limits III - Comments posted to this topic are about the item DBCC CHECKDB Limits III
CROSS APPLY Fundamentals: Part 1 - Comments posted to this topic are about the item CROSS APPLY Fundamentals: Part 1
SQL Server 2022 - Development
iso source of scripts. - While doing some housekeeping I came across a folder containing some scripts that appear to be for a transaction log alert system. Now all scripts except one obviously were generated by SSMS which indicates I didn't save the original scripts or I did this project from a video and wanted to save everything before I […]
 

 

RSS FeedTwitter

This email has been sent to {email}. To be removed from this list, please click here. If you have any problems leaving the list, please contact the webmaster@sqlservercentral.com. This newsletter was sent to you because you signed up at SQLServerCentral.com.
©2019 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved.
webmaster@sqlservercentral.com

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -