Today, we followed (with Roger Schönmann) the first day of the SQL Konferenz 2024.  We will be attending this event from October 01 to 02 in Hanau.

At dbi services, we are no strangers to this conference, as we have been sending members of our team for several years now.
We consider the sessions to be of high quality and right on trend, and this year is no exception.

If you would like to know the details of the sessions given on this first day, you can find them in this Agenda.
For my part, here is a list of the sessions I attended today:

  • Taming the Datamonster with intelligent AI using SQL and Microsoft
  • Here’s the execution plan … now what?
  • Thwarting Disaster for SQL Server on Azure VM
  • Query Store: The simplest way to Troubleshooting Performance
  • ACID in SQL Server: what it is, how it works, and how to live more adventurously
  • Welcome to the age of SQL Copilots

There were also some more Data Engineer-oriented sessions.

In this blog, I have chosen to focus on Bob Ward’s session on Copilot. Indeed, I feel that this is an attractive topic to focus on.

Welcome to the Age of SQL Copilots

Copilots are Microsoft AI-driven assistants designed to support and assist you in various IT-tasks.
You will be able to meet them in a variety of environments and contexts:

  • Microsoft Copilot (website and standalone application)
  • Microsoft Copilot for Azure (embedded in Azure – In Preview)
  • Microsoft Copilot for Microsoft 365 (integrated with all apps and documents)
  • Microsoft Copilot for Security (AI with a generative + AI-powered assistant)
  • Copilot in Windows (integrated directly into the Windows OS)
  • Copilot in Fabric (In Preview)
  • GitHub Copilot (code development)
  • Copilot in Azure SQL Database (assistance and T-SQL code generation – In Preview)

As you can see, Copilot AI is flooding into Microsoft products at every level. In time, these tools will become part of our daily work.

Among this variety of Copilot offerings, Bob Ward focused his presentation on Microsoft Copilot for Azure and Copilot for Azure SQL Database.

According to Microsoft’s vision, these Copilots aim to:

  • Improve efficiency of several topics: performance, security, availability…
  • Design and optimize: schemas, T-SQL code…
  • Simplify: database management, reduce complexity of SQL…

Which prompts are right for me?

Before going further into this session, it is important to remind that we interact with AI through prompts. These are instructions or questions that guide Copilot to produce responses or perform specific tasks. Bob Ward shared a non-exhaustive list of prompts to ask in the context of a performance problem:

Use cases

Later on, to explain Copilot’s potential, several demos were presented for different use cases:

  • A current performance issue is occurring at database level
  • Data must be transformed in a specific manner
  • Retrieve the top 20 consuming queries in the past 4 days

In the below demo “my database is slow”, Copilot was able proactively to determine that the high CPU utilization would be a relevant piece of information to share with.
In addition, it returned all the CPU metrics and the query which implied this high usage. Of course, the performance problem was quite obvious in this scenario. Usually, Monitoring tool has already informed you of excessive CPU usage and which query is incriminated.
In fact, the added value is that you get it interactively and with a detailed report.
What would be interesting is Copilot’s behavior in a more complex case, where the performance problem is not obvious.

In addition, here are some considerations when using Copilot for SQL Database in Azure:

  • Use the database blade context when using prompts to improve efficiency
  • Be aware of the tasks you are asking for: some may take much more longer than others
  • Copilot only access to resources we have access to. It cannot perform analysis or actions if we not have the necessary permissions

Final Thoughts

AI-driven assistants have undeniable potential and much to contribute to our day-to-day work. We are clearly in the early stages of using them, and perspectives are exciting.

There is great potential for efficiency gains and simplification in many IT projects, but we must not fall into the trap of trying to apply them at any cost to something that is already effective.