Database Watcher: Your perfmon in the cloud | Data Exposed

Microsoft Developer · Beginner ·📊 Data Analytics & Business Intelligence ·1y ago

Key Takeaways

Introduces Database Watcher for monitoring Azure SQL Databases and Instances

Full Transcript

DB Watcher is in public preview and enables you to monitor all your Azure SQL databases and Azure SQL manage instances at scale learn all about it and see a bunch of demos of how you can do it and use co-pilot this week on data [Music] exposed hi I'm Anna Hoffman and welcome to this episode of data exposed today I'm joined by Bob Ward a frequent presenter on data Expos Bob thanks so much for coming back great to be back here at dat Expos Dan awesome it's always great to have you today we're talking about something really exciting because it's something that is in public preview something I don't know a ton about something that we've been working on in various forums for years and that is DB Watcher so let's get right into it tell us Bob what is DB Watcher and why do you like it well first of all you see the screen here I call it my perf one in the cloud because I've been working Cloud Technologies for a while and we do have some solutions for you but we don't have really what I get from like perfm on Windows servers for example which I really love been using for many years so I kind of think of database Watchers maybe being able to do that well it's super exciting though is being able to do this across deployments across managed distances across databases that kind of type Technologies we've been kind of hurting for a while people have been wanting that and if you want to get started by the way on right away go to akms DB Watcher public preview you can just start it right away but what I thought I'd do is you know I want to show you a little bit about more about what this really is and what it can do for an outworks yeah awesome let's get right into it okay so first of all it's a fully managed service it's an Azure service this is interesting part you don't really pay for the service it's actually collecting data from your existing Azure SQL managed instance and database State and storing it in a custo what's called a custo database that's what you pay for although you can actually use a free one right now go do this so it is such a comprehensive way of monitoring your data Demitri Ferman who's a pmna you know what our team he's one of the most respected people I know at Microsoft that get SQL Technologies at a very detailed level like demitra and I get together sometimes we talk SQL head language a lot especially do performance monitoring and troubleshooting and Demitri has been the lead program manager as part of this project and it just shines it shows his thoroughness is knowledge of SQL very configurable too it's configurable about how much you collect you collect uh it's got dashboards built into the technology the Azure Dash in the Azure portal and it's almost like near real time like you can get really close to getting information up to the minute about what's going across your State uh one of the things that when Demitri and I first talked about this I'm like Demetri like what are we really going after he showed me this slide which I realize is daunting to look at but that's the beauty of this like try to go do all of this across across not just a database or a database or manage dist but across all of your Azure database instances wouldn't it be cool if I could take advantage of the existing Technologies in the engine like DMV Technologies catalog views things we've put even into the cloud as well take all that together extract out that data in an aggregated way and even detailed way and do all of this and do it in a very nice user interface dashboard type fashion and that's really the nut of what we're trying to give you with database Watcher now people have asked me that's pretty cool but really how does this thing work so consider this might be your estate you've got databases you got managed instances by the way also Imagine down the road and a virtual machine SQL servers those kind of type things but today in public preview we're starting with manag instance and add databases so the Watcher is a separate service and in this service you're going to have some sort of identity you're going to use to connect in preferably like a managed identity for example very secure way to connect to either Mi or a database now what's going to happen is you're going to set up a data store which is this custo database and and I've got something at very end to show you that not only can just use a native custo database and do like even kql queries you can even store this in fabric realtime analytics which is also using a custo store so we'll show at the very end how that might work so you set up your store and then now you set up your targets which are the databases or the instances you want to go collect data from and then you start Watcher and then Watcher will start running literally SQL queries for you against these different data sources collect the data and put them in the data store in a form that can be queriable or in the form of a dashboard or something of that nature you can even actually run in austo database SQL queries on top of these things so then you have private inputs by the way support which is really important you want to be able to have a private way of connecting to these versus having to public input so that's kind of like the picture what you're doing you're collecting data so when you start this thing you're going to use a secure way to connect into the databases get access data and then the Watchers is going to feed and stream these results and put them in the custo store and again you're going to be able to visualize the custo store either through a like a pornel or even through a query or a kql query or in the case of fabric through realtime analytics the most common way is just to view this information in the form of these dashboards these pre-built dashboards that we've done in the aure portal so this is the fundamental basics of the system a separate service collecting data from your SQL servers using what is already built into SQL today which what of the beauty of these kind of things right there such Rich Telemetry that the engine has already for you and then put this in a separate store that you can go query uh independent of your workloads which is another nice thing here you're not impacting your workloads at all there's no impact what's going on in a oh that's awesome I I assume there would be like some impact on your workload but that's great toar not because you're just querying these things that you would normally query while you're running your workloads like things like DMVs uh and we're using it in such a way that's not or query store for example and in that way you're not impacting what you already just used today and see awesome cool well this looks great I'd love to see it in action can we take a look well you know me this got to have a demo somewhere right yeah let me show it to you so I am here in the atro portal looking at a watcher service and I'm actually going after three separate databases so I've registered three targets so right out of the gate I have a way in the dashboard to say let me go look at data say in the last five minutes because I think I've got a performance prop that's one of my databases out of the gate we're going to show you something called a heat map you can here there are three databases one of them has got like 98% CPU so I can you see at the top here I can look at instant CPU IO log rights workers all sorts of Rich stuff out of the gate and that's way of looking at things across my servers or even pools uh across databases pools things of that nature so here I'm looking at my databases I can get information about uptime configuration information from them you can do that as well or this get ready for this one I can look now at Anna on my top queries across databases yes you can now look across query stores wow and notice there it has already said hey for that one it had that heat mat problem guess what I have an index suggestion so it's even going to give you suggestions for indexes as part of monitoring Watcher I bet you didn't know that we were going to pull that one you give you index recommendations right so pretty neat way out of the gate just to show you across some databases at a high level got possible perf problem it looks like a CPU problem and I'm give you an index suggestion and I haven't really done anything yet but the details that you get here this perf on the cloud go so far from that let's go look at so again I could drill into this database if I want to and then when I show you what's possible now it's going to just kind of blow me way so in the performance section I'm already going to just look at resource overall for this database historically across time under the thing about this this all about history here request weight request rates request by duration I a little histogram of that how about weight types cumulative average signals waiting tasks and then look at this common performance counters you would use in perf modon Deadlocks block processes logins timeouts you know all sorts of things temp table creation activity things that you look at at proof modon but it even goes further if you will dive into things like memory clerks which I know a lot of people that know SQL want to do that look at the rich information we're providing out of the gate for you historic Al again collecting all of this on your act sequel or manage distance this is pretty crazy and I know it's kind of mind blogging to see this right uh now it gets even better because people look at activity all the time like DMX requests so I'm going to show you over like the last five minutes what are not just my activity but potentially even blocked problems well I don't have any blocking problems at least right now uh but I can even look at historical activity why don't I have to look back and look at a DM exec request that happened like yesterday or two weeks ago you can't do this today I mean this is kind of stuff today that requires you to go collect all this yourself so pretty groundbreaking out all the history you can even do for things like your activities and your sessions and speaking of sessions what I love about this let me go like just look at histo things about sessions but let me look at sessions in terms of total sessions sessions grouped by logins sessions grouped by hosts or even applications so I can look and say oh application is causing my problem versus says I know I know I hear a bunch of O's in the background o and a I mean right this is so rich in information here here again we're looking at these top queries again that I showed you even on the outset here and if I want to I can actually drill into a specific query look at here I'm looking at even the weights for a given query that that may have been happening this case it was CPU bound here's the query text I'm going to look at CPU by type over against query plans it could be multiple query plans for this query uh and then I just keep going I'm going to look at storage information I'm going to detail into storage IO iops throughput latencies again right now I'm doing this against a specific database or how about at the table level let me go look and see for example how much space has been used across all my tables quickly find out which tables are taking up the most space either by index or my table which is are my clustered indexes my cluster column store indexes my heaps uh I know this information is so rich and so detailed uh it's incredible that out of the gate I just start this Watcher it starts collecting data and now I get information at a very very low granular level or I can go back at any history time and point that I want to go do as long as I'm storing in my custo database and I'm paying for that storage yeah look at this history at any point I want pretty crazy no this seems like I mean I'm sure people are just super excited about this I don't want to distract from your demos but what are customers thinking about this oh they're blown away so I've shown this at several different venues fact I showed it off at SQL bits back in March with Demitri we were there together in stage at SQL bits and and we just got just got red review some customer they just couldn't believe it they were like I can't believe you guys have finally built something that really gives me what I need and again we're starting with Azure SQL datab base and managed instance everybody said I want this with SQL Server too I don't want it just with the cloud but yeah again a lot of excitement out of the gate I know several people in the community Daniel Taylor is one of them has been showing this off a lot he's been a lot of excitement from it so yeah there's a lot of people we've got a lot of feedback customers using this a lot of a great usage from the public preview so far awesome how about another one okay demo yeah so Anna Do You Remember uh remember you had I think Joe sack on talking about co-pilot absolutely right so let's show you a scenario where I'm going to use co-pilot and combine it together with Watcher in a very interesting way so I'm going to start out with the co-pilot the new co-pilot in fure SQL database I call it Boba box and I and I'm going to ask co-pilot hey my database is slow I don't even know what the problem is so co-pilot is going to go look at some of the information that's been collected uh by default in the database and say you know what I think you might have a blocking problem you have no CPU going on and remember the whole thing you I talk about running versus waiting waiting scenario I've got no CPU but I've got waiting going on so co-pilot has already detected though hey I detected a blocking chain like hey this session is the one blocking everybody else in fact it shows me the details of The Blocking chain 55 blocked by 110 so was 97 one and 107 all by a given type of block resource so I know that session 110 is kind of leading this blocking train so I'm like copal hey this is interesting is it possible that this session is holding open a transaction which is one of the most common reasons to getting these blocking problems and copad you know what I've got the Telemetry for that I can take a look and a short answer back is like indeed it is so you can tell running out of the gate this session is one is holding up a transaction and that's the reason and even tells me what is the query that it's running wow right now holding open the transaction and that's what's really causing the blocking uh which is just incredible I just love this right so when I was building this demonstration I was thinking to myself um what if this was a problem that has happened over time and po pilot really can't tell me that yet but could watch her so I went in in this scenario had been running it for a while got I've been doing this over and over this demo right so I went into Watcher and I said hey Watcher you know what for this particular database let's go back and see if you can show me the blocking chain as exist as what co-pilot sent up so first of all you can see here it's showing the actual block scenario this is more details of what collent showed you more visually remember we had uh the 110 leading the blocking train here's that select stap it here are the three other sessions and what they're blocked on and you can see it's blocking a three sessions and if you scroll over to the right you can see indeed there is an open transaction so I kind of confirmed already in my mind that our AI assistant did tell me what the problem was and you I can kind of verify that I can even see what kind of applications are involved in this blocking problem but here's the thing I'm an administrator and I'm like you know what is this like a common problem I need to go tackle or one timee event so I'm now going to go to the historical blocking for Watcher and kind of change my interval and like I don't know let's go back four hours look at this I can now see the pattern like if I was a developer I'm like oh wait a minute look at this blocking problem it happens for a while then it goes away then it comes back again and look at this I can click on one of these charts and I have the details of The Blocking chain back from the chart four alums going wow there's no way you can do this today you can you C it's so hard to go collect all this data historically to get the Diagnostics or what could happened so not only could co-pilot help me solve a problem today but but then I can use a combination of that with Watcher to go back and look historically decide okay I've got a trend now to solve this more permanently versus just a short-term fix yeah it's it's really amazing Bob I think I learned a lot I'm sure our viewers did too but you know we're expanding the toolbox and making the the time to Insight and the time to action um really much much smaller than it would have been before absolutely and know there's no other way I can leave this show it's showing you one other demo I got time for one more okay let's do it okay let's do it quickly this is a separate Watcher I've set up remember I told you that data store can be stored somewhere else now a lot of you out there are fans of Microsoft Fabric and you're liking wouldn't it be cool if I could do a powerbi report on Watcher yeah you can this is me putting my Watcher database in an event house oh fabric real time analytics right so I've stored it over there I can go into fabric under event house this is the raw setup data being captured by Watcher in the custo database but I can see this through a vent house in terms of tables and if I want to I can even go look at some of these tables like weight stats and I can even query them through SQL inside fabric of vental I know that sounds crazy so I don't have to use kql I can just say use a select St and I can say show me the top 100 records that have been collected for weight stats over time and I can tell hey and have I know know anything about these weight types which is a common thing uh I know administrators do developers do but maybe I can go to powerbi well andna I am not a guy in a cute so I'm like I don't know how to build one of these things so let's use co-pilot to do it and I'll ask co-pilot in fabric suggest a report for me and it says hey I don't know you want to do how about a database wait time insights report I'm like that sounds interesting what does that thing look like and look you go lo and behold it's generated to Port off for me already I can then take that if I want to and I can actually go and modify and manipulate this and I kind of started playing around with it some I added different things to it I tweaked it and this is all being collected again in fabb real time analytics so I could set up this report to be refreshed now if I want to I can really drill in and not use the power of fabric along with information being stored from Watcher to do whatever I want to wow cool Bob this is insane like I thought there couldn't be any more and there was more I have more but I'm not I don't have time today should but I'm gon to quote you on this is insane I like that quote I'm gonna tell Demitri that's what you said you should you should thanks so much for for coming on the show personally I learned a lot to our viewers if you like this episode go ahead give it a like leave us a comment go to aka.ms DB Watcher we'll also put that in the description for you uh and we hope to see you next time on Dat to exposed [Music]

Original Description

In this episode of Data Exposed, we will take a look at new cloud service that changes the game to monitor your Azure SQL Databases and Instances called Database Watcher. Lot's of demos to show you this exciting new way to monitor SQL Chapters: 00:00 - Introduction 01:42 - Monitor all Azure SQL DB and Azure SQL Managed Instance workloads 02:52 - This wasn't easy in Azure SQL before... 03:32 - How it works 06:10 - Demo #1 11:45 - Demo #2 15:30 - Demo #3 ✔️Resources: Database Watcher: https://aka.ms/dbwatcher 📌 Let's connect: Twitter - Anna Hoffman, https://twitter.com/AnalyticAnna Twitter - AzureSQL, https://aka.ms/azuresqltw 🔴 Watch even more Data Exposed episodes: https://aka.ms/dataexposedyt 🔔 Subscribe to our channels for even more SQL tips: Microsoft Azure SQL: https://aka.ms/msazuresqlyt Microsoft SQL Server: https://aka.ms/mssqlserveryt Microsoft Developer: https://aka.ms/microsoftdeveloperyt #AzureSQL #SQL #LearnSQL
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Microsoft Developer · Microsoft Developer · 0 of 60

← Previous Next →
1 Prepare for the DP-300 exam & the Azure Database Administrator Associate cert | Data Exposed
Prepare for the DP-300 exam & the Azure Database Administrator Associate cert | Data Exposed
Microsoft Developer
2 What I Wish I Knew ... about landing a job in tech
What I Wish I Knew ... about landing a job in tech
Microsoft Developer
3 Igniting Developer Innovation with Vector Search
Igniting Developer Innovation with Vector Search
Microsoft Developer
4 Combining the power of vector search with Azure OpenAI then revolutionize image search with vectors!
Combining the power of vector search with Azure OpenAI then revolutionize image search with vectors!
Microsoft Developer
5 What I Wish I Knew ... about finding your place in tech
What I Wish I Knew ... about finding your place in tech
Microsoft Developer
6 Fluent UI React Insights: Accessible by default
Fluent UI React Insights: Accessible by default
Microsoft Developer
7 Signing Container Images with Notary Project
Signing Container Images with Notary Project
Microsoft Developer
8 What I Wish I Knew ... about finding your place in tech
What I Wish I Knew ... about finding your place in tech
Microsoft Developer
9 What programming languages does GitHub Copilot support?
What programming languages does GitHub Copilot support?
Microsoft Developer
10 What I Wish I Knew ... about how much your job can change
What I Wish I Knew ... about how much your job can change
Microsoft Developer
11 What I Wish I Knew ... about how much your job can change
What I Wish I Knew ... about how much your job can change
Microsoft Developer
12 How do I become more confident about AI?
How do I become more confident about AI?
Microsoft Developer
13 How do I become more confident about AI?
How do I become more confident about AI?
Microsoft Developer
14 Performance Demos of SQL’s Intelligent Query Processing Feedback capabilities | Data Exposed
Performance Demos of SQL’s Intelligent Query Processing Feedback capabilities | Data Exposed
Microsoft Developer
15 What I Wish I Knew ... about coming to Microsoft
What I Wish I Knew ... about coming to Microsoft
Microsoft Developer
16 What I Wish I Knew ... about coming to Microsoft
What I Wish I Knew ... about coming to Microsoft
Microsoft Developer
17 Revolutionizing Image Search with Vectors
Revolutionizing Image Search with Vectors
Microsoft Developer
18 Igniting developer innovation with Vector search and Azure OpenAI
Igniting developer innovation with Vector search and Azure OpenAI
Microsoft Developer
19 Getting Started with Azure AI Studio's Prompt Flow - Part 2
Getting Started with Azure AI Studio's Prompt Flow - Part 2
Microsoft Developer
20 What I Wish I Knew ... about finding my career path
What I Wish I Knew ... about finding my career path
Microsoft Developer
21 What I Wish I Knew ... about finding my career path
What I Wish I Knew ... about finding my career path
Microsoft Developer
22 Windows Terminal's journey to Open Source
Windows Terminal's journey to Open Source
Microsoft Developer
23 Can I trust the code that GitHub Copilot generates?
Can I trust the code that GitHub Copilot generates?
Microsoft Developer
24 What I Wish I Knew ... about interviewing
What I Wish I Knew ... about interviewing
Microsoft Developer
25 What I Wish I Knew ... about interviewing
What I Wish I Knew ... about interviewing
Microsoft Developer
26 What is the Microsoft TechSpark Program?
What is the Microsoft TechSpark Program?
Microsoft Developer
27 SQL Server 2022: Accelerate query performance while reducing query compile time - w/ no code changes
SQL Server 2022: Accelerate query performance while reducing query compile time - w/ no code changes
Microsoft Developer
28 What I Wish I Knew ... about discovering computer science
What I Wish I Knew ... about discovering computer science
Microsoft Developer
29 What I Wish I Knew ... about discovering computer science
What I Wish I Knew ... about discovering computer science
Microsoft Developer
30 Call center transcription and analysis using Azure AI
Call center transcription and analysis using Azure AI
Microsoft Developer
31 How to use Text Analytics for health in Azure AI Language
How to use Text Analytics for health in Azure AI Language
Microsoft Developer
32 Azure OpenAI-powered summarization in Azure AI Language
Azure OpenAI-powered summarization in Azure AI Language
Microsoft Developer
33 Accelerate data labeling using Azure OpenAI and Azure AI Language
Accelerate data labeling using Azure OpenAI and Azure AI Language
Microsoft Developer
34 Building a Private ChatGPT with Azure OpenAI
Building a Private ChatGPT with Azure OpenAI
Microsoft Developer
35 What I Wish I Knew ... about how to interview
What I Wish I Knew ... about how to interview
Microsoft Developer
36 What I Wish I Knew ... about how to interview
What I Wish I Knew ... about how to interview
Microsoft Developer
37 Getting Started with Azure AI Studio's Prompt Flow - Part 3
Getting Started with Azure AI Studio's Prompt Flow - Part 3
Microsoft Developer
38 Intelligent Apps with Azure Kubernetes Service (AKS)
Intelligent Apps with Azure Kubernetes Service (AKS)
Microsoft Developer
39 Getting Started with Azure Blob Storage | Data Exposed: MVP Edition
Getting Started with Azure Blob Storage | Data Exposed: MVP Edition
Microsoft Developer
40 Chat + Your Data + Plugins
Chat + Your Data + Plugins
Microsoft Developer
41 What I Wish I Knew ... about different career paths
What I Wish I Knew ... about different career paths
Microsoft Developer
42 What I Wish I Knew ... about different career paths
What I Wish I Knew ... about different career paths
Microsoft Developer
43 Advanced Dev Tunnels Features | OD122
Advanced Dev Tunnels Features | OD122
Microsoft Developer
44 Learn Live - Manage performance and availability in Azure Cosmos DB for PostgreSQL
Learn Live - Manage performance and availability in Azure Cosmos DB for PostgreSQL
Microsoft Developer
45 Plan your SQL Migration to Azure with confidence | Data Exposed
Plan your SQL Migration to Azure with confidence | Data Exposed
Microsoft Developer
46 What I Wish I Knew ... about social skills in a tech career
What I Wish I Knew ... about social skills in a tech career
Microsoft Developer
47 What I Wish I Knew ... about social skills in a tech career
What I Wish I Knew ... about social skills in a tech career
Microsoft Developer
48 All About Vectors, Search, and Function Calling in Azure OpenAI - Labor Day Special
All About Vectors, Search, and Function Calling in Azure OpenAI - Labor Day Special
Microsoft Developer
49 Introduction to project ORAS
Introduction to project ORAS
Microsoft Developer
50 What I Wish I Knew ... about finding the right major
What I Wish I Knew ... about finding the right major
Microsoft Developer
51 What I Wish I Knew ... about finding the right major
What I Wish I Knew ... about finding the right major
Microsoft Developer
52 What I Wish I Knew ... about how to approach programming
What I Wish I Knew ... about how to approach programming
Microsoft Developer
53 What I Wish I Knew ... about how to approach programming
What I Wish I Knew ... about how to approach programming
Microsoft Developer
54 Learn Live - Scale from a single node to multiple nodes with Azure Cosmos DB for PostgreSQL
Learn Live - Scale from a single node to multiple nodes with Azure Cosmos DB for PostgreSQL
Microsoft Developer
55 What I Wish I Knew ... about diversity in tech #1
What I Wish I Knew ... about diversity in tech #1
Microsoft Developer
56 What I Wish I Knew ... about diversity in tech #1
What I Wish I Knew ... about diversity in tech #1
Microsoft Developer
57 Get started with SQL Server AGs across Windows, Linux and Container Replicas | Data Exposed
Get started with SQL Server AGs across Windows, Linux and Container Replicas | Data Exposed
Microsoft Developer
58 Writing LLM Apps with Azure AI and PromptFlow
Writing LLM Apps with Azure AI and PromptFlow
Microsoft Developer
59 What I Wish I Knew ... about how cool working in tech could be
What I Wish I Knew ... about how cool working in tech could be
Microsoft Developer
60 Open Source foundation models in Azure Machine Learning & optimization techniques behind the scenes
Open Source foundation models in Azure Machine Learning & optimization techniques behind the scenes
Microsoft Developer

Related Reads

📰
When a “Trend” Isn’t a Trend
Learn to identify misleading trend charts by making two small decisions to ensure accuracy over time
Medium · Data Science
📰
When a “Trend” Isn’t a Trend
Learn to accurately interpret trend charts by making informed decisions about time frames and data visualization, crucial for data-driven decision making
Medium · Python
📰
Why I Built DagSmith: Bringing a Visual Drag-and-Drop Editor straight into Apache Airflow 3
Learn how DagSmith brings visual drag-and-drop editing to Apache Airflow 3, simplifying data pipeline creation
Dev.to · Adrian Galik
📰
Most Businesses Don’t Have a Marketing Problem. They Have a Measurement Problem.
Most businesses struggle with measuring marketing effectiveness, not the marketing itself, and understanding this distinction is key to consistent growth
Medium · Data Science

Chapters (7)

Introduction
1:42 Monitor all Azure SQL DB and Azure SQL Managed Instance workloads
2:52 This wasn't easy in Azure SQL before...
3:32 How it works
6:10 Demo #1
11:45 Demo #2
15:30 Demo #3
Up next
How to Prompt Your LLM Directly from SQL
Ian Wootten
Watch →