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.