Keynote: Knowledge is the Key: The Path for AI Applications | Visual Studio Live! Las Vegas 2026

Keynote: Knowledge is the Key: The Path for AI Applications | Visual Studio Live! Las Vegas 2026

Microsoft Visual Studio

0:00 Good morning.

0:00 Drew and I are here to uh talk about

0:03 some honestly some of the cooler features that you

0:06 may or may not have seen that hopefully

0:09 make it so that the the friction for adoption,

0:11 but also just a regular developer loop starts feeling more and more

0:14 at home for you and more and more simple and intuitive.

0:18 So, uh if you're a junior developer,

0:20 this is very exciting because you're likely to see

0:22 a lot of things that you haven't seen before.

0:23 If you're a senior developer,

0:25 this is still very exciting and you are probably going to see lots

0:28 of things that you are not doing because we have the telemetry that shows

0:32 you are not doing and uh it is a dazzling reality that I'm assuming

0:37 all of you are paid by the hour and like to just work harder.

0:40 So that's okay with me,

0:41 but I want to show you these tools and these capabilities along the way.

0:46 So there's sort of an exciting thing.

0:47 Uh if you were in the AI talk that was just prior to this, raise your hand.

0:53 got me.

0:53 So they're just hold me keep me honest

0:56 as I might be saying a couple of the things

0:58 that I said then having the AI keynote the AI

1:01 talk side by side was a a strategic intentionality.

1:06 Ah but let's begin.

1:07 You're building an application and you wanted to use

1:09 a uh and you wanted to use AI.

1:11 You wanted to be a smart application.

1:13 You wanted to make it so the the the application

1:16 has less UI than you've ever built in your lifetime.

1:19 So you may build less UI than you have before.

1:21 That is true, right?

1:22 Why would you build the form that updates the thing when you can

1:24 ask the AI to update the thing and then it updates the thing?

1:27 You just need to show the form that shows that it was updated.

1:30 That's nice.

1:30 In fact, now we have AGUI, which is the ability for UI to be

1:34 surfaced now inside of the chat screen as well.

1:36 So you can interact with it with dynamic forms that you create as well.

1:40 So there's a lot of excitement there that make it so

1:42 that we as app builders need to like rethink the workflow of UI.

1:46 This goes to that and then you click that button, it goes to there.

1:48 There are fewer buttons and fewer UIs than ever before.

1:51 Is that good?

1:51 I think it is good.

1:53 Is it going I mean when you watch when you watch Star Trek and you

1:56 see Captain Pequard walking he's walking down

1:58 the hall asking the computer to do something.

2:00 He calls it by name by computer which is awesome.

2:03 Computer um do this thing when this person

2:05 arrives make sure the transporter that's what we want.

2:08 That's the nirvana of the world and we're like that close to it already.

2:12 Now we are the ones to build these systems that make everything so they actually

2:16 do the things we want and they

2:18 can't accidentally do other things which is great.

2:20 That's we we want to be that's why we have a job and as AI slowly

2:25 replaces all of our jobs obviously it's not

2:29 you know when I hear people say that I'm

2:31 like do you not know what an engineer does for a living like it is the weirdest

2:36 thing AI have you never used AI that you

2:40 would say something like that it is fabulous.

2:42 All right so I I feel like I'm getting sidetracked

2:44 here for the for those of you who may have

2:46 missed it last time I just want to jump through

2:48 just a level set to make sure we're all there.

2:49 I won't cover all the details like I did in the previous session

2:53 but it's this is that the um the thinking space is called the context window

2:57 for an AI and it's very small and you may think it's giant but it's

3:01 very very small feels big but it isn't

3:03 and that context window is measured in tokens.

3:06 Tokens are simply a way that we refer to um embeddings

3:10 and embeddings are a way we refer to arrays of floats.

3:13 And so these sorts of things are really important and uh we only can do

3:18 so many things going in and they

3:19 can only provide so much information coming out.

3:22 And uh when we look at them and the different ones um we

3:25 also see that price-wise this changes the way we choose and what we do.

3:30 It costs a certain amount of money to be able to ask

3:32 the AI to do something and provide it content and it also costs us

3:36 a certain amount of money to be receive it back and get their answer

3:38 back and see what all their uh their thinking and processes as well.

3:43 Those two things are really important because we as architects not

3:46 just developers are thinking about the shelf life of our application,

3:50 the behavior of our application, the security of our application,

3:52 the performance of our application, the accessibility of our application.

3:56 We we care about the configuration of our application,

3:59 the maintenance of our application, but also the cost.

4:02 And so all of these things really matter and that it works.

4:05 I forgot to add and it works, right?

4:07 That that's the truth.

4:10 And for all these things to be measured around it,

4:12 probably the one thing that needs to be at the top

4:13 of our mind is the context window of any model.

4:16 So we're like, oh, we have this little button and the little dialogue pops up.

4:18 It's going to be a lot of fun for us,

4:19 but it can only do so much because we want to provide it information.

4:23 Let me keep going really quickly.

4:24 And uh I love saying this, this isn't even part of the talk.

4:27 I just have to say this.

4:28 Um when you when you uh interact with an AI,

4:31 the AI is actually a cluster of computers.

4:32 You only interact with one at a time and it's a different one every time.

4:36 That's the reason we know that the AI is

4:38 not really thinking about you when you're not around.

4:40 You are it is not part of your their dream state to think of you.

4:44 It's not even operational at the time.

4:46 There is no vcore execution.

4:48 Everything is is quiet.

4:50 There's no nothing going on.

4:51 Um, that's because you invoke an AI to do something.

4:54 It is completely stateless.

4:55 This is nice, but it makes us as developers realize that the information we

4:59 want it to process must be passed to it at every turn inside a session.

5:03 Which means we are supposed to reather the information, prepare it,

5:05 but also gathered in a way that is that is tur enough

5:09 that we do not overwhelm the model so that it can still process,

5:12 but it is is voluminous enough so that we can still

5:16 ensure that it has enough context so it can execute properly.

5:19 We don't provide the entire paniply of our data

5:21 from our enterprise because that would overwhelm it.

5:23 Instead, we intentionally pair it down to whatever is relevant to the piece,

5:26 which means there is still actual coding to do.

5:29 There is still actual work to do for us to be able to do this.

5:32 It just turns out the engineer of the future has to be a little bit smarter.

5:36 And we don't just rely on our tools to autocomplete an IntelliSense line.

5:40 We actually get to think about what it is that we're building so that we

5:43 make it so that these very sophisticated

5:45 models execute in a way that is reliable.

5:48 Okay, just really quickly and this I'll go very quickly.

5:51 These are a handful of slides that you would have seen in my previous session.

5:54 Reason I say that is because I'll be talking much

5:56 faster and uh because we have a lot more to cover.

6:00 The thing that makes it so that the mental space of an AI is is is full is

6:05 the fact that it ships to you with information

6:07 that already takes up some of the context window.

6:09 The system um the system prompt, the thing that tells it how to operate

6:14 um is already there and you can't remove it.

6:16 It is pinned intentionally to the context and you

6:18 can never build a special client that removes it.

6:21 It is always there baked in.

6:22 So is the security context.

6:24 So there's instructions that it's given so that it

6:26 knows what not to do and what to do.

6:28 So if you ask it to build the bomb so you can do whatever,

6:31 it's going to say I am not allowed to do that.

6:33 Now we all know that we can play games

6:34 with these models and kind of get around it a little bit.

6:36 But at the same time,

6:38 these two prompts are intentionally there to build the guardrails

6:40 to make sure that everything behaves the way it's supposed to.

6:42 not just from a safety perspective,

6:44 but also just from a this is how our business runs and I want you to know it.

6:48 And so you would build your own trained model

6:51 so that you could have your own custom prompt.

6:53 All right, that makes plenty of sense.

6:55 Um, if you use a a pre-built model,

6:58 you take their custom their system prompt as well.

7:01 Okay, the next is the agent instructions.

7:03 Every sing every time you interact with an AI, you're interacting with an agent.

7:06 Nobody really interacts with an AI directly.

7:08 There's always an agent involved in some way.

7:10 some sort of thin layer of agent instructions that are

7:13 provided either by you or automatically by the system.

7:16 And so we provide it for you, not for you,

7:18 you provide it for the the model, right?

7:21 We make it so that the agent knows that it is supposed

7:24 to be an inventory management agent that checks on all the warehouses.

7:27 So that's really valuable.

7:29 The next is the workspace instruction.

7:30 So at our this be like a company instruction says at our company,

7:34 we always do this whenever we present it.

7:36 We always present it in um in Finnish euros.

7:41 Finland use euros in the whatever it is, right?

7:44 You always like figure out how things are going to be done.

7:46 That's the workspace instruction sometimes called the constitution,

7:49 but we can think of it as the company

7:51 instruction that makes it so that the model

7:52 operates in a specific way for the entire company and every user inside of it.

7:56 Regardless of the application that's interacting with it,

7:58 or maybe it's the applications instruction itself.

8:00 We also have long-term memory which you and I could just think about everything

8:04 we've ever said to the um model is our long-term is its long-term memory.

8:09 This can take up a lot of space for sure.

8:11 The user prompt which is the question the one

8:13 sentence that they actually need the answer to.

8:16 We finally got to it layer after layer after layer.

8:18 It's almost like building a well architected

8:21 distributed solution by the time we get there.

8:23 We have short-term memory.

8:24 We also have rag data.

8:26 So that would be the access to the data

8:27 inside your enterprise that's in SQL or inside SharePoint

8:30 or whatever it is you s store your data

8:33 and then the tools that actually let it do something.

8:35 These are the access these are the operational things

8:38 like okay um make sure they uh you know

8:40 ship it that's a great tool ship it right

8:43 and so the ship it tool actually calls and has

8:46 something put onto a truck and actually has

8:47 the truck delivered to or sent to a specific location

8:51 right so you can have these tools that do

8:52 anything that you want them to including access data.

8:55 Okay, very quickly.

8:57 There's a serious problem with short-term memory because

9:00 the head space for these AIs is so small.

9:02 We make it so that we can compress that.

9:04 Whenever you compress anything, you lose data.

9:05 This is a bummer, but this is the way that it works.

9:08 You can actually do your own compression.

9:10 You can all actually start to figure out

9:12 all of the different pieces of a conversation

9:14 that are meaningful inside your application

9:16 and make sure that all the extra data,

9:18 which is just noise inside of it, can be sliced out.

9:21 and you provide back the seeds that make it so that this is a smart compressed

9:25 um shortcut of the chat that's happened so

9:28 far or the chats that have happened so far.

9:30 This is totally up to you.

9:32 We must solve this because the fastest thing

9:34 to grow is going to be short-term memory.

9:36 It's monstrous in size.

9:37 You can allow for systems to automatically compress this for you,

9:40 but the loss in data will not be under your control if you do it that way.

9:44 The next is going to be around agent instructions.

9:46 Agent instructions is where we take a lot

9:48 of information and jam it into the agent.

9:50 This is really nice because it makes it really

9:51 easy and I recommend it for a lot of scenarios.

9:54 However, generally speaking, it's not a good idea.

9:56 And the reason it's not a good idea is because it takes

9:59 up a lot of the context window even before you get started.

10:03 So instead, we make it so our agents are nice and lean.

10:06 So, it's okay to give it a little bit of information,

10:08 but if you are tempted to give it

10:10 an incredible number of resources and script files and documents,

10:14 and on and on it goes, now all of a sudden,

10:16 you've made it so before you even get to the user prompt,

10:19 you have potentially taken away the the the scope of what the AI

10:24 can accomplish because you've made the window so small for the user.

10:27 The last is the tools.

10:28 And I'll just speak to this really quickly.

10:30 Um, the emergence of skills has made a big difference.

10:33 uh skills work a little bit like tools.

10:36 They have a small instruct, they have a small description that puts them

10:40 into the context so that they know when to be invoked,

10:43 but then the actual invocation or I'll say the the instruction that's included

10:47 with skills which is often provided in a markdown file are hidden from the user,

10:52 hidden from the context until it actually needs to be invoked.

10:55 What's nice about this and different than an agent is that when

10:58 this information gets added to the context and used and no longer necessary,

11:01 it can be then um evicted from the context.

11:04 That's a big deal.

11:05 Can't be done with an agent and it makes a makes it nice when we start

11:09 thinking about the cost of all the models

11:11 and then you don't necessarily need two million tokens.

11:13 You can handle all of this with 500,000

11:15 tokens and it's stunning what we can accomplish.

11:18 Um, the last thing is to say regardless of the number

11:20 of tokens that you have inside a context window,

11:23 the truth of the matter is you only have the little sweet

11:25 spot in the middle around the edges are very useless to you.

11:28 Uh, at the beginning it's so naive and has so little context

11:31 that the answer that it gives you isn't going to be valuable.

11:34 It might be interesting.

11:35 You can ask at the time in Tokyo if you want,

11:37 but it's not necessarily going to give you

11:39 anything that's relevant to your enterprise at the end.

11:42 Once you start filling it up and you're

11:43 in that final third or quarter of your context window,

11:47 now it's overwhelmed anyway.

11:48 You're almost to the And just imagine a balloon

11:50 so full of air that it still holds the air,

11:52 but it's so tight you're terrified to touch it.

11:54 Like we've all seen those.

11:56 And uh I live at 9200 feet in Colorado.

11:59 And uh our balloons are always like that.

12:00 So are my chip bags.

12:01 They're always like that.

12:02 They are an excitement to open up.

12:04 And toothpaste is a mess.

12:06 And and anyway, so anyway, that's we're kind of moving on there.

12:10 Um, one thing I just want to point out is the reason

12:13 we're doing all of these things is to make it so

12:14 that we can find data semantically and we can use a natural

12:18 language to be able to locate data that's inside of our database.

12:20 I can create then a vector s uh

12:23 a vector version of all the content in my database.

12:26 That's what I want to do.

12:27 And I want to make it then so that I can create a vector index.

12:30 A vector index just pre-calculates all

12:32 the similarity between things in my database,

12:34 puts it on the disk.

12:34 So I when I run a search against it, this is what the search looks like.

12:38 And when I run a search against it using vector search,

12:41 I can write a regular SQL query against the data

12:43 and I can find puppy when I search for dog and I

12:47 can find winter break when I search for vacation and I

12:50 can do incredible things that I can't just can't do today.

12:53 You can write as much pattern matching

12:54 as you want that you'll never you'll never be

12:56 able to defeat semantic searching and so an incredible

12:59 set of uh honestly capabilities that are there.

13:02 Um the problem that we have today is

13:04 that our models are all driven by these agents.

13:07 the agents have to have tools in order to access the data and then

13:10 the data itself needs to be remain secure and so today it's a lot of fun

13:14 to give claude and chat GPT access to our database or the data that we

13:19 have personally and it can do all kinds of neat things you can use open

13:22 claw or whatever and it can totally operation operate your life but uh and if

13:26 it makes a mistake you just got to rebuild your computer it's not the end

13:29 of the world but uh if it makes a mistake in your business with the enterprise

13:33 application that you're building you've just ruined

13:35 your business and you might be fired, but so will all your colleagues, right?

13:38 And so, it's just one of those things

13:40 where we're intentional about the fact that we have uh we are bringing dynamite

13:43 into the building because it is very very valuable,

13:46 useful for us, but we don't want to just set it off randomly.

13:49 So, I don't want to overstate it.

13:51 That's a little dramatic, but it's still true.

13:53 Uh, one quick thing I want to say in Ela SQL, don't do it.

13:56 And, uh, Drew, come come up for just a minute.

14:00 What would what would you say inel toa SQL is?

14:04 Bad idea.

14:06 Oh, that is right.

14:07 But what like if you don't know what it is, so an eldest sequel,

14:11 it it's a bad idea or it's overhyped and it's overstated in what it can do.

14:16 But at its core, it's the ability to use the vernacular language that you use.

14:23 For us, it's English primarily to interface with your database.

14:28 It could be to get information out or it could be

14:30 to ask it to do something about the shape of the data.

14:34 That's how I see an SQL.

14:35 Yeah.

14:36 And I I think if there's a use case for NL2SQL, it's called data discovery.

14:40 It's the ability to find information inside your data you didn't know was there.

14:43 And it's basically saying to your AI, just look around, see what you can find.

14:48 Can you tell me the my best product or the one that I should stop selling?

14:52 Can you tell me my my best customer that I should answer the phone for every

14:55 time or the one I should give a discount to tomorrow so I don't lose them?

14:59 That sort of information discovery is what AI is really good at.

15:01 And LTSQL is the only way to allow that.

15:04 However, you would never allow

15:05 that against your operational production database.

15:08 When we talk about your operational production database,

15:10 NLTSQL becomes a serious handicap.

15:14 No, liability.

15:16 Terrible idea.

15:16 That's right.

15:17 Um, I do want to just point out SQL MCP server is um available now.

15:21 So, SQL MCP server is a set of uh well,

15:24 it's an MCP server that allows you

15:26 to access your database and expose your tables, views, and store procedures.

15:29 It could be Postgress or SQL or Cosmos.

15:31 Um what's nice about this is this is the language that uh agents speak

15:35 which now means that you can allow your agents to interact with your data.

15:39 It is not in LSQL.

15:40 It instead is a specific um set of signatures that allows

15:44 your AI to interact with your data and your database

15:48 at like the let's say 98 percentile but that 2%

15:52 where everything get goes wrong is uh is blocked.

15:54 It also allows you to kind of create the surface area

15:57 that you want to expose and you could do it multiple times.

16:00 The nice thing about um SQL Server uh SQL

16:03 and the nice thing about SQL Server is that it's great.

16:05 The nice thing about SQL MCP server is that it's open source and free.

16:08 So it's an easy thing for you to kind of uh play around with.

16:11 And you're like, "Wow,

16:12 I could really use five MCP servers." Again, open source and free.

16:16 Why wouldn't you do five MCP servers?

16:17 It makes no problem at all.

16:19 Uh for those of you who don't know,

16:20 so SQL MCP server is the name of data API builder using MCP.

16:25 data API builder exposes all three of REST, GraphQL,

16:29 and MCP all at the same time if you want if that's your game.

16:33 And uh and then it points to whatever the tables and views are in your database,

16:37 allowing you to have arbback security inside the API

16:40 layer as well as custom predicates and all

16:43 the things that you would expect that you

16:45 would need to be a real enterprise user.

16:47 And so obviously we built it.

16:49 The SQL team loves this tool and we had

16:52 to build it for you and for all the customers

16:55 that we also hate that you know use our tools in the weirdest way and uh that so

16:59 it is extremely f flexible extremely capable and uh

17:03 I think you'll find that most use cases that you'll

17:05 come up to with I have got an answer

17:07 for because this tool has been around for a while.

17:09 We say 2.0 uh because um we just announced 2.0 so it's kind of exciting.

17:14 So quick question, not to derail your demo.

17:17 So go ahead at it.

17:19 The data AP API builder being open source,

17:22 like obviously you could take the code

17:24 and build it yourself and then run it locally,

17:26 but like how do I get started with DAB?

17:30 Well, that was incredible lead to my next slide.

17:33 I will say that.

17:34 Um, no, no, that that let me just point out what he said was right.

17:39 You you absolutely can take the code from our repository,

17:41 build it yourself, and run it however you want.

17:43 Sometimes that's very important to be able to do

17:44 a security review of the code and audit yourself.

17:46 That depends on the customer or that you guys

17:49 and um but you can also deliver it as a container.

17:52 That's how we prefer it.

17:53 So we we publish the image and uh you can pull

17:56 it down and have your own container in a distributed solution.

17:58 So if you use Kubernetes or ACA or ACI or anything,

18:01 you can run it on prim AWS against Postgress and uh

18:08 there's no Microsoft into play and uh it still works fine.

18:11 We don't have a special license that you have

18:13 to like send me a dollar or anything like that.

18:15 And so it's that's the getting started is

18:18 really just including the container in your distributed solution.

18:21 So if you're not using containers today, that's not a big deal.

18:24 There are many opportunities for you to be able to execute

18:26 this from the command line and include in some other solution.

18:30 But certainly the easiest cleanest way is

18:31 to be able to do it inside a container.

18:33 Thanks.

18:33 I appreciate you saying that.

18:34 If you as the engineer want to get started, however,

18:37 you would use it from our command line which

18:39 is just a net tool which makes it crossplatform.

18:42 And so you would run an initialization script.

18:45 The initialization script creates a file.

18:47 All you need is a single file in order to get it all to work.

18:49 You just have to give it tell it how

18:50 to connect to the database with either a connection string

18:53 that includes username and password or it includes whatever

18:56 your managed identity is that connects to it as well.

18:58 So that's always supported.

19:00 And then you tell it which tables to include.

19:03 You tell it which columns in those tables.

19:04 You tell it what to call those columns if you want to change those columns.

19:07 You tell it what the roles are that'll be accessing and which columns they

19:10 could all the things that you want to be able to do that you

19:13 could have done on your databases that so many of us just don't have

19:16 the capability or the authority to be

19:18 able to make structural changes inside our database.

19:20 So to be able to do that at the API layer is really nice for us.

19:23 Even if you don't have constraints

19:25 or relationships between tables defined inside your database,

19:28 we can define those inside the API layer and treat them as if they are related.

19:31 So a lot of neat capabilities that you get

19:33 sort of I well for free it's a free product

19:36 and um and it's great just one little note about

19:40 it is that data API builder or SQL MCP server

19:43 in this case we call it SQL MCP server

19:45 but it's just data API builder with MCP enabled and um

19:49 one note about that is that it is also

19:51 the engine underlying the GraphQL API inside uh Microsoft Fabric.

19:55 So that's a pretty big fabric's a big deal.

19:58 And so the fact that it does that tells you that from a security point of view,

20:03 we have everything built in that you would ever imagine.

20:05 And all from a performance and scalability point of view,

20:08 we have to be able to scale up to fabric scale, which is monstrous.

20:12 So that's pretty neat.

20:13 and uh and we have a a new um we have a new deployment model,

20:17 but rather than showing that I want to kind of pivot just a second so we

20:21 can talk about the tools that you'll use

20:23 and kind of the tooling experience that you'll experience.

20:26 Thank you.

20:28 All right.

20:29 So, there's obviously a little bit going on right now

20:32 and in the industry with AI as the potential to help you

20:36 with your job as well as the potential for you to enrich

20:40 the technology that you deliver with AI to do more for your companies.

20:44 So, we wanted as a part of this keynote to just recognize that the data that you

20:50 have in your databases is going to have

20:53 to be central to the AI solution that you build.

20:57 And anytime we're talking about these different capabilities,

21:00 it's across kind of whichever of the SQL

21:03 Microsoft SQL family things you're using, whether it's SQL Server or Azure SQL

21:08 database or even SQL database and fabric said,

21:12 sorry, I turned away from my mic for a second.

21:14 That said, SQL Server 2025 was the big announcement from November.

21:19 And I just want to touch on why this was such a good release for us.

21:24 The first part was that with AI being something that you're going

21:28 to want for your applications either today or tomorrow or next week,

21:31 just very soon in general, having AI built in either through the external

21:36 models capability or connectors to O Lama and Open AAI and then in addition all

21:42 of these new capabilities for the SQL language itself,

21:46 the JSON data type, the vector data type,

21:49 you can call out to a REST endpoint from a stored procedure.

21:53 Now, what is that store procedure name again?

21:57 It's so short.

21:58 It's so easy to remember.

22:00 Invoke endpoint or SP invoke external rest endpoint.

22:05 You get there eventually.

22:06 Yeah.

22:07 Yeah, that's good.

22:08 Uh, so there's also now with change

22:10 event streaming coming out of SQL Server 2025,

22:14 I'm going to forget a few things because

22:16 there's just been so much with data API builder.

22:18 You've got the GraphQL endpoint built on top of it.

22:20 just in so many new development features packed

22:23 into it as well as the integration into fabric.

22:28 Sometimes we have different workloads interfacing with our databases and we

22:32 start thinking about well some of this needs to go

22:34 to the cloud but some of it needs to stay

22:36 connected to the application and that's not moving quite yet.

22:39 With mirroring for fabric and its integration with SQL Server 2025 you

22:43 got a much easier way to make that data available for reporting.

22:48 Now, this still continues the longstanding legacy of being secure by default.

22:52 This is an enterprisegrade database used by a gigantic

22:56 companies that have secure regulation requirements as well

23:00 as the engine itself and the continued push towards

23:05 um having high performance at the center of the concern.

23:10 Now, all the nice warm and fuzzy stuff down here about having, you know,

23:14 being able to have managed disaster recovery or having

23:17 co-pilots built in to things like SMS, those are great.

23:21 But the thing that I want to kind of touch

23:23 on last is that SQL Server is still built for all platforms.

23:27 You can run it in Azure.

23:28 You could take SQL Server and run it wherever your hardware is.

23:32 You can run this on Windows.

23:33 You can run this on Linux.

23:35 You can run SQL Server however you need to for the rest of your stack.

23:41 When we think about new SQL Server releases,

23:44 the reality is that that is a licensing moment.

23:48 But with SQL Server 2025, there was some really nice, frankly,

23:52 and exciting for me with my cheap budget

23:54 SQL servers that Express now supports 50 gig databases.

24:00 So that's gone up quite a bit.

24:02 So you may have environments that fit in SQL Server

24:05 Express up to a four core CPU there as well

24:09 as it gets a lot of the goodness like the JSON

24:12 data type like being able to invoke those external REST endpoints.

24:16 There's not feature area things that you would use for a lot

24:19 of applications that are held out of express just because it's Express.

24:25 Moving up to standard that has also had resource expansion as well

24:31 as it doesn't have things like managed instance link pulled out of that.

24:36 So that is available which is the functionality where you can use

24:40 as a part of your replication strategy replicating to managed instance in Azure.

24:45 So this is really nice for disaster recover

24:48 potentially part of your um cloud migration strategy.

24:53 Now the other point I want to drop on this slide is if you are

24:57 developing for SQL server standard and in your development

25:01 environment you've been using developer edition.

25:05 It was actually an analog to enterprise but we've corrected that a little

25:09 bit by now offering two options for developer edition so that if

25:13 you found that you manage to trip and fall over something

25:16 that was specific to enterp you won't have to worry about that anymore.

25:21 Part of the SQL Server 2025 release was also dropping side by side SMS2.

25:28 So that went generally available back in November.

25:31 It brought with it GitHub Copilot.

25:34 There's a Windows ARM edition of it.

25:36 There's a query hint recommendation tool.

25:39 And of course, pretty much everybody's favorite is

25:42 the ability to have dark mode within SMS.

25:45 Now, years of engineering and they clap for that one.

25:54 All the things they were like we split the atom too but uh okay

26:02 within the last month to few hours uh the recent releases of SMS

26:08 have included an expansion of GitHub's

26:10 copilot capabilities to read database level instructions.

26:14 I've got a demo on this in just a little bit, so I won't spoil it too much,

26:18 but it does try to take the edge off

26:20 of the inevitable scenarios where we do some NLTSQL type stuff,

26:26 but raises it to the level of being part of your database

26:30 because frankly I don't worry about myself when it comes to AI.

26:36 I worry about the junior level person

26:38 on my team running with the same very sharp scissors.

26:42 And so when you have database instructions in your Thanks thinking of me.

26:48 Jerry R looks out for

26:51 the other really really exciting thing personally for me because I'm super

26:55 biased with SMS in this morning's release was the addition of SQL projects.

27:00 You uh potentially know about SSDT in Visual Studio.

27:05 You may also potentially know that SSD in Visual Studio

27:09 has had a rough go the last year where we went

27:12 to bring the new project version into Visual Studio and then

27:16 that did not make the cut for Visual Studio 2026.

27:20 What has been going on behind the scenes is this is a DevOps tool.

27:26 Um or that's my nice way of saying it's not all about you.

27:29 It's for developers and other people that are working with databases.

27:33 And so we needed to bring SQL projects

27:35 to more people that are working with databases.

27:37 And so that is why the Visual Studio work on SSDT has been

27:41 on hold for a little while so we can continue to modernize SQL projects overall.

27:46 It's not going anywhere.

27:48 It's in VS Code.

27:49 It's ins SMS.

27:50 And we're still working towards bringing it to Visual Studio.

27:54 I'm not making any promises today.

27:56 I wish I could.

27:58 Jerry didn't close teams, so he's gonna decline a call of shame.

28:03 Um, I have one really important like difficult message to make and teams.

28:09 Yeah, it's it's this is how this is how this happens.

28:12 Uh, but if you grab today's version of SMS,

28:16 you would be able to use database instructions as well as SQL projects.

28:21 I am going to see yes, my remote desktop stayed alive.

28:27 This is this morning's SMS build out of our main branch,

28:32 but it has the same SQL projects availability that you

28:36 would get out of this morning's shipped version of SMS.

28:41 If I'm talking about something that's new to you with SQL Projects, don't worry.

28:45 I don't take it personally.

28:47 But if your database is not in source control,

28:51 sink down in your chair just a little bit because that's a little bit dangerous.

28:57 Like we've talked about all these things with AI where you

28:58 can kind of trip and hurt yourself and a lot there,

29:02 but when it comes to your database and what happens to it over time,

29:08 that can be really important to be able to diagnose performance issues,

29:12 changes in the application that aren't behaving as they expect

29:16 or even understanding what was the history of an application.

29:21 So for having a database and source control,

29:25 one of the fundamental ways that you can do this for free with SQL server,

29:32 Azure SQL database, SQL data fabric is by using SQL projects.

29:36 This is a code definition of the database objects.

29:40 Now you might be like, well, I don't need that because all of my database

29:44 objects are just magic via Entity Framework.

29:48 I've got the C# code that proves my database objects.

29:52 Unfortunately, it's kind of like the response from an AI model.

29:58 It might return the same thing every time maybe.

30:04 Um, but that's not often a good enough to understand

30:06 the indexes that are available or the column lengths.

30:10 So don't think of SQL projects as something where you have to write the SQL

30:15 code into the SQL files and then deploy them left to right every single time.

30:19 You can take whatever OM you are using and use that migration

30:24 output to reverse engineer command line guey interface to those SQL files.

30:31 That is the source control of your definition.

30:33 That is the truth about what is in your database.

30:37 But text files aren't aren't good enough.

30:40 What SQL projects do as a net project

30:44 is give you the ability to build and validate.

30:48 Now, I just reverse engineered this out of the demo database.

30:51 So, of course, it works, but let's say someone was making changes.

30:58 So, I'm going to just change my foreign key relationship.

31:01 Someone's writing and going quickly.

31:04 when I build this time, the build is going to fail.

31:07 Now, this is a foreign key relationship that's a little bit more obvious,

31:11 but let's say I was creating a view

31:12 that referenced some columns that didn't exist.

31:15 These are not things that you want to find

31:17 out as you're F5 executing on an environment.

31:21 I don't care how early that environment is,

31:23 that's too late because someone already wrote some application

31:26 code that references that if you're moving quickly in development,

31:30 and a lot of us are moving pretty quickly in development these days.

31:33 So let SQL projects help provide some guard rails around that.

31:38 Now SQL projects as I mentioned before are also available in VS Code.

31:42 So while I've got the SQL project in file explorer,

31:45 I also have the ability to do those operations here.

31:51 The nuance that I glossed over when I was talking

31:54 about the left to right build and deploy kind of development

31:57 process with SQL projects is that it's not just about

32:01 something packaging up those SQL files and then executing them somewhere.

32:07 One of the most common database deployment methodologies is some kind of like

32:11 artisally handcrafted salt of the earth

32:16 database deployment scripts which are great when

32:19 they work but when they don't work and the one expert that may

32:23 or may not still work there that wrote that script then you're in trouble.

32:28 What SQL projects give you is when they build they build to a build artifact.

32:34 When you build your net project, you get some DLS likely.

32:37 When you build a SQL project, you get a DACK pack.

32:40 Not only is it a word that is

32:41 incredibly difficult for captioning to pick up correctly,

32:45 but it is also a word that means it's XML that's been zipped together.

32:49 And that XML represents the entire database model.

32:53 How do you spell it, Drew?

32:56 D A C P A C.

33:00 Dec.

33:00 Yeah.

33:01 Got it.

33:02 Yeah, what's nice about that file is there is

33:06 deployment tooling whether it's locally VS Code, SS SMS,

33:10 nice little dialogue or the SQL package CLI integrations

33:15 into GitHub and Azure DevOps that can take that package

33:20 and whatever database connection string you give it

33:24 and figure out what that deployment script needs to be.

33:28 There's a mode where you can say just publish this just to make it happen.

33:32 Now maybe you don't do that for prod.

33:36 But what that can help you do is stand up temporary environments,

33:41 development environments quickly or understand better what needs to happen

33:45 to an environment where maybe some third-party software is

33:48 starting to do deployments and making changes that you aren't

33:53 necessarily sure what's happening with could have impacted some things.

33:57 If you're thinking about how do

33:58 you incorporate your database with your development

34:01 life cycle that seems like it's moving faster and faster these days,

34:04 give SQL projects a look.

34:06 They're going to give you the ability to isolate

34:08 your database changes into different branches because they're code.

34:13 You've got that build process that can

34:14 verify your code for correctness at build time.

34:18 And there's some CI and CD tiein that we're not have time to talk about today.

34:23 As well as you're going to have that commit history of the objects.

34:26 And then finally, you can actually ship your database as if

34:30 it was part of your application that has distinct different versions.

34:33 Now, real quick, I'm going to show off the constitution for yours SMS co-pilot.

34:41 It's Markdown.

34:43 We can all handle markdown.

34:44 And in this case, this is a database that has

34:47 some uh security standards that need to be well understood.

34:51 That's something that everyone on the team

34:53 always agrees on our security standards, right?

34:56 But it becomes part of the extended properties on the database.

35:00 So that if I have a stored procedure that has

35:05 not great practices like dynamic SQL that's ripe for SQL injection,

35:10 when I interact with SMS copilot,

35:12 it'll pick up that constitution that's within the database.

35:16 So anybody that uses SMS copilot,

35:18 they don't have to grab extra files will get the same kinds of results such

35:22 as in this case the fixes that are

35:24 needed to correct the store procedure in the database.

35:29 So while this seems like something that takes

35:32 a little bit of setup to deploy that constitution,

35:34 the payoff in reducing the risk of the AI adoption on your team is great.

35:40 As much as I would love to delay delay our fun e even further,

35:45 I just want to point out that Jerry and I are

35:48 the A team and Microsoft sent the B team over to Atlanta.

35:54 Sweet.

35:54 There's something called SQL con and FabCon going on this week right now.

35:58 And there were a couple of announcements that happened at SQL Con and Fabcon.

36:04 U they span kind of all of the pillars of the SQL landscape.

36:08 um a lot of public previews around index

36:11 compaction um the MCP server that Jerry talked about.

36:16 These are new things that literally happened

36:19 today like I talked about with SQL projects.

36:20 GitHub copilot in SMS is now generally available.

36:24 So this is one of those slides that if you grab a quick picture of is

36:27 is your best method to catch up because

36:30 even I'm going to have to catch up today.

36:33 It's all you.

36:34 What's your favorite thing on that list?

36:36 Oh, SQL projects hands down.

36:38 Um, yeah, query profiler and VS code's pretty cool too though.

36:44 Well, my Well, uh, by the way, Drew, just so I can be clear,

36:48 Dackpack is the same thing as a backup restore.

36:53 Absolutely not.

36:54 Oh, it's the same thing as a backpack.

36:57 I've heard of that.

36:59 They are very similar.

37:02 They're not exactly the same.

37:03 The backpack with the B for not backup.

37:09 Um the the backpack backpack and back up.

37:16 Yes.

37:15 Tell me just differentiate those three real quick.

37:18 So your backpack Yeah.

37:23 B is for being able to move your database

37:26 in and out of Azure SQL database in an open format.

37:29 So you don't have to worry about, oh,

37:31 I've moved to the cloud and now I'm like strapped in, locked in forever.

37:35 You can always export out to that and then import to SQL Server wherever.

37:42 It kind of transcends that version barrier,

37:44 but it's specific to Azure SQL database.

37:46 The DAC pack with a D for data.

37:53 Thanks, donut.

37:55 That is for your development life cycle operations.

37:58 So you can do deployments, you can get the definition out

38:02 with that and it's generally focused on just the objects,

38:06 but you can include the data if you want to do some static data management.

38:12 Both of those things are not your backup and restore operations.

38:15 There's file level backup and restore or platform level backup

38:20 and restore that you would use instead for those cases.

38:22 If you find that you're using backpack with a B for backups,

38:29 something's gone terribly, terribly wrong.

38:33 Okay.

38:33 Backup.

38:34 Let's see.

38:34 Backpack with a B.

38:36 That stands for that does not stand for backup.

38:41 Correct.

38:40 Got it.

38:40 And the DACP pack with a D, which sounds like it stands for data.

38:45 Backpack has data in it.

38:47 Dacpack generally doesn't have data.

38:49 Correct.

38:49 The D that sounds like it has data is just a misnomer.

38:53 Exactly.

38:53 It's the developer development.

38:56 Yep.

38:55 Okay.

38:56 Dakpack, back.

38:57 Wait, I should say these in order.

38:58 I'm going to alphabetize them.

39:00 Backpack.

39:02 Backup.

39:02 Dackpack.

39:04 Correct.

39:03 All right.

39:04 So, the backup is still the primary way to back

39:06 up your data and restore it in a production way.

39:08 It is the only way you should be using.

39:11 Yes.

39:11 Beautiful.

39:12 All right.

39:12 Backpack is a way for me to kind of interact with other

39:15 clouds if I need to do some sort of significant movement.

39:18 It includes both the schema and the data and DACP pack.

39:22 That is what we're talking about here.

39:23 This is database projects bringing a schema into source

39:26 control so we can manage it like code.

39:28 Yep.

39:29 All right, man.

39:29 Just clear as clear as a bell.

39:32 Nice.

39:32 Out of curiosity, how many people are using um database projects?

39:37 Nice.

39:38 Uh out of curiosity, how many people have their database in source control,

39:42 but they're not using database projects?

39:43 They're using something else.

39:46 Oh, okay.

39:47 That's cool.

39:47 So add those two together and it's easily half

39:49 of you guys have your database in source control.

39:52 Good job.

39:53 That's the right thing to do for sure.

39:54 How many people uh do not have your database

39:57 in source control from a schema point of view?

40:00 But you're using code first to do it all.

40:03 Just out of curiosity.

40:04 That's still in source control.

40:06 I understand that's a smaller number than I expected.

40:08 Didn't you expect that to be like everybody?

40:09 That's wild.

40:11 Yeah.

40:11 You're just hiding.

40:12 You just Yeah, you know what?

40:14 You know we're about to shame you.

40:15 All right.

40:16 Uh, if you do use code first,

40:18 let me let me take just a moment and talk about code first.

40:21 Is that right?

40:22 I have a I'm just going to do it anyway.

40:25 In the next 12 minutes,

40:26 I'm going to make a serious point that's going to make half of you really angry.

40:29 So, uh, code first is when you decorate your C# classes and DTO

40:33 so that they can then use entity framework migrations to update your schema.

40:38 Um, it works terrifically.

40:40 It is an incredible technology that the team has built,

40:43 rebuilt and made extremely good.

40:45 That is absolutely true.

40:47 That being said, your PC's and demos do perform really well with code first.

40:53 Oh, I'm already starting to talk down to you.

40:55 And uh but let's just pretend that you

40:58 have 100 objects in your in your classes, right?

41:04 100 classes.

41:05 And they're each um all of your indexes are decorated,

41:08 all of your keys are decorated, all of your tables and views are decorated,

41:10 and you've done a really good job of entity framework.

41:13 Remember, there's nothing wrong with any framework.

41:15 However, what if your table has 10,000 objects in it,

41:19 but your but the application you're building only needs 100?

41:22 How are you going to manage the other 900 9,900 objects?

41:27 Are you going to start introducing random DTO's inside of your CL

41:30 inside of your application so you can manage them through migrations?

41:33 No, obviously not.

41:35 You're going to need to do something.

41:36 And so, you're going to need to have that definition

41:38 in a place that is both reliable, not just handy.

41:41 So you don't just put it in a giant SQL script that updates your database.

41:43 You have it in something like a database project.

41:46 There's it only makes sense.

41:48 Does it mean you're not supposed to use code first?

41:51 No, of course not.

41:52 Does it mean code first answers the question

41:54 as your company starts to expand and really do serious things?

41:57 Of course, there are immediate problems you have to solve.

41:59 And that is the issue that we're trying to address here.

42:02 Making it so that you have a real solution that you can be proud

42:05 of and you can show your boss and get a promotion instead of a pink slip.

42:09 So all right uh all the things that are new in SQL Server.

42:12 It is kind of exciting that there's a there's

42:14 a conference right now at the same time.

42:16 Let me just uh show you a cool demo here that solves yet

42:20 the other problem that I kind of introduced

42:21 at the beginning around context window problems.

42:24 The way we do it today or the the solution the way we do it today the way

42:28 we do it this week is we solve

42:31 this with smaller agents and so they have dedicated context windows.

42:36 The entire idea here is we know that the context

42:38 window is small and it's maybe it goes like this.

42:42 Um I'm married.

42:43 My wife gives me jobs and when she gives me too many jobs, I can't do them all.

42:46 That's just kind of the way it works.

42:48 And uh so I can only take a handful of jobs.

42:51 But if there were two of me,

42:52 which would be incredible for me and frustrating for my wife,

42:55 um I could do twice as much work.

42:58 It does and and that's just the reality of it.

43:01 But then I could start scaling back

43:03 and that's where custom agents start coming into play.

43:07 So that I have an agent that is dedicated to a single

43:09 or a small set of tasks that can accomplish those.

43:11 And when it's done, it's simply finished.

43:14 And it doesn't need an enormous context window to accomplish this task.

43:17 It just does what it's supposed to do.

43:18 It has its own tiedin tools and it does it really really well.

43:21 I can assign this into an engineer that can go and define this to make

43:24 sure it has all the information to accomplish the job in the right way.

43:28 And I can make it so that the AI is responsible for execution

43:32 and overall operation but is not necessarily responsible for figuring it out.

43:37 That's what I want because the figuring it out is what takes

43:40 a long time and the figuring it out is where it goes wrong.

43:42 But if I just say hey look listen there are three things

43:44 and I want you to do them in this order one two and three.

43:47 Now suddenly I'm speaking the language

43:48 AI really understands and can operate against.

43:51 I can give it a literally a process that is repeatable over

43:55 and over again as well as testable at the end as well.

43:59 I can do this in a small agent and I can take it so

44:02 that I have one agent that is only responsible for the other agents, right?

44:07 And all he does is orchestrate it to he obviously is a he

44:10 and uh the that orchestrating agent is like the conductor of a symphony.

44:15 It just makes sure that everybody does their part

44:17 and doesn't have a lot of understanding and knowledge.

44:20 you can actually have extremely small context window and be

44:22 a very small model to accomplish something so simple as well.

44:26 In fact, the instructions that I give it can be very clear

44:28 and very prescriptive and make sure that it accomplishes it on time.

44:31 That's the orchestrator.

44:32 Then I go to these other agents and in this example

44:35 for example this example for example and in this example one

44:40 of the agents is responsible for talking to the database

44:42 but the others aren't which means that the data itself then is returned

44:46 and marshaled inside of the one of the agents and handed

44:49 off right and so through literal handoff and that's what we

44:53 call it and so one agent can still have the data

44:55 but it relies on the other agent to um interact with it.

44:59 Maybe the third agent then is responsible

45:01 for presentation or for direct interaction with the client.

45:05 Each time I do this, I introduce a a an a a layer

45:08 of latency that makes it so that I need to really

45:11 be serious about the things that I'm doing because now that I

45:14 have four agents execute in order to get a value back,

45:17 I've actually made it really hard on myself.

45:19 I mean, I've overengineered.

45:21 However, there are certain things that when you are

45:24 writing the AI that manages your nuclear power plant.

45:29 God, what an example.

45:33 Just tell us about it ahead of time that we can

45:36 all know we'll have uh next live will be in that crater.

45:41 the uh when you do that there are it is going

45:44 to be so sophisticated that to the ask a single model

45:46 to accomplish a lot of things is is just wrong and you're

45:49 not really thinking about latency as far as like search get results.

45:53 You're really asking an agent to do something that is or a model

45:58 to do something that is sophisticated and it is going to take a while.

46:01 it could take 10 hours for whatever it's trying to accomplish

46:04 and you want to make sure that it is all designated

46:06 in a way that it never gets so overwhelmed that now the operation

46:10 fails because you've filled up its context window and can't understand it.

46:14 So the the reason I'm even making this point

46:16 is just so you can see that there is

46:17 an actual strategy to make this work even though

46:20 we have the limitations around AI that we have today.

46:22 Right?

46:22 So, just to go back to the Terminator movie for a second,

46:26 like the odds of an AI crushing a skull of the robot,

46:29 you know, it's just so unlikely

46:31 at this point because it is so incredibly limited.

46:34 The number of people like my mother that I talked to that have like,

46:38 oh, what's this AI thing?

46:39 I that blows my mind.

46:41 I'm like, how is it possible these people still exist in the world?

46:43 But it is still true.

46:45 You guys are the cutting freaking edge.

46:47 Like, it is crazy to say that you're using the tools before they're done.

46:51 Like everything, it's not hot off the press, it's hot in the oven.

46:54 Like everything is just coming around and we're trying to figure out how can we

46:58 make these usable in a sense that when we bring them into the real world,

47:02 we can rely on them and trust them and they can actually accomplish things.

47:05 Can they?

47:06 Oh, yeah.

47:06 We're doing that constantly.

47:07 I mean, Microsoft does make a profit.

47:09 Like, there is a way that we actually put

47:11 these things together for customers and it's an incredible solution.

47:14 And so, one of the ways is multi-agent orchestration.

47:17 And this is probably going to be the future of AI all the way around.

47:20 Let me just show you real quick kind of actually

47:24 I'm going to change the demo just real fast.

47:25 I just we're just right at the last 10 seconds here.

47:28 I want to just show you that one of the things

47:30 that you get inside of SQL is um is the ability

47:36 to do the sort of semantic relationship uh queries that you

47:40 would want to be able to do inside of a model.

47:41 When you say to a model, is this like this?

47:44 It does so much complexity behind the scenes that you don't get to see.

47:47 But you can do that directly inside the tooling now because of vector

47:50 searching once you have everything built

47:52 into vectors or embedded into ve in vectors.

47:54 You can just do a quick cosine search

47:56 against them which is built into SQL as well.

47:58 And here's the example that I wanted to show you.

48:01 If if I run a search right now and I say

48:03 I want to find a father and son bonding over hobbies.

48:06 So this is the uh the demo that is selling Star Trek toys, right?

48:10 I can find three and when I like just mouse over

48:13 the first it's a little too small for you to see.

48:14 So, let me just read some of the details here that it says, um,

48:18 "My father used to take me to a local hobby store." Okay,

48:21 so that doesn't matter.

48:22 I just want you to see that that's

48:23 the reason it found father and son bonding, right?

48:27 Because it's like, oh, oh, you and your dad went to a hobby

48:30 store that's semantically related to father and son bonding.

48:33 Even though you would never be able to write a predicate or a like

48:37 like pattern matching to be able to find that anywhere else, right?

48:39 That's the semantic like location.

48:42 If I went to the next one,

48:43 kids building over and I I talked about this a little bit at the beginning.

48:46 Kids building o um let's see, kids building something during vacation, right?

48:51 Then it only found one.

48:53 Found the deep space 9 model.

48:55 It just takes forever to put together

48:57 and it talks about uh kids over winter break.

49:00 So it actually uh found winter break as a kind of vacation.

49:05 And so that's the you would ne again never be able to find that any other way.

49:09 So as we start building all the tooling

49:11 to make it so that these models can accomplish things,

49:13 we don't ask the models to do everything.

49:15 We can now do it inside of our database

49:17 directly and be able to provide that to anybody.

49:19 And if I would go to the next one, very disappointed in quality.

49:22 Um, this will not fight any because we're a great company.

49:27 So that's that's terrific.

49:28 Yeah, it's not a failure.

49:29 That's the that's a win right there for all the way around.

49:32 Um, but I do want to show you this.

49:33 So, I have um I have a a console app that is

49:37 a multi- aent demo here that uh is is great to show you.

49:41 So, I could say uh uh what let's see what time is it in to all right

49:49 so this is really important because it is

49:51 not important but it does show that your users are going to be able to burn up

49:54 your tokens for you just by asking stupid questions

49:57 and uh it's going to be very hard

49:59 for you to be able to stop this from happening.

50:01 This is going to be a reality of the budget

50:02 of planning that you have for your application.

50:05 And so I the the I I can't see a live.

50:09 Okay.

50:09 Well, I'm running a mini model, but it doesn't matter.

50:11 Um it's surrounded in blue.

50:13 And the reason I'm showing you it's surrounded in blue

50:15 is the question actually went to an orchestration agent.

50:17 That agent determined that it was not accessing product data,

50:20 so it didn't hand off to my database agent.

50:22 And so instead, it sent it to the blue agent,

50:24 which is the generic agent that doesn't have access

50:27 to any of the time or any live clock.

50:30 But if I said, "What's my most expensive product?" Now,

50:36 the orchestrator is the agent that receives that, but the it

50:39 only interprets that I'm asking about a product,

50:42 and so it hands it off to the database agent,

50:45 which has the ability to go into my my product database.

50:48 I don't know if that makes sense, but that's three agents.

50:51 Each one super small.

50:52 Each one I like completely tailored to a specific set of tasks,

50:56 making it so that I can not only not overwhelm the context window,

51:00 but I can draw down the context window

51:02 to a smaller model that can accomplish it, too.

51:04 And uh my most expensive is the Deep Space 9 at at $189.

51:09 Terrific.

51:10 And that's cheap, isn't it?

51:12 I mean, I just bought the Enterprise Lego.

51:14 It cost $499.

51:15 I'm like, wow.

51:18 I mean, I got it for Christmas, but I still pay for it.

51:21 All right.

51:23 Um, all that being said,

51:24 let me uh let me jump back and just wrap this up in a uh

51:28 in a sense that um SQL Server is a database built for developers.

51:36 And we didn't used to say that it was a database built for DBAs,

51:40 which are are easy to find.

51:42 They're always like the angry people in the crowd.

51:45 And u I maybe that was our fault.

51:47 I don't know.

51:48 But you as the nerds now suddenly have

51:50 a a different experience with the the front-end tooling,

51:54 the processing through the CI/CD pipeline

51:56 that you have through all the libraries,

51:59 the MCP server, REST endpoints, and on and on it goes.

52:03 Each one we're just trying to hand to you.

52:04 They don't really impact licensing and things like that.

52:07 as well as the internal capabilities around AI and everything.

52:11 So that it makes it so that choosing SQL just means tomorrow

52:14 when your boss is like it's time to do the AI thing,

52:17 you can be like we have all the right tools now.

52:19 We're ready to go.

52:19 So congratulations.

52:21 That's really good.

52:22 Thanks for giving us the opportunity to kind of talk through this.

52:25 We know, you know, we all can just be honest together.

52:28 This this is uh this is a a shifting sand kind of time right now.

52:33 And uh to say that I'll just wait until

52:36 it all settles down means that you have failed, right?

52:39 That's like I'll wait till the internet finally standardizes on a web ser.

52:44 It's never going to happen.

52:46 You have to keep up with the shifts.

52:47 But at the same time, we're trying really hard to make it easy for you to do

52:51 that with uh SQL and all the tooling around it as well.

52:54 So I'll see you at lunch.

52:55 Thanks for uh letting us talk.

52:56 We'll see you again.

Study with Looplines Download Captions Watch on YouTube