Fabric-Sql-Db

SQL Interview: 92 SELECT without specified order

SQL Interview: 92 SELECT without specified order

This is a post in the SQL Interview series. These aren’t trick or gotcha questions, they’re just questions designed to scope out a candidate’s knowledge around SQL Server and Azure SQL Database.

Section: Development Level: Intro

Question:

You issue the following query against the dbo.Customers table:

SELECT * FROM dbo.Customers;

The table has a clustered index on the CustomerID column.

When you have not specified an ORDER BY clause, which order will the rows be returned in?

2025-11-29

SQL: ANSI string concatenation with the || and ||= operators

SQL: ANSI string concatenation with the || and ||= operators

One change that was applied to Azure SQL Database a while back, and is coming in SQL Server 2025, is the use of ANSI string concatenation operators.

SQL Server has been using the + sign as a string concatenation operator since the early days, but that’s the same operator that’s used for numbers, and it’s not the ANSI standard. You’ll find that other database engines like PostgreSQL do not use + to join strings together; they use the || operator. I’ve been writing quite a lot of PostgreSQL lately, and avoiding using + to concatenate strings is always a challenge for my coding muscle memory.

2025-11-26

SQL Interview: 91 Table variables and memory

SQL Interview: 91 Table variables and memory

This is a post in the SQL Interview series. These aren’t trick or gotcha questions, they’re just questions designed to scope out a candidate’s knowledge around SQL Server and Azure SQL Database.

Section: Administration Level: Medium

Question:

A developer in your team has observed that your database servers are very I/O bound. He thinks the I/O is simply too slow.

What he’s suggesting is that you replace all use of temporary tables with table variables. His argument is that they are memory-based instead of disk-based and that this should help to reduce the I/O load. Your applications make heavy use of temporary tables, and most have large numbers of rows.

2025-11-25

Echoes from the field 9: Encryption in SQL Server (Part 2)

Echoes from the field 9: Encryption in SQL Server (Part 2)

During a recent consulting engagement, I was asked about how to use column-based encryption in SQL Server. In this article, which is the second part of a two-part series, let’s explore how to get started using column-based encryption.

In the previous post , I provided background information about encryption and certificates.

If you’re not very familiar with these technologies, you should read that previous post before this one.

Encryption Technologies in SQL Server

Way back in SQL Server 2005, Microsoft introduced an amazing array of technologies. I suspect that many SQL Server professionals aren’t aware of just how many technologies were introduced in that release. It’s not surprising that professionals are still learning about a number of these technologies, even 20 years later. In particular, questions regarding certificates, keys, and column-based encryption still draw blank responses from most SQL Server professionals.

2025-11-22

Echoes from the field 8: Encryption in SQL Server (Part 1)

Echoes from the field 8: Encryption in SQL Server (Part 1)

During a recent consulting engagement, I was asked about how to use column-based encryption in SQL Server. In this article which is the first of a two-part series, let’s explore the technologies involved and how to get started with using column-based encryption. Next time, we’ll continue with using these technologies for column-based encryption.

Encryption Terminology

Encryption is the science of hiding secrets. Information that needs to be protected (often called plaintext) is converted (or encrypted) to a form (often called ciphertext) that is difficult for another person to read within a reasonable period of time.

2025-11-18

SQL Down Under show 93 with guest Simon Sabin discussing data-related development, AI tools, and the upcoming SQL Bits is now published!

SQL Down Under show 93 with guest Simon Sabin discussing data-related development, AI tools, and the upcoming SQL Bits is now published!

It was great to catch up with Simon Sabin today and to have him on another SQL Down Under podcast.

Simon is the founder of Sabin.io where he revolutionizes the data practices of his clients.

Simon has a track record spanning diverse sectors like finance, retail, insurance, and motor sports and is recognized as a data expert. I’ve known Simon for a long time. He was a Data Platform MVP from 2005 to 2024, and a fellow member of the Microsoft Regional Director program.

2025-11-18

Data Tales 12: The case of the code that refused to execute

Data Tales 12: The case of the code that refused to execute

This is the twelfth tale in a series of stories about data. I hope you enjoy the series.

Today’s tale relates to a SQL Server Integration Services (SSIS) package. It used the same architecture as other packages and on the same server, and even though it said it was successful, nothing happened. Let’s discuss why.

Some background information

At the site, a separate SSIS server (using an earlier version of SQL Server i.e., 2014) had been deployed. The server was used to run all the organization’s SSIS packages. These packages connected to several data sources:

2025-11-17

Echoes from the field 7: Tracking object dependencies in SQL Server

Echoes from the field 7: Tracking object dependencies in SQL Server

This post describes how the object dependency tracking views provide more reliable insights into object dependencies than previous methods such as the use of the sp_depends system stored procedure.

During a recent consulting engagement, I was asked about the best way to determine which stored procedures and views made use of a particular table. In the past, the methods available from within SQL Server were not very reliable. Way back in SQL Server 2008, significant improvements were made in this area, yet I see so few people using them, at least not directly. Many will use them indirectly via SSMS.

2025-11-14

Echoes from the field 6: Controlling stored procedure execution context (Part 2)

Echoes from the field 6: Controlling stored procedure execution context (Part 2)

This second article in a two-part series shows you how to control the execution context of stored procedures. This time, it’s by using digital signatures and code signing.

During a recent consulting engagement, I noticed that the client needed to control the security context a stored procedure was running under but was using a convoluted method to do so. Changing the security context that stored procedures run under is a common requirement, letting users execute code via stored procedures that they aren’t allowed to execute directly.

2025-11-10

Echoes from the field 5: Controlling stored procedure execution context (Part 1)

Echoes from the field 5: Controlling stored procedure execution context (Part 1)

This is part 1 of a two-part series that shows you how to use the EXECUTE AS clause to change and control security context for stored procedures. Up next month will be digital signatures.

During a recent consulting engagement, I noticed that the client needed to control the security context that a stored procedure was running under but was using a convoluted method to do so. Changing the security context that stored procedures run under is a common requirement, letting users execute code via stored procedures that they aren’t allowed to execute directly.

2025-11-06