[
  {
    "path": ".gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore\n\n# User-specific files\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n\n# Visual Studio 2015/2017 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# Visual Studio 2017 auto generated files\nGenerated\\ Files/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# Benchmark Results\nBenchmarkDotNet.Artifacts/\n\n# .NET Core\nproject.lock.json\nproject.fragment.lock.json\nartifacts/\n**/Properties/launchSettings.json\n\n# StyleCop\nStyleCopReport.xml\n\n# Files built by Visual Studio\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.iobj\n*.pch\n*.pdb\n*.ipdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# Visual Studio Trace Files\n*.e2e\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# AxoCover is a Code Coverage Tool\n.axoCover/*\n!.axoCover/settings.json\n\n# Visual Studio code coverage results\n*.coverage\n*.coveragexml\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# Note: Comment the next line if you want to checkin your web deploy settings,\n# but database connection strings (with potential passwords) will be unencrypted\n*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/[Pp]ackages/*\n# except build/, which is used as an MSBuild target.\n!**/[Pp]ackages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/[Pp]ackages/repositories.config\n# NuGet v3's project.json files produces more ignorable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n*.appx\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\norleans.codegen.cs\n\n# Including strong name files can present a security risk \n# (https://github.com/github/gitignore/pull/2483#issue-259490424)\n#*.snk\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\nServiceFabricBackup/\n*.rptproj.bak\n\n# SQL Server files\n*.mdf\n*.ldf\n*.ndf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n*.rptproj.rsuser\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\nnode_modules/\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)\n*.vbw\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# JetBrains Rider\n.idea/\n*.sln.iml\n\n# CodeRush\n.cr/\n\n# Python Tools for Visual Studio (PTVS)\n__pycache__/\n*.pyc\n\n# Cake - Uncomment if you are using it\n# tools/**\n# !tools/packages.config\n\n# Tabs Studio\n*.tss\n\n# Telerik's JustMock configuration file\n*.jmconfig\n\n# BizTalk build output\n*.btp.cs\n*.btm.cs\n*.odx.cs\n*.xsd.cs\n\n# OpenCover UI analysis results\nOpenCover/\n\n# Azure Stream Analytics local run output \nASALocalRun/\n\n# MSBuild Binary and Structured Log\n*.binlog\n\n# NVidia Nsight GPU debugger configuration file\n*.nvuser\n\n# MFractors (Xamarin productivity tool) working folder \n.mfractor/\n"
  },
  {
    "path": "Archive/Tools/GetObjectsFromExplain.ps1",
    "content": "﻿<# Get_Objects_From_Explain.ps1\n    \n    Author: Nick.salch@Microsoft.com (Nicksalc)\n    This tool will take in an explain XML, then detect all fo the following\n    that are mentioned in the explain plan:\n        Databases\n        Tables\n        Columns\n    It will also output update stats statements for all tables invovled in the query. \n    \n    Output is placed under c:\\temp\\Timestamp_Folder\n#>\nparam($ExplainXmlPath)\n\nIf(!$ExplainXmlPath)\n{\n    do\n    {\n\n        $ExplainXmlPath = Read-host \"Please enter full path to XML\"\n        if (!(test-path $ExplainXmlPath)) \n        {\n            Write-host -foregroundcolor red -backgroundcolor black \"path not found\"\n        }ELSE{$goodPath=$true}\n    \n    }\n    while(!$goodPath)\n}\n\n\n$date = get-date -Format MMddyyyy_hhmmss\n$OutputFolder=\"C:\\temp\\$date\\\"\nmkdir $OutputFolder -Force | out-null\n\n$explainXml = Get-Content $ExplainXmlPath\n\n#Remove the user query part of the query (this part can be messy so I jsut remove it)\n$i=0\nwhile (!($explainXml[$i] | select-string \"total_number_operations=\"))\n{\n    $i++\n}\n$explainXml = $explainXml[$i..$explainXml.Length]\n\n#Extract the db.schema.table names \n\n$objectList = $explainXml | Select-String \"\\[([^\\[]*)\\].\\[([^\\[]*)\\].\\[([^\\[]*)\\]\" | select-string -NotMatch \"qtabledb\" |select-string -NotMatch \"tempdb\"  | % {$_.matches.value}\n$objectList = $objectList | select -Unique\n$objectList > \"$OutputFolder\\ObjectList.txt\"\n$tableList = $objectList | % {$_.split(\".\")[1] + \".\" +  $_.split(\".\")[2]}\n\n#Extract Shuffle Columns\n$shuffleColumnLines = ($explainXml | select-string \"shuffle_columns\")\n$ShuffleColumns = @()\nForeach ($column in $shuffleColumnLines)\n{\n    $column = $column.ToString()\n    $ShuffleColumns += $column.Substring($column.IndexOf(\">\")+1,$column.IndexOf(\";\")-$column.IndexOf(\">\")-1)\n    \n}\n$ShuffleColumns = $ShuffleColumns | select -Unique |sort\n$ShuffleColumns > \"$OutputFolder\\ShuffleColumns.txt\"\n\n\n#Extract the columns used\n$involvedColumns=@()\nForeach ($string in (($explainXml | select-string \" AND \",\" OR \",\" WHERE \",\" WHEN \",\" GROUP BY \",\" ELSE \") ))\n{\n    $SplitString = $string -split \"]\\.\\[\"\n    #$splitString.Count\n\n    $counter = 1\n    While ($counter -lt $splitString.count)\n    {\n        if($splitString[$counter].indexOf(\"]\") -gt 0)\n        {\n            $involvedColumns += $splitString[$counter].Substring(0,$splitString[$counter].indexOf(\"]\"))  \n        }\n        $counter++\n    }\n\n}\n\n$involvedColumns += $ShuffleColumns\n$involvedColumns = $involvedColumns | select -Unique | sort\n\n#Write-host -foregroundcolor Cyan \"`nInvolved Columns`n\"\n$involvedColumns > \"$OutputFolder\\involvedColumns.txt\"\n\nWrite-Host -Foregroundcolor Cyan  \"$($tableList.Count) Involved Tables Detected\"\nWrite-host -Foregroundcolor Cyan  \"$($ShuffleColumns.count) Shuffle Columns Detected\"\nWrite-Host -Foregroundcolor Cyan  \"$($involvedColumns.Count) Involved Columns Detected\"\n\n#create the update stats statements\n$UpdateStatsStatements = @()\n\n$UpdateStatsStatements += $tableList | % {\"UPDATE STATISTICS $_\"}\n$UpdateStatsStatements > \"$OutputFolder\\tsql_UpdateStatsCommands.txt\"\n\nWrite-host -ForegroundColor Cyan \"`nOutput folder: $OutputFolder\"\n#>"
  },
  {
    "path": "Azure_Resource_Graph_Queries/Inventory-DedicatedSqlPool.kql",
    "content": "Resources\n| where type == 'microsoft.sql/servers'\n| project name, id, resourceGroup, location, subscriptionId, tags\n| join kind=inner (Resources\n\t| where type == 'microsoft.sql/servers/databases'\n\t| where sku.tier == 'DataWarehouse'\n\t| extend CurrentServiceObjective = properties.currentServiceObjectiveName\n\t| extend RequestedServiceObjective = properties.requestedServiceObjectiveName\n\t| extend IsSynapseWorkspaceAssociated = iff(kind contains 'analytics', true, false)\n\t| parse CurrentServiceObjective with \"DW\" CurrentDWU \"c\"\n\t| extend status = tostring(properties.status)\n\t| parse id with ParentSqlServerId \"/databases/\" Discard) on $left.id == $right.ParentSqlServerId\n\t| project-rename DatabaseName = name1, ServerName = name, ServerResourceId = id, DatabaseResourceId = id1, ServerTags = tags, DatabaseTags = tags1\n\t| project-away managedBy, plan, resourceGroup1, subscriptionId1, type, tenantId, sku, identity, zones, Discard, ParentSqlServerId, kind, apiVersion, properties, extendedLocation\n| join kind=leftouter (ResourceContainers \n\t| where type == 'microsoft.resources/subscriptions' \n\t| project SubscriptionName = name, subscriptionId) on subscriptionId\n| project-away subscriptionId1\n| project-rename SubscriptionId = subscriptionId, ResourceGroup = resourceGroup, Location = location\n| project SubscriptionName, SubscriptionId, ResourceGroup, ServerName, ServerResourceId, ServerTags, DatabaseName, DatabaseResourceId, DatabaseTags, Location, CurrentDWU, CurrentServiceObjective, RequestedServiceObjective, IsSynapseWorkspaceAssociated"
  },
  {
    "path": "Azure_Resource_Graph_Queries/Inventory-SparkPools.kql",
    "content": "Resources\n| where type == \"microsoft.synapse/workspaces/bigdatapools\"\n| project name, id, resourceGroup, location, subscriptionId, tags, NodeSizeFamily = properties.nodeSizeFamily, NodeSize = properties.nodeSize, SparkVersion = properties.sparkVersion, AutoPause = properties.autoPause.enabled, AutoScale = properties.autoScale.enabled, MinNodeCount = properties.autoScale.minNodeCount, MaxNodeCount = properties.autoScale.maxNodeCount\n| parse id with * \"/workspaces/\" AssociatedSynapseWorkspaceName \"/bigDataPools/\" Discard\n| join kind=leftouter (Resources \n    | where type == \"microsoft.synapse/workspaces\"\n    | extend WorkspaceResourceId = id\n    | extend WorkspaceName = name\n    | project WorkspaceName, WorkspaceResourceId) on $left.AssociatedSynapseWorkspaceName == $right.WorkspaceName\n| join kind=leftouter (ResourceContainers \n    | where type == 'microsoft.resources/subscriptions' \n    | project SubscriptionName = name, subscriptionId) on subscriptionId\n| project-away subscriptionId1, Discard, AssociatedSynapseWorkspaceName\n| project-rename SparkPoolName = name, SparkPoolResourceId = id, ResourceGroup = resourceGroup, Location = location, SubscriptionId = subscriptionId, Tags = tags\n| project SparkPoolName, SparkPoolResourceId, ResourceGroup, Location, SubscriptionName, SubscriptionId, Tags, NodeSizeFamily, NodeSize, SparkVersion, AutoPause, AutoScale, MinNodeCount, MaxNodeCount, WorkspaceName, WorkspaceResourceId\n"
  },
  {
    "path": "Azure_Resource_Graph_Queries/README.md",
    "content": "# Azure Synapse Inventory via Azure Resource Graph\nThe following [Azure Resource Graph](https://azure.microsoft.com/en-us/features/resource-graph/) queries assist with gathering Azure tenant inventory for Azure resources related to Azure Synapse Analytics. They are intended to aid cost optimization, general inventory needs, normalizing or standardization of configuration, and more.\n\n## Pre-Requisites\n1. RBAC 'Reader' or equivalent access to Azure Synapse related resources. See [Azure Resource Graph permissions](https://docs.microsoft.com/en-us/azure/governance/resource-graph/overview#permissions-in-azure-resource-graph) documentation for specifics.\n2. Access to the Azure Portal or an Azure PowerShell or CLI session. \n\n\n## To use these queries:\n1. Navigate to the Azure Portal. Search or select the [Azure Resource Graph Explorer](https://docs.microsoft.com/en-us/azure/governance/resource-graph/first-query-portal) and paste the text of the desired query into the query window. Select run query.\n2. Alternatively you may programmatically execute these queries programmatically via CLI or SDKs.\n    - Execute Azure Resource Graph queries via [Azure PowerShell](https://docs.microsoft.com/en-us/azure/governance/resource-graph/first-query-powershell)\n    - Execute Azure Resource Graph queries via [Azure CLI](https://docs.microsoft.com/en-us/azure/governance/resource-graph/first-query-azurecli)\n    - Execute Azure Resource Graph queries via language specific [SDK or REST API](https://docs.microsoft.com/en-us/azure/governance/resource-graph/first-query-rest-api) \n\n# Sample queries for gathering inventory: \n\n## Dedicated SQL Pools\n[Inventory-DedicatedSqlPool](Inventory-DedicatedSqlPool.kql) - Lists dedicated SQL pools (formerly SQL DW) visible to the executing Azure context returning the subscription, resource group, parent Azure SQL Server, current SKU, standalone or association with Azure Synapse Workspace, and more.\n\n## Serverless SQL Pools\nTo be completed.\n\n## Spark Pools\n[Inventory-SparkPools](Inventory-SparkPools.kql) - Lists Spark pools (Synapse Spark) visible to the executing Azure context returning the subscription, resource group, parent Azure Synapse Analytics workspace, SKU, and more. \n\n## Kusto Pools\nTo be completed.\n\n# Troubleshooting\n\n## Runtime errors with Azure Resource Graph\n\n[Checklist to review](https://docs.microsoft.com/en-us/azure/governance/resource-graph/troubleshoot/general) if errors are returned or no data is returned from these queries. If not data is returned the root cause is RBAC access to the Azure Synapse related Azure resources.\n\n\n\n"
  },
  {
    "path": "Distribution_Advisor/CreateDistributionAdvisor_PublicPreview.sql",
    "content": "IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.write_dist_recommendation'))\r\n\tDROP PROCEDURE dbo.write_dist_recommendation\r\ngo\r\n\r\nIF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.read_dist_recommendation'))\r\n\tDROP PROCEDURE dbo.read_dist_recommendation\r\ngo\r\n\r\nIF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.format_recommendation'))\r\n\tDROP PROCEDURE dbo.format_recommendation\r\ngo\r\n\r\nCREATE PROCEDURE dbo.format_recommendation @recommendation NVARCHAR(MAX)\r\nAS\r\nBEGIN\r\n    IF (@recommendation IS NULL OR len(@recommendation) = 0)\r\n      BEGIN\r\n          RAISERROR (N'No recommendation was found', 18, - 1);\r\n      END\r\n    ELSE\r\n    BEGIN\r\n        -- Parse the recommendation result\r\n        DECLARE @FirstDistribBegin INT = PATINDEX('%Table Distribution Changes%', @recommendation);\r\n        DECLARE @FirstDistribEnd INT = PATINDEX('%------------------------------------------------------------%', @recommendation);\r\n        DECLARE @JumpPast NVARCHAR(max) = 'Table Distribution Changes';\r\n\r\n\t\tSET @FirstDistribBegin = @FirstDistribBegin + LEN(@JumpPast) + 2; -- +1 to eat newline at the beginning\r\n\t\tDECLARE @DistribLength int = @FirstDistribEnd - @FirstDistribBegin - 2; -- extra -2 to remove newlines at the end\r\n\r\n        IF (@DistribLength <= 0)\r\n          BEGIN\r\n              RAISERROR (N'No distribution to show. The query does not involve any tables, or the tables do not exist.', 18, - 1);\r\n          END\r\n        ELSE\r\n            DECLARE @FirstDistrib NVARCHAR(max);\r\n\r\n        SELECT @FirstDistrib = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(SUBSTRING(@recommendation, @FirstDistribBegin, @DistribLength), CHAR(9), ''), CHAR(13), ''), '->', ''), '  ', ' '), ' ', '\",\"'), CHAR(10), '\"],[\"');\r\n\r\n        SELECT @FirstDistrib = REPLACE(REPLACE(@FirstDistrib, 'Distributed', 'Hash'), ':', '');\r\n\r\n        SELECT @FirstDistrib = '[[\"' + @FirstDistrib + '\"]]';\r\n\r\n        -- Format the recommendation output \r\n        SELECT y.TableName\r\n            , CurrentDistribution\r\n            , SuggestedDistribution\r\n            , ChangeCommand = CASE \r\n                WHEN CurrentDistribution = SuggestedDistribution\r\n                    THEN N'<no change>'\r\n                ELSE CONCAT (\r\n                        N'CREATE TABLE ', y.TableName, N'_changed \r\n                        WITH (DISTRIBUTION=', REPLACE(REPLACE(SuggestedDistribution, 'replicated', 'REPLICATE'), 'Hash', 'HASH'), N', ', i.TableIndex, ') \r\n                        AS SELECT * FROM ', y.TableName, N';\r\n\r\n                        DROP TABLE ', y.TableName, '; \r\n                        RENAME OBJECT ', y.TableName, N'_changed TO ', i.tableName, ';')\r\n                END\r\n            , Remarks = CASE \r\n                WHEN PATINDEX('%Hash%', CurrentDistribution) > 0\r\n                    AND CHARINDEX(',', CurrentDistribution) > 0\r\n                    THEN N'MCD tables are not considered by the current DA version.'\r\n                ELSE ''\r\n                END\r\n        FROM (\r\n            SELECT [0] AS TableName\r\n                , [1] AS CurrentDistribution\r\n                , [2] AS SuggestedDistribution\r\n            FROM (\r\n                SELECT pvt.*\r\n                FROM (\r\n                    SELECT row_no = [rows].[key]\r\n                        , col_no = [cols].[key]\r\n                        , cols.[value]\r\n                    FROM (\r\n                        SELECT [json] = @FirstDistrib\r\n                        ) step1\r\n                    CROSS APPLY openjson([json]) [rows]\r\n                    CROSS APPLY openjson([rows].[value]) [cols]\r\n                    ) base\r\n                pivot(max(base.[value]) FOR base.col_no IN ([0], [1], [2])) pvt\r\n                ) x\r\n            WHERE [1] IS NOT NULL\r\n                AND [2] IS NOT NULL\r\n            ) y\r\n        JOIN (\r\n            SELECT CONCAT (\r\n                    DB_NAME()\r\n                    , '.'\r\n                    , OBJECT_SCHEMA_NAME(t.object_id)\r\n                    , '.'\r\n                    , t.name\r\n                    ) AS FullObjectName\r\n                , OBJECT_SCHEMA_NAME(t.object_id) AS schemaName\r\n                , t.name AS tableName\r\n                , i.type\r\n                , CASE i.type\r\n                    WHEN 0\r\n                        THEN 'HEAP'\r\n                    WHEN 1\r\n                        THEN CONCAT ('CLUSTERED INDEX (', STRING_AGG(CAST(c.Name as VARCHAR(MAX)), ', ') WITHIN GROUP (ORDER BY ic.key_ordinal ASC), ')')\r\n                    WHEN 5\r\n                        THEN 'CLUSTERED COLUMNSTORE INDEX'\r\n                    END AS TableIndex\r\n            FROM sys.tables t\r\n            LEFT JOIN sys.indexes i\r\n                ON t.object_id = i.object_id\r\n                    AND i.type IN (0, 1, 5)\r\n            LEFT JOIN sys.index_columns ic\r\n                ON i.index_id = ic.index_id\r\n                    AND i.object_id = ic.object_id\r\n            LEFT JOIN sys.columns c\r\n                ON ic.column_id = c.column_id\r\n                    AND ic.object_id = c.object_id\r\n            GROUP BY t.name\r\n                , t.object_id\r\n                , i.name\r\n                , i.type\r\n            ) i\r\n            ON y.TableName = i.FullObjectName\r\n    END\r\nEND\r\nGO\r\n\r\nCREATE PROCEDURE write_dist_recommendation\r\n\t@NumMaxQueries int, \r\n\t@Queries NVARCHAR(MAX)\r\nAS BEGIN\r\n\tDECLARE @sql nvarchar(MAX);\r\n\tDECLARE @sessionid nvarchar(max) = SESSION_ID();\r\n\tDECLARE @guid nvarchar(100) = REPLACE(NEWID(), '-', '');\r\n\tDECLARE @guidpusher nvarchar(max) = CONCAT(N'    --distrib_advisor_correlation_id_', @guid, CHAR(13), CHAR(10));\r\n\tDECLARE @recostring nvarchar(max);\r\n\tif not exists ( select * from sys.tables where name = 'DistributionAdvisorSelectedQueries')\r\n\t\tcreate table DistributionAdvisorSelectedQueries(command nvarchar(4000), tot_te bigint) with(clustered columnstore index, distribution = ROUND_ROBIN);\r\n\r\n\t-- Filter queries that will not be considered by DA.\r\n\tIF (@Queries is NULL)\r\n\t\tBEGIN\r\n\t\t\tif (@NumMaxQueries is NULL or @NumMaxQueries < 1 or @NumMaxQueries > 100)\r\n\t\t\t\tBEGIN\r\n\t\t\t\t\tRAISERROR(N'Max queries value must be in [1...100] range, changing to 100.', 0, -1);\r\n\t\t\t\t\tSET @NumMaxQueries = 100;\r\n\t\t\t\tEND\r\n\t\t\tSET @sql = 'with topnqueries as \r\n\t\t\t\t\t(select top(@nmq) command, MIN(total_elapsed_time) AS min_te, AVG(total_elapsed_time) AS avg_te, COUNT(*) AS num_runs, SUM(total_elapsed_time) AS tot_te\r\n\t\t\t\t\tfrom (select command = case when command2 is null then command else command2 end, total_elapsed_time\r\n\t\t\t\t\tfrom sys.dm_pdw_exec_requests\r\n\t\t\t\t\twhere\r\n\t\t\t\t\t\tcommand not like ''%USE [[]DWShellDb%\\'' and\r\n\t\t\t\t\t\tcommand not like ''%DistributionAdvisor%'' and\r\n\t\t\t\t\t\tcommand not like ''--Backing up Logical Azure Database%\\'' and\r\n\t\t\t\t\t\tcommand not like ''%select % as ConnectionProtocol%'' and\r\n\t\t\t\t\t\tcommand like ''%select%'' and\r\n\t\t\t\t\t\tcommand not like ''%set recommendations%'' and \r\n\t\t\t\t\t\tcommand not like ''USE [[]%]'' and\r\n\t\t\t\t\t\tcommand not like ''%sys.system_sql_modules%'' and\r\n\t\t\t\t\t\tcommand not like ''%insert%'' and\r\n\t\t\t\t\t\tcommand not like ''%sys.indexes%'' and\r\n\t\t\t\t\t\tcommand not like ''%merge%'' and\r\n\t\t\t\t\t\tcommand not like ''%CREATE%TABLE%'' and\r\n\t\t\t\t\t\tcommand not like ''%dm_pdw_exec_requests%'' and\r\n\t\t\t\t\t\tcommand not like ''%sys.databases%'' and\r\n\t\t\t\t\t\tcommand not like ''%trancount%'' and \r\n\t\t\t\t\t\tcommand not like ''%spid%'' and total_elapsed_time > 300 and\r\n\t\t\t\t\t\tcommand not like ''%SERVERPROPERTY%'' and resource_class != ''NULL'' and\r\n\t\t\t\t\t\tcommand not like ''%sys.objects%'' and \r\n\t\t\t\t\t\tcommand not like ''%sys.tables%'' and \r\n\t\t\t\t\t\tcommand not like ''%sys.schemas%'' and \r\n\t\t\t\t\t\tcommand not like ''%sys.dm_pdw_%'' and\r\n\t\t\t\t\t\tstatus = ''Completed'') x\r\n\t\t\t\t\tGROUP BY command\r\n\t\t\t\t\tORDER BY tot_te desc),\r\n\t\t\t\tallqueries as (select command, tot_te from topnqueries union all select * from DistributionAdvisorSelectedQueries),\r\n\t\t\t\tallqueriesgrouped as (select command, sum(tot_te) as tot_te from allqueries group by command),\r\n\t\t\t\ttopnqueriesranked as (select REPLACE(command, '''''';'''''', ''CHAR(59)'') as command, tot_te, row_number() over (order by tot_te desc) as rn from allqueriesgrouped)\r\n\t\t\tselect @recostring = \r\n\t\t\t''set recommendations on;'' + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) \r\n\t\t\t+ ''/****************** Actual queries follow ****************************/'' + CHAR(13) + CHAR(10) +\r\n\t\t\tSTRING_AGG(\r\n\t\t\t\t''/************************** Query q'' + cast (rn-1 as nvarchar(max)) + '' ********************************/'' + CHAR(13) + CHAR(10) + \r\n\t\t\t\t(case \r\n\t\t\t\twhen charindex('';'', command) > 0 \r\n\t\t\t\tthen REPLACE(REPLACE(cast(command AS nvarchar(max)), ''--distrib_advisor_correlation_id_'', ''--''), '';'', @guidpusher)\r\n\t\t\t\telse concat(command, @guidpusher)\r\n\t\t\t\tend),\r\n\t\t\t\t'';'' + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10)) +\r\n\t\t\t + CHAR(13) + CHAR(10) + ''/******************** End actual queries **************************/'' + CHAR(13) + CHAR(10) +\r\n\t\t\t''set recommendations off;''\r\n\t\t\tfrom topnqueriesranked';\r\n\t\t\tEND\r\n\tELSE\r\n\t\tBEGIN\r\n\t\t\tSET @NumMaxQueries = 100;\r\n\t\t\tSET @Queries = REPLACE(@Queries, ''';''', 'char(59)');\r\n\t\t\tSET @sql = 'with userqueries as \r\n\t\t\t\t\t\t(select CONCAT(value,'';'') as command, ordinal as tot_te\r\n\t\t\t\t\t\tfrom STRING_SPLIT(@customQueries, '';'', 1) where trim(value) <> '''' union all select * from DistributionAdvisorSelectedQueries),\r\n\t\t\t\t\t\ttopnqueriesranked as (select *, row_number() over (order by tot_te desc) as rn from userqueries)\r\n\t\t\t\t\t\tselect @recostring = \r\n\t\t\t\t\t\t''set recommendations on;'' + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) \r\n\t\t\t\t\t\t+ ''/****************** Actual queries follow ****************************/'' + CHAR(13) + CHAR(10) +\r\n\t\t\t\t\t\tSTRING_AGG(\r\n\t\t\t\t\t\t\t''/************************** Query q'' + cast (rn-1 as nvarchar(max)) + '' ********************************/'' + CHAR(13) + CHAR(10) + \r\n\t\t\t\t\t\t\t(case \r\n\t\t\t\t\t\t\twhen charindex('';'', command) > 0 \r\n\t\t\t\t\t\t\tthen REPLACE(REPLACE(cast(command AS nvarchar(max)), ''--distrib_advisor_correlation_id_'', ''--''), '';'', @guidpusher)\r\n\t\t\t\t\t\t\telse concat(command, @guidpusher)\r\n\t\t\t\t\t\t\tend),\r\n\t\t\t\t\t\t\t'';'' + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10)) +\r\n\t\t\t\t\t\t + CHAR(13) + CHAR(10) + ''/******************** End actual queries **************************/'' + CHAR(13) + CHAR(10) +\r\n\t\t\t\t\t\t''set recommendations off;''\r\n\t\t\t\t\t\tfrom topnqueriesranked';\r\n\t\t\tEND\r\n\tEXEC sp_executesql @sql, N'@recostring nvarchar(max) OUTPUT, @guidpusher nvarchar(max), @nmq int, @customQueries nvarchar(max)', @recostring OUTPUT, @guidpusher, @NumMaxQueries, @Queries;\r\n\r\n\tIF (@recostring is null or len(@recostring) = 0)\r\n\tBEGIN\r\n\t\tRAISERROR(N'Cannot construct the set of queries to feed to advisor. This often happens if there are not enough queries in sys.dm_pdw_exec_requests.', 18, -1);\r\n\tEND\r\n\tELSE\r\n\t\tBEGIN\r\n\t\t\t-- For debugging purposes.\r\n\t\t\tSELECT @recostring AS Command_To_Invoke_Distribution_Advisor;\r\n\r\n\t\t\t-- A command to invoke Distribution Advisor with the above string.\r\n\t\t\tEXEC sp_executesql @recostring;\r\n\r\n\t\t\tRAISERROR(N'Please use ''read_dist_recommendation'' stored procedure after recommendation is created to retrieve it', 0, -1);\r\n\t\tEND\r\nEND\r\nGO\r\n\r\n-- This stored procedure reads the recommendation advice generated in write_dist_recommendation.\r\nCREATE PROCEDURE read_dist_recommendation\r\nAS BEGIN\r\n\r\n\tDECLARE @sessionid nvarchar(max) = SESSION_ID();\r\n\r\n\t-- get the answer from ring buffer; we may have to wait a bit, so we do a few tries for the ring buffer to get ready\r\n\tDECLARE @recommendation nvarchar(max);\r\n\tDECLARE @readrecommendation nvarchar(max) = N'select @recommendation = recommendation from sys.dm_pdw_distrib_advisor_results where @sessionid = session_id ';\r\n\tDECLARE @DelayStart datetime = GETDATE();\r\n\r\n\t-- Retrying for 10 seconds\r\n\tWHILE (@recommendation is null or len(@recommendation) = 0) and  DATEDIFF(second, @DelayStart, GETDATE()) < 10\r\n\tBEGIN\r\n\t\tEXEC sp_executesql @readrecommendation, N'@recommendation nvarchar(max) OUTPUT, @sessionid nvarchar(max)', @recommendation OUTPUT, @sessionid;\r\n\t\tif (@recommendation is null or len(@recommendation) = 0)\r\n\t\tBEGIN\r\n\t\t\tRAISERROR(N'No recommendation yet in ring buffer; waiting...', 0, -1);\r\n\t\tEND\r\n\tEND\r\n\r\n\t-- parsing and formatting the recommendation\r\n\tEXEC dbo.format_recommendation @recommendation;\r\nEND\r\nGO\r\n"
  },
  {
    "path": "Distribution_Advisor/README.md",
    "content": "# Distirbution Advisor\n\nPlease follow [these instructions](https://docs.microsoft.com/en-us/azure/synapse-analytics/sql/distribution-advisor) to run Distribution Advisor.\n"
  },
  {
    "path": "Distribution_Advisor/RunDistributionAdvisor.sql",
    "content": "\n-- *******************************************************************************************\n-- This portion is for a user input queries. \n-- PDW doesn't allow default values for stored procedures. So the input queries needs to be single string divided by a semicolon between each queries.\n-- This can be simply done by declaring a variable for each query string, and then combine them by using CONCAT() function.\n-- Max query number parameter is ignored in this scenario.\nEXEC dbo.write_dist_recommendation NULL, 'select count (*) from t1; select * from t1 join t2 on t1.a1 = t2.a1; select count (*) from t1; select * from t1 join t2 on t1.a1 = t2.a1;';\ngo\n-- Notice that the read_dist_recommendation and write_dist_recommendation stored procs need to be called together and seperated by go.\nEXEC dbo.read_dist_recommendation;\ngo\n\n-- *******************************************************************************************\n-- This portion is for running DA on top @MaxNumQueries queries.\n-- @MaxNumQueries parameter value can be in [1...100] range.\n-- if both parameters passed as NULL, the stored procedure will generate recommendation for top 100 queries.\nEXEC dbo.write_dist_recommendation 100, NULL\ngo\nEXEC dbo.read_dist_recommendation;\ngo\n\n-- *******************************************************************************************\n-- The below is an example usage of format_recommendation stored procedure.\n-- It takes the recommendation result as a parameter and displays in a formatted readable manner.\nset recommendations on;\ngo\n\nselect 1;\n\nset recommendations off;\ngo\n\nDECLARE @sessionid nvarchar(100);\nDECLARE @recommendation nvarchar(MAX);\nselect @sessionid = SESSION_ID();\nselect @recommendation = recommendation from sys.dm_pdw_distrib_advisor_results where session_id = @sessionid\nEXEC dbo.format_recommendation @recommendation;"
  },
  {
    "path": "Distribution_Advisor/e2e_queries_used_for_recommendations.sql",
    "content": "DECLARE @NumMaxQueries int = 100; -- change this to match the variable in mvp script; looks at different numbers of queries.\n\n-- the below where clauses should match those in the mvp script\n\nwith topnqueries as \n\t\t(select top(@NumMaxQueries) command, COUNT(*) AS number_of_runs, SUM(total_elapsed_time) AS total_execution_time\n\t\tfrom sys.dm_pdw_exec_requests\n\t\twhere\n\t\tcommand like '%select%' and\n\t\tcommand not like '%insert%' and \n\t\tcommand not like '%USE [[]DWShellDb%\\' and\n\t\tcommand not like '--Backing up Logical Azure Database%\\' and\n\t\tcommand not like '%select % as ConnectionProtocol%' and\n\t\tcommand not like '%set recommendations on%' and \n\t\tcommand not like '%set recommendations off%' and\n\t\tcommand not like 'USE [[]%]' and\n\t\tcommand not like '%sys.system_sql_modules%' and\n\t\tcommand not like '%sys.indexes%' and\n\t\tcommand not like '%merge%' and\n\t\tcommand not like '%CREATE%TABLE%' and\n\t\tcommand not like '%dm_pdw_exec_requests%' and\n\t\tcommand not like '%sys.databases%' and\n\t\tcommand not like '%trancount%' and command not like '%spid%' and\n\t\ttotal_elapsed_time > 300 and\n\t\tcommand not like '%SERVERPROPERTY%' and \n\t\tresource_class != 'NULL' and\n\t\tcommand not like '%sys.objects%' and command not like '%sys.tables%' and command not like '%sys.schemas%' and command not like '%sys.dm_pdw_%' and\n\t\tstatus = 'Completed'\n\t\tGROUP BY command\n\t\tORDER BY total_execution_time desc)\n\t\tselect * from topnqueries;"
  },
  {
    "path": "LICENSE",
    "content": "    MIT License\n\n    Copyright (c) Microsoft Corporation. All rights reserved.\n\n    Permission is hereby granted, free of charge, to any person obtaining a copy\n    of this software and associated documentation files (the \"Software\"), to deal\n    in the Software without restriction, including without limitation the rights\n    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n    copies of the Software, and to permit persons to whom the Software is\n    furnished to do so, subject to the following conditions:\n\n    The above copyright notice and this permission notice shall be included in all\n    copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n    SOFTWARE\n"
  },
  {
    "path": "Log_Analytics_queries/Pipelines/CompletedPipelineDurationInSeconds.kql",
    "content": "// Pipeline Durations in Seconds\nSynapseIntegrationPipelineRuns\n| where Status in ('Succeeded', 'Failed')\n| extend PipelineDuration = iif(Status in ('Succeeded', 'Failed'),datetime_diff('second', End, Start),0)\n| extend TriggerId = tostring(parse_json(Predecessors)[0].Id)\n| join kind = leftouter (\n            SynapseIntegrationTriggerRuns\n                | project TriggerId, TriggerName\n        ) on $left.TriggerId == $right.TriggerId\n| project Start, TriggerName, TriggerId, PipelineName, RunId, PipelineDuration, Status"
  },
  {
    "path": "Log_Analytics_queries/Pipelines/TopNLongestRunningPipelines.kql",
    "content": "// Synapse Pipelines - Chart - Top N Longest Running Pipelines\n// N == 5 \nSynapseIntegrationActivityRuns \n| extend e_Resource = tostring(array_reverse(split(tolower(_ResourceId), '/'))[0])\n| join kind = leftouter (\n    SynapseIntegrationPipelineRuns    \n    | extend TriggerId = tostring(parse_json(Predecessors)[0].Id)\n    | join kind = leftouter (\n        SynapseIntegrationTriggerRuns\n        | project TriggerId, TriggerName\n        )\n        on $left.TriggerId == $right.TriggerId\n    | project TriggerName, TriggerId, RunId\n    )\n    on $left.PipelineRunId == $right.RunId\n| extend ActivityDuration = iif(Status in ('Succeeded', 'Failed'), datetime_diff('second', End, Start), 0)\n| project\n    e_Resource,\n    ActivityName,\n    Start,\n    End,\n    ActivityDuration,\n    PipelineName,\n    TriggerName,\n    ActivityType\n| summarize Avg_Duration = avg(ActivityDuration), Max_Duration = max(ActivityDuration) by e_Resource, TriggerName, PipelineName, ActivityName, ActivityType\n| order by Max_Duration, Avg_Duration\n| limit 5\n"
  },
  {
    "path": "Log_Analytics_queries/ServerlessSql/CostPerQuery.txt",
    "content": "//Cost per query\nSynapseBuiltinSqlPoolRequestsEnded\n//| where _ResourceId has 'contosoprod'\n| project \n    BytesProcessed=Properties.dataProcessedBytes,\n    tostring(Identity),\n    QueryHash=tostring(Properties.queryHash),\n    QueryText=tostring(Properties.queryText),\n    _ResourceId\n| extend MbProcessed = case (BytesProcessed < 10000000,10000000,\n\t\t\t\t\t\t\tBytesProcessed)/1000/1000\n| summarize \n    MaxSingleQueryMBProcessed=max(toint(MbProcessed)),\n    TotalMBProcessed=sum(toint(MbProcessed)),\n    QueryCount=count(),\n    QueryHash=any(QueryHash) ,\n    Resource=any(_ResourceId)\n    by QueryText //using queryText because queryHash doesn’t change if only literals are different\n| extend Approx_Accumulated_Cost=((TotalMBProcessed)*5.0/100000.0)/100 \n| extend Approx_Cost_Per_Execution=((TotalMBProcessed)*5.0/100000.0)/100/QueryCount\n| order by TotalMBProcessed"
  },
  {
    "path": "Log_Analytics_queries/ServerlessSql/CostPerQuery.txt.bak",
    "content": "//Cost per query\nSynapseBuiltinSqlPoolRequestsEnded\n//| where _ResourceId has 'contosoprod'\n| project \n    BytesProcessed=Properties.dataProcessedBytes,\n    tostring(Identity),\n    QueryHash=tostring(Properties.queryHash),\n    QueryText=tostring(Properties.queryText),\n    _ResourceId\n| summarize \n    MaxSingleQueryMBProcessed=max(toint(BytesProcessed)/1024/1024),\n    TotalMBProcessed=sum(toint(BytesProcessed)/1024/1024),\n    QueryCount=count(),\n    QueryHash=any(QueryHash) ,\n    Resource=any(_ResourceId)\n    by QueryText //using queryText because queryHash doesn’t change if only literals are different\n| extend Approx_Accumulated_Cost=((TotalMBProcessed)*0.000476837158203125)/100 //multiply by price per mb ($5 per TB from Microsoft Docs: https://azure.microsoft.com/en-us/pricing/details/synapse-analytics/)\n| extend Approx_Cost_Per_Execution=((TotalMBProcessed)*0.000476837158203125)/100/QueryCount\n| order by TotalMBProcessed\n"
  },
  {
    "path": "Log_Analytics_queries/ServerlessSql/CostPerUser.txt",
    "content": "//Query cost by User\nSynapseBuiltinSqlPoolRequestsEnded\n//| where _ResourceId has 'contosoprod'\n| project BytesProcessed=Properties.dataProcessedBytes\n\t\t, tostring(Identity)\n| extend MbProcessed = case (BytesProcessed < 10000000,10000000,\n                            BytesProcessed)/1000/1000\n| summarize\n    TotalMBProcessed=sum(toint(MbProcessed)),\n    QueryCount=count(),\n    MaxSingleQueryMBProcessed=max(toint(MbProcessed) )\n    by Identity\n| extend Approx_Cost=((TotalMBProcessed) *5.0/100000.0) / 100 \n| order by TotalMBProcessed"
  },
  {
    "path": "Log_Analytics_queries/ServerlessSql/CostPerUser.txt.bak",
    "content": "//Query cost by User\nSynapseBuiltinSqlPoolRequestsEnded\n//| where _ResourceId has 'contosoprod'\n| project BytesProcessed=Properties.dataProcessedBytes,tostring(Identity),_ResourceId\n| summarize TotalMBProcessed=sum(toint(BytesProcessed)/1024/1024),QueryCount=count(),MaxSingleQueryMBProcessed=max(toint(BytesProcessed)/1024/1024),Resource=any(_ResourceId) by Identity\n| extend Approx_Cost=((TotalMBProcessed)*0.000476837158203125)/100 //multiply by price per mb ($5 per TB from Microsoft Docs: https://azure.microsoft.com/en-us/pricing/details/synapse-analytics/)\n| order by TotalMBProcessed\n"
  },
  {
    "path": "Log_Analytics_queries/Spark/CoresAndMemoryByApplication.kql",
    "content": "SparkListenerEvent_CL\n| summarize Total_vCores_Used=sum(Executor_Info_Total_Cores_d), Total_Memory_Used_GB=sum(Maximum_Memory_d)/(1024*1024*1024) by applicationId_s, clusterName_s, livyId_s;\n"
  },
  {
    "path": "Log_Analytics_queries/StandaloneSQLPool/DedicatedSqlPoolUsage.kql",
    "content": "// Intended to aid cost management of dedicated SQL pools\n// Set the UsageBucket to the level of granularity desired e.g. 1 hour, 4 hours, 1 day\n// Set the Lookback window to the duration of history to look back\n// Essentially this is a simple % of total usage bucketed by UsageBucket. If the values\n// are consistently low for PercentOfMaxDTU_Used the dedicated SQL pool may be a candidate\n// for scale down and/or for dynamic scaling by ETL/ELT orchestration.\nlet UsageBucket = 1d;\nlet Lookback = 14d;\nAzureMetrics\n| where TimeGenerated > ago(Lookback)\n| where MetricName == 'dwu_used'\n| summarize Max_DWU_Used = max(Maximum) by bin(TimeGenerated, UsageBucket), MetricName, Resource\n| join kind=inner (\n    AzureMetrics\n    | where TimeGenerated > ago(Lookback)\n    | where MetricName == 'dwu_limit'\n    | summarize DWU_Limit = max(Maximum) by bin(TimeGenerated, UsageBucket), MetricName, Resource)\n        on (($left.TimeGenerated == $right.TimeGenerated) and ($left.Resource == $right.Resource))\n| project-away MetricName, MetricName1, Resource1\n| extend PercentOfMaxDTU_Used = ((1.0 * Max_DWU_Used) / (1.0 * DWU_Limit)) * 100.0\n| project TimeGenerated, Resource, Max_DWU_Used, DWU_Limit, PercentOfMaxDTU_Used"
  },
  {
    "path": "Log_Analytics_queries/StandaloneSQLPool/LargestBroadcastSteps.kql",
    "content": "let databaseName=\"<databaseNameAllCaps>\";\nAzureDiagnostics\n| where Resource == databaseName\n| where Category == 'RequestSteps'\n| where OperationType_s == 'BroadcastMoveOperation'\n| summarize rowcount=max(RowCount_d),max(TimeGenerated) by RequestId_s,StepIndex_d\n| order by rowcount\n"
  },
  {
    "path": "Log_Analytics_queries/StandaloneSQLPool/LargestDataMovementSteps.kql",
    "content": "//Most Rows Moved by step\n// These are the largest data movement steps. Use this to identify a request ID to investigate\nlet databaseName = '<databaseName_ALL_CAPS>';\nAzureDiagnostics\n| where Category  == 'RequestSteps'\n| where Resource  == databaseName\n| extend elapsedTime = EndTime_t - StartTime_t\n| extend elapsedTime_min = elapsedTime/1m\n| order by RowCount_d desc\n| project RequestId_s,OperationType_s, RowCount_d,elapsedTime_min , StartTime_t, EndTime_t, Status_s\n//| limit 20\n"
  },
  {
    "path": "Log_Analytics_queries/StandaloneSQLPool/LogAnalyticsBasicQueries.sql",
    "content": "//List all queries \nAzureDiagnostics\n| where Category  == \"ExecRequests\"\n| project TimeGenerated , ErrorId_g , RequestId_s , SessionId_s , Status_s , SubmitTime_t , StartTime_t , EndCompileTime_t , EndTime_t , Label_s , DatabaseId_d , Command_s , ResourceClass_s , StatementType_s\n\n//Chart the most active resource classes\nAzureDiagnostics\n| where Category contains \"ExecRequests\"\n| where Status_s == \"Completed\"\n| summarize totalQueries = dcount(RequestId_s) by ResourceClass_s\n| render barchart\n\n//Count of all queued queries\nAzureDiagnostics\n| where Category contains \"waits\" \n| where Type_s == \"UserConcurrencyResourceType\"\n| summarize totalQueuedQueries = dcount(RequestId_s)\n\n//Longest Running Query Steps\nAzureDiagnostics\n| where Category == \"RequestSteps\"\n| where OperationType_s in (\"ShuffleMoveOperation\", \"BroadcastMoveOperation\", \"PartitionMoveOperation\", \"RoundRobinMoveOperation\", \"SingleSourceRoundRobinMoveOperation\", \"MoveOperation\", \"TrimMoveOperation\")\n| where Status_s == \"Complete\"\n| project RequestId_s, OperationType_s, duration_ms=datetime_diff('millisecond',EndTime_t, StartTime_t), RowCount_d , TimeGenerated  \n| order by duration_ms desc\n\n//Request Steps\nAzureDiagnostics\n| where Category  == \"RequestSteps\"\n| project TimeGenerated , ErrorId_g , OperationType_s , DistributionType_s , LocationType_s , StepIndex_d , RowCount_d , RequestId_s , Status_s , StartTime_t  , EndTime_t , Command_s \n\n//SQL Requests\nAzureDiagnostics\n| where Category  == \"SqlRequests\"\n| project TimeGenerated , StepIndex_d , PdwNodeId_d , DistributionId_d , RowCount_d , Spid_d ,  RequestId_s , Status_s , StartTime_t , EndTime_t , Command_s \n\n//Blocked By Firewall\nAzureMetrics \n| where ResourceProvider  == \"MICROSOFT.SQL\"\n| where Resource == \"NICKSALCSQLDW1\"\n| where MetricName ==\"blocked_by_firewall\"\n| project MetricName , Maximum, TimeGenerated \n\n//Cache Hit Percent\nAzureMetrics \n| where ResourceProvider  == \"MICROSOFT.SQL\"\n| where Resource == \"NICKSALCSQLDW1\"\n| where MetricName ==\"cache_hit_percent\"\n| project MetricName , Maximum, TimeGenerated \n\n//Connection Failed\nAzureMetrics \n| where ResourceProvider  == \"MICROSOFT.SQL\"\n| where Resource == \"NICKSALCSQLDW1\"\n| where MetricName ==\"connection_failed\"\n| project MetricName , Maximum, TimeGenerated  \n\n//Connection Success\nAzureMetrics \n| where ResourceProvider  == \"MICROSOFT.SQL\"\n| where Resource == \"NICKSALCSQLDW1\"\n| where MetricName ==\"connection_successful\"\n| project MetricName , Maximum, TimeGenerated  \n\n//CPU Percent\nAzureMetrics \n| where ResourceProvider  == \"MICROSOFT.SQL\"\n| where Resource == \"NICKSALCSQLDW1\"\n| where MetricName ==\"cpu_percent\"\n| project MetricName , Maximum, TimeGenerated\n\n//DWU Consumption Percent\nAzureMetrics \n| where ResourceProvider  == \"MICROSOFT.SQL\"\n| where Resource == \"NICKSALCSQLDW1\"\n| where MetricName ==\"dwu_consumption_percent\"\n\n//Tempdb ConsumptionPercent\nAzureMetrics \n| where ResourceProvider  == \"MICROSOFT.SQL\"\n| where Resource == \"NICKSALCSQLDW1\"\n| where MetricName ==\"local_tempdb_usage_percent\"\n| project MetricName , Maximum, TimeGenerated\n\n//Memory Usage Percent\nAzureMetrics \n| where ResourceProvider  == \"MICROSOFT.SQL\"\n| where Resource == \"NICKSALCSQLDW1\"\n| where MetricName ==\"memory_usage_percent\"\n| project MetricName , Maximum, TimeGenerated\n\n//Physical Data Read Percent\nAzureMetrics \n| where ResourceProvider  == \"MICROSOFT.SQL\"\n| where Resource == \"NICKSALCSQLDW1\"\n| where MetricName ==\"physical_data_read_percent\"\n| project MetricName , Maximum, TimeGenerated\n\n//Current DWU\nAzureMetrics | where MetricName == 'dwu_limit' \n| where Resource == 'NICKSALCSQLDW1'\n| project TimeGenerated , MetricName , Maximum \n| sort by TimeGenerated  \n| limit 1\n| project MetricName , Maximum, TimeGenerated"
  },
  {
    "path": "Log_Analytics_queries/StandaloneSQLPool/LongestBuildReplicatedTableCache",
    "content": "let databaseName = '<database_name>';\n//Longest running BuildReplicatedTableCache\nAzureDiagnostics\n| where Category  == 'ExecRequests'\n| where Resource  == databaseName\n| where StatementType_s !in ('Batch','Execute')\n| summarize Session_ID=max(SessionId_s),      Request_ID=max(RequestId_s),      Submit_Time=max(SubmitTime_t),      Start_Time=max(StartTime_t),      End_Time=max(EndTime_t),      Command=max(Command_s),       Statement_Type=max(StatementType_s),     Resource_class=max(ResourceClass_s)      by RequestId_s\n| join kind= inner\n(\n    AzureDiagnostics\n    | where Category  == 'ExecRequests'\n    | where Resource  == databaseName\n    //| where StatementType_s !in ('Batch','Execute')\n    | where StatementType_s == 'BuildReplicatedTableCache'\n    | where EndTime_t > ago(7d)\n    | where StartTime_t > ago(7d)\n    | extend elapsedTime = EndTime_t - StartTime_t\n    | extend elapsedTime_min = elapsedTime/1m\n    | order by elapsedTime_min desc\n    | project Request_ID=RequestId_s,elapsedTime_min\n)\non Request_ID\n| order by elapsedTime_min desc\n| project Session_ID,Request_ID,Submit_Time,Start_Time,End_Time,Elapsed_Time=elapsedTime_min,Command\n| limit 10\n\n/////////////////////////////////////////////////////////////////\n// Uncomment these sections to investigate further             //\n// To comment lines in bulk - select multiple lines and press  //\n// Uncomment block: ctrl+k then ctrl+u                         //\n// Comment block:   ctrl+k then ctrl+c                         //\n/////////////////////////////////////////////////////////////////\n\n\n// let databaseName = '<database_name>';\n// //Get Query Text snippet\n// AzureDiagnostics\n// | where Category  == 'ExecRequests'\n// | where Resource  == databaseName\n// | where RequestId_s == 'QID117009708' //Put your QueryID here\n// | order by TimeGenerated asc\n// | project TimeGenerated,SubmitTime_t,EndCompileTime_t,StartTime_t,EndTime_t,StatementType_s,ResourceClass_s,SessionId_s,RequestId_s,RootQueryId_s,Command_s,Status_s\n\n\n// let databaseName = '<database_name>';\n// //View the query steps with rowcounts\n// AzureDiagnostics\n// | where Category  == 'RequestSteps'\n// | where Resource  == databaseName\n// | where RequestId_s == 'QID117009708' //Put your QueryID here\n// | where Status_s != 'Running'\n// | summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\n// | order by StepIndex_d asc\n"
  },
  {
    "path": "Log_Analytics_queries/StandaloneSQLPool/MostReplicatedTableRebuilds.txt",
    "content": "let databaseName = '<database_name>';\nAzureDiagnostics\n| where Category == 'ExecRequests'\n| where Resource == databaseName\n| where StatementType_s == 'BuildReplicatedTableCache'\n| where Command_s != \"\"\n| where ResourceClass_s != \"\"\n| project Command_s, TimeGenerated, RequestId_s\n| summarize LastRebuild=max(TimeGenerated), RebuildCount_7Days=count(RequestId_s), AvgRebuildsPerDay=count(RequestId_s) / 7 by Command_s\n| order by RebuildCount_7Days desc\n| limit 20\n\n"
  },
  {
    "path": "Log_Analytics_queries/StandaloneSQLPool/QueriesByExecutionTime.kql",
    "content": "//Queries by Execution Time\nlet databaseName = '<databaseName_ALL_CAPS>';\nAzureDiagnostics \n| where Category  == 'ExecRequests'\n| where Resource  == databaseName\n| where StatementType_s !in ('Batch','Execute')\n| summarize Session_ID=max(SessionId_s), \n    Request_ID=max(RequestId_s), \n    Submit_Time=min(SubmitTime_t), \n    Start_Time=max(StartTime_t), \n    End_Time=max(EndTime_t), \n    Command=max(Command_s), \n    Last_Status=min(Status_s),\n    Statement_Type=max(StatementType_s),\n    Resource_class=max(ResourceClass_s) \n    by RequestId_s\n| extend elapsedTime_min = (End_Time - Submit_Time)/1m\n//| where Command contains \"<query text snippet\" //Uncomment to search by query text\n| order by elapsedTime_min\n//| limit 50\n\n"
  },
  {
    "path": "Log_Analytics_queries/StandaloneSQLPool/RepTableBuildCacheExecutionCount",
    "content": "let databaseName = '<database_name>';\n//Build cache count by day\nAzureDiagnostics\n| where Category  == 'ExecRequests'\n| where Resource  == databaseName \n| where StatementType_s == 'BuildReplicatedTableCache'\n| where Command_s != \"\"\n| where ResourceClass_s != \"\"\n| project Command_s,TimeGenerated,RequestId_s\n| summarize LastRebuild=max(TimeGenerated),RebuildCount_7Days=count(RequestId_s), AvgRebuildsPerDay=count(RequestId_s)/7 by Command_s\n| order by RebuildCount_7Days desc\n| limit 20"
  },
  {
    "path": "Log_Analytics_queries/StandaloneSQLPool/RowsProcessedPerHour",
    "content": "let databaseName = '<database_name>';\n//rows processed per hour\nAzureDiagnostics\n| where Category  == 'RequestSteps'\n| where Resource  == databaseName\n| where RowCount_d > 0\n| summarize Rows_Processed=sum(RowCount_d) by bin(TimeGenerated, 1hr)\n| limit 50\n"
  },
  {
    "path": "Log_Analytics_queries/StandaloneSQLPool/SingletonInserts.kql",
    "content": "//This query identifies Sessions with large numbers of insert statements, including the max rows inserted. It is mainly used to identify singleton or small inserts. \nlet databaseName=\"<databaseNameAllCaps>\";\nAzureDiagnostics\n| where Resource == databaseName\n| where Category == 'ExecRequests'\n| where StatementType_s in ('InsertIntoValues')\n| summarize SessionId_s=max(SessionId_s),max(StatementType_s),max(SessionId_s),min(Status_s),max(Command_s) by RequestId_s\n| join (AzureDiagnostics\n    | where Resource == databaseName\n    | where Category == 'RequestSteps' \n    | summarize max(RowCount_d) by RequestId_s\n) on RequestId_s\n| join (AzureDiagnostics\n    | where Resource == databaseName\n    | where Category == 'ExecRequests'\n    | where StatementType_s in ('InsertIntoValues')\n    | summarize count() by SessionId_s\n) on SessionId_s\n| order by count_\n| project SessionId=SessionId_s,RequestId=RequestId_s,StatementType=max_StatementType_s,StatementsFound=count_,MaxRowcount=max_RowCount_d,Status=min_Status_s,Command=max_Command_s\n| limit 100"
  },
  {
    "path": "Log_Analytics_queries/StandaloneSQLPool/TempTablesNotCreatedAsHeap.kql",
    "content": "let databaseName = 'DatabaseName_AllCaps';\n//Long-Running Queries - Just Actual Queries\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\nAzureDiagnostics\n| where Category  == 'ExecRequests'\n| where Resource  == databaseName\n| where StatementType_s !in ('Batch','Execute')\n| where tolower(Command_s) contains \"create table #\"\n and tolower(Command_s) !contains \"HEAP\"\n | summarize Session_ID=any(SessionId_s),\n    Request_ID=any(RequestId_s),\n    Submit_Time=max(SubmitTime_t),\n    Start_Time=max(StartTime_t),\n    End_Time=max(EndTime_t),\n    Command=any(Command_s),\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\n    Statement_Type=any(StatementType_s),\n    Resource_class=any(ResourceClass_s)\n    by RequestId_s\n| summarize ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\n| order by ElapsedTime_min desc"
  },
  {
    "path": "Log_Analytics_queries/StandaloneSQLPool/UnionVsUnionAll.kql",
    "content": "let databaseName = '<databaseNameAllCaps>';\n//Usage of Union vs Union ALL - this query is approximate since query text is limited to 4000 characters\nAzureDiagnostics \n| where Category  == 'ExecRequests'\n| where Resource  == databaseName\n| where StatementType_s !in ('Batch','Execute')\n| summarize Session_Id=max(SessionId_s), \n    Request_Id=max(RequestId_s), \n    Submit_Time=max(SubmitTime_t), \n    Start_Time=max(StartTime_t), \n    End_Time=max(EndTime_t), \n    Command=max(Command_s), \n    Status=min(Status_s),\n    Statement_Type=max(StatementType_s),\n    Resource_class=max(ResourceClass_s) \n    by RequestId_s\n| extend elapsedTime_min = (End_Time - Submit_Time)/1m\n| where Command has 'Union' and Command !has 'union all'\n| order by elapsedTime_min\n| project Session_Id,Request_Id,Submit_Time,Start_Time,End_Time,elapsedTime_min,Command,Status,Statement_Type,Resource_class\n| limit 50"
  },
  {
    "path": "Log_Analytics_queries/WorkspacesSQLPool/FindLargeBroadcasts.kql",
    "content": "let databaseName=\"<database_name>\";\nSynapseSqlPoolRequestSteps\n| where _ResourceId endswith databaseName\n| where OperationType == 'BroadcastMoveOperation'\n| summarize rowcount=max(RowCount),max(TimeGenerated),max(OperationType) by RequestId,StepIndex\n| order by rowcount\n\n"
  },
  {
    "path": "Log_Analytics_queries/WorkspacesSQLPool/IdentifySingletonInserts.kql",
    "content": "//This query identifies Sessions with large numbers of insert statements, including the max rows inserted. It is mainly used to identify singleton or small inserts. \nlet databaseName=\"<Database_name>\";\nSynapseSqlPoolExecRequests\n| where _ResourceId endswith databaseName\n| where StatementType in ('InsertIntoValues')\n| summarize max(StatementType),min(Status),max(Command) by RequestId\n| join (SynapseSqlPoolRequestSteps\n    | where _ResourceId endswith databaseName\n    | summarize max(RowCount) by RequestId\n    | where max_RowCount == 1\n) on RequestId\n| limit 100\n\n"
  },
  {
    "path": "Log_Analytics_queries/WorkspacesSQLPool/LongestRunningQueriesByExecutionTime.kql",
    "content": "//Long-Running Queries\nlet databaseName = '1';\nSynapseSqlPoolExecRequests\n| where _ResourceId  endswith databaseName\n| where StatementType !in ('Batch','Execute')\n| summarize \n    Request_ID=any(RequestId),\n    Submit_Time=min(TimeGenerated),\n    Start_Time=max(StartTime),\n    End_Time=max(EndTime),\n    Command=any(Command),\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\n    Statement_Type=any(StatementType),\n    Resource_class=any(ResourceClass)\n    by RequestId\n| summarize ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\n| order by ElapsedTime_min desc\n| limit 20\n\n//paste the request ID into teh 'query investigation' tab of the monitoring workbook if you want to investigate a query further\n\n"
  },
  {
    "path": "Log_Analytics_queries/WorkspacesSQLPool/QueriesWithResourceGrant.kql",
    "content": "//Queries including SLO and resource grant % until the resource grant % field is avaialble in log analytics covers DW500-DW6000\nlet snapshotTelemetryInterval = 1s;//1h;//30m;//Do not change\nSynapseSqlPoolExecRequests \n| where StatementType !in ('Batch','Execute')\n| where ResourceClass != ''\n| summarize //Session_ID=any(SessionId),\n    Request_ID=any(RequestId),\n    //Submit_Time=max(SubmitTime),\n    Start_Time=max(StartTime),\n    End_Time=max(EndTime),\n    Command=take_any(Command),\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\n    Statement_Type=any(StatementType),\n    Resource_Class=max(ResourceClass),\nContext=max(ClientCorrelationId),\nMinTimeGenerated=min(TimeGenerated),\nMaxTimeGenerated=max(TimeGenerated),\n   TimeGenerated=max(TimeGenerated),\n   ExplainOutput=max(ExplainOutput)\n   by RequestId\n| extend NumberNodes=split(split(ExplainOutput,\"number_nodes=\")[1],\"'\")[1] //parse out how many nodes are used in dsql plan\n| extend SLO = (NumberNodes* 500)\n| extend Resource_Grant = todecimal(\n    case(SLO==500,\n        case(Resource_Class == 'smallrc', 5.0,\n            Resource_Class == 'mediumrc', 10.0,\n            Resource_Class == 'largerc', 22.0,\n            Resource_Class == 'xlargerc', 70.0,\n            Resource_Class == 'staticrc10', 4.8,\n            Resource_Class == 'staticrc20', 9.6,\n            Resource_Class == 'staticrc30', 19.2,\n            Resource_Class == 'staticrc40', 38.4,\n            Resource_Class == 'staticrc50', 76.8,\n            Resource_Class == 'staticrc60', 100.0,\n            Resource_Class == 'staticrc70', 100.0,\n            Resource_Class == 'staticrc80', 100.0,\n            Resource_Class == 'default', 5.0,\n            0.0)\n        ,SLO==1000,\n            case(Resource_Class == 'smallrc', 3.0,\n            Resource_Class == 'mediumrc', 10.0,\n            Resource_Class == 'largerc', 22.0,\n            Resource_Class == 'xlargerc', 70.0,\n            Resource_Class == 'staticrc10', 2.4,\n            Resource_Class == 'staticrc20', 4.8,\n            Resource_Class == 'staticrc30', 9.6,\n            Resource_Class == 'staticrc40', 19.2,\n            Resource_Class == 'staticrc50', 38.4,\n            Resource_Class == 'staticrc60', 76.8,\n            Resource_Class == 'staticrc70', 100.0,\n            Resource_Class == 'staticrc80', 100.0,\n            Resource_Class == 'default', 3.0,\n            0.0)\n        ,SLO==1500,\n            case(Resource_Class == 'smallrc', 3.0,\n            Resource_Class == 'mediumrc', 10.0,\n            Resource_Class == 'largerc', 22.0,\n            Resource_Class == 'xlargerc', 70.0,\n            Resource_Class == 'staticrc10', 1.6,\n            Resource_Class == 'staticrc20', 3.2,\n            Resource_Class == 'staticrc30', 6.4,\n            Resource_Class == 'staticrc40', 12.8,\n            Resource_Class == 'staticrc50', 25.6,\n            Resource_Class == 'staticrc60', 51.2,\n            Resource_Class == 'staticrc70', 100.0,\n            Resource_Class == 'staticrc80', 100.0,\n            Resource_Class == 'default', 3.0,\n            0.0)\n        ,SLO==2000,\n            case(Resource_Class == 'smallrc', 3.0,\n            Resource_Class == 'mediumrc', 10.0,\n            Resource_Class == 'largerc', 22.0,\n            Resource_Class == 'xlargerc', 70.0,\n            Resource_Class == 'staticrc10', 1.2,\n            Resource_Class == 'staticrc20', 2.4,\n            Resource_Class == 'staticrc30', 4.8,\n            Resource_Class == 'staticrc40', 9.6,\n            Resource_Class == 'staticrc50', 19.2,\n            Resource_Class == 'staticrc60', 38.4,\n            Resource_Class == 'staticrc70', 76.8,\n            Resource_Class == 'staticrc80', 100.0,\n            Resource_Class == 'default', 3.0,\n            0.0)\n        ,SLO==2500,\n            case(Resource_Class == 'smallrc', 3.0,\n            Resource_Class == 'mediumrc', 10.0,\n            Resource_Class == 'largerc', 22.0,\n            Resource_Class == 'xlargerc', 70.0,\n            Resource_Class == 'staticrc10', 0.96,\n            Resource_Class == 'staticrc20', 1.92,\n            Resource_Class == 'staticrc30', 3.84,\n            Resource_Class == 'staticrc40', 7.68,\n            Resource_Class == 'staticrc50', 16.36,\n            Resource_Class == 'staticrc60', 30.72,\n            Resource_Class == 'staticrc70', 61.44,\n            Resource_Class == 'staticrc80', 100.0,\n            Resource_Class == 'default', 3.0,\n            0.0)\n        ,SLO==3000,\n            case(Resource_Class == 'smallrc', 3.0,\n            Resource_Class == 'mediumrc', 10.0,\n            Resource_Class == 'largerc', 22.0,\n            Resource_Class == 'xlargerc', 70.0,\n            Resource_Class == 'staticrc10', 0.8,\n            Resource_Class == 'staticrc20', 1.6,\n            Resource_Class == 'staticrc30', 3.2,\n            Resource_Class == 'staticrc40', 6.4,\n            Resource_Class == 'staticrc50', 12.8,\n            Resource_Class == 'staticrc60', 25.6,\n            Resource_Class == 'staticrc70', 51.2,\n            Resource_Class == 'staticrc80', 100.0,\n            Resource_Class == 'default', 3.0,\n            0.0)\n        ,SLO==5000,\n            case(Resource_Class == 'smallrc', 3.0,\n            Resource_Class == 'mediumrc', 10.0,\n            Resource_Class == 'largerc', 22.0,\n            Resource_Class == 'xlargerc', 70.0,\n            Resource_Class == 'staticrc10', 0.48,\n            Resource_Class == 'staticrc20', 0.96,\n            Resource_Class == 'staticrc30', 1.92,\n            Resource_Class == 'staticrc40', 3.84,\n            Resource_Class == 'staticrc50', 7.68,\n            Resource_Class == 'staticrc60', 15.36,\n            Resource_Class == 'staticrc70', 30.72,\n            Resource_Class == 'staticrc80', 61.44,\n            Resource_Class == 'default', 3.0,\n            0.0)\n        ,SLO==6000,\n            case(Resource_Class == 'smallrc', 3.0,\n            Resource_Class == 'mediumrc', 10.0,\n            Resource_Class == 'largerc', 22.0,\n            Resource_Class == 'xlargerc', 70.0,\n            Resource_Class == 'staticrc10', 0.4,\n            Resource_Class == 'staticrc20', 0.8,\n            Resource_Class == 'staticrc30', 1.6,\n            Resource_Class == 'staticrc40', 3.2,\n            Resource_Class == 'staticrc50', 6.4,\n            Resource_Class == 'staticrc60', 12.8,\n            Resource_Class == 'staticrc70', 25.6,\n            Resource_Class == 'staticrc80', 51.2,\n            Resource_Class == 'default', 3.0,\n            0.0)\n        ,0.0)\n        ) //if no match"
  },
  {
    "path": "Log_Analytics_queries/WorkspacesSQLPool/QueryList_withResultSetCacheData.kql",
    "content": "//Query List with ResultSetCache data\nlet databaseName = 'syntheticworkload';\nSynapseSqlPoolExecRequests\n| where _ResourceId  endswith databaseName\n| where StatementType !in ('Batch','Execute')\n| summarize \n    Request_ID=any(RequestId),\n    Submit_Time=min(TimeGenerated),\n    Start_Time=max(StartTime),\n    End_Time=max(EndTime),\n    Command=any(Command),\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\n    Statement_Type=any(StatementType),\n    Resource_class=any(ResourceClass),\n    ResultCacheHit=min(ResultCacheHit)\n    by RequestId\n| summarize ResultCacheHit=min(ResultCacheHit),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\n| order by ElapsedTime_min desc"
  },
  {
    "path": "Log_Analytics_queries/WorkspacesSQLPool/TempTableASHeap.kql",
    "content": "let databaseName = '<database_name>';\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\nSynapseSqlPoolExecRequests\n| where _ResourceId  endswith databaseName\n| where StatementType !in ('Batch','Execute')\n| where tolower(Command) contains \"create table #\" and tolower(Command) !has 'heap'\n | summarize \n    Request_ID=any(RequestId),\n    Submit_Time=min(TimeGenerated),\n    Start_Time=max(StartTime),\n    End_Time=max(EndTime),\n    Command=any(Command),\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\n    Statement_Type=any(StatementType),\n    Resource_class=any(ResourceClass)\n    by RequestId\n| summarize \n    ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d))\n    , Submit_Time=any(Submit_Time) \n    ,Start_Time=any(Start_Time)\n    , End_Time=any(End_Time)\n    ,Command=any(Command)\n    ,Status=any(Status)\n    ,Statement_Type=any(Statement_Type)\n    ,Resource_class=any(Resource_class) \n    by Request_ID\n| order by ElapsedTime_min desc"
  },
  {
    "path": "Log_Analytics_queries/WorkspacesSQLPool/UnionVsUnionAll.kql",
    "content": "//Usage of Union vs Union ALL\nlet databaseName = '<database_name>';\nSynapseSqlPoolExecRequests\n| where _ResourceId  endswith databaseName\n| where StatementType !in ('Batch','Execute')\n| summarize \n    Request_Id=max(RequestId), \n    Submit_Time=min(TimeGenerated), \n    Start_Time=max(StartTime), \n    End_Time=max(EndTime), \n    Command=max(Command), \n    Status=min(Status),\n    Statement_Type=max(StatementType),\n    Resource_class=max(ResourceClass) \n    by RequestId\n| extend elapsedTime_min = (End_Time - Submit_Time)/1m\n| where Command has 'Union' and Command !has 'union all'\n| order by elapsedTime_min\n| project Request_Id,Submit_Time,Start_Time,End_Time,elapsedTime_min,Command,Status,Statement_Type,Resource_class\n| limit 50\n"
  },
  {
    "path": "Monitor_Workbooks/DW_Summary_v1.1.workbook",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{Subscriptions}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"15a2c4b1-1223-428f-80a0-53ec8e8e86a5\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isRequired\": true,\n            \"value\": {\n              \"durationMs\": 604800000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                },\n                {\n                  \"durationMs\": 5184000000\n                },\n                {\n                  \"durationMs\": 7776000000\n                }\n              ],\n              \"allowCustom\": true\n            }\n          },\n          {\n            \"id\": \"bc3b3200-d39a-4d72-adc3-8473457d9b30\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"Subscriptions\",\n            \"type\": 6,\n            \"isRequired\": true,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"value\": [\n              \"value::all\"\n            ],\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::1\",\n                \"value::all\"\n              ],\n              \"includeAll\": false\n            }\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 1,\n        \"resourceType\": \"microsoft.resourcegraph/resources\"\n      },\n      \"name\": \"parameters - 1\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"d29d564f-9326-433b-8b87-678461724323\",\n            \"cellValue\": \"objectType\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Dedicated Pools\",\n            \"subTarget\": \"dedicated\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 6\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"tabs\",\n              \"links\": [\n                {\n                  \"id\": \"933d2413-fcd3-4a62-827d-de0aeefd2632\",\n                  \"cellValue\": \"selectedTab\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Synapse Dedicated Pools\",\n                  \"subTarget\": \"synapseDP\",\n                  \"preText\": \"selec\",\n                  \"style\": \"link\"\n                },\n                {\n                  \"id\": \"e821e971-adcf-4c8b-8cf8-47bf91576670\",\n                  \"cellValue\": \"selectedTab\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Standalone Dedicated Pools\",\n                  \"subTarget\": \"standaloneDP\",\n                  \"style\": \"link\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{Subscriptions}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8998a008-ea1b-4f4b-bcc2-44e15deba715\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SQLDWDBs\",\n                  \"label\": \"Standalone Pools\",\n                  \"type\": 5,\n                  \"isRequired\": true,\n                  \"multiSelect\": true,\n                  \"quote\": \"'\",\n                  \"delimiter\": \",\",\n                  \"query\": \"resources \\r\\n| where type =~ 'microsoft.sql/servers/databases'\\r\\n| where sku has \\\"DataWarehouse\\\"\\r\\n| where resourceGroup !startswith \\\"synapseworkspace-managedrg-\\\" \\r\\n| where resourceGroup !startswith \\\"workspacemanagedrg-\\\"\\r\\n| project id\",\n                  \"crossComponentResources\": [\n                    \"{Subscriptions}\"\n                  ],\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [\n                      \"value::1\",\n                      \"value::10\",\n                      \"value::all\"\n                    ],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"defaultValue\": \"value::all\",\n                  \"queryType\": 1,\n                  \"resourceType\": \"microsoft.resourcegraph/resources\",\n                  \"value\": [\n                    \"value::all\"\n                  ]\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 1,\n              \"resourceType\": \"microsoft.resourcegraph/resources\"\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"selectedTab\",\n              \"comparison\": \"isEqualTo\",\n              \"value\": \"standaloneDP\"\n            },\n            \"name\": \"Parameters - SQL DW\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{Subscriptions}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"b8eda6e3-e18a-47bc-9d3f-8df41a29a95c\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SynapseDedicatedPools\",\n                  \"type\": 5,\n                  \"multiSelect\": true,\n                  \"quote\": \"'\",\n                  \"delimiter\": \",\",\n                  \"query\": \"resources\\r\\n| where type == \\\"microsoft.synapse/workspaces/sqlpools\\\"\\r\\n| project id\",\n                  \"crossComponentResources\": [\n                    \"{Subscriptions}\"\n                  ],\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [\n                      \"value::10\",\n                      \"value::all\"\n                    ],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"defaultValue\": \"value::all\",\n                  \"queryType\": 1,\n                  \"resourceType\": \"microsoft.resourcegraph/resources\",\n                  \"value\": [\n                    \"value::all\"\n                  ]\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 1,\n              \"resourceType\": \"microsoft.resourcegraph/resources\"\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"selectedTab\",\n              \"comparison\": \"isEqualTo\",\n              \"value\": \"synapseDP\"\n            },\n            \"name\": \"Parameters - SQL DW - Copy\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 10,\n                  \"content\": {\n                    \"chartId\": \"workbookf1358ff0-0e10-4ac2-ab2d-2fdfdb74dc2f\",\n                    \"version\": \"MetricsItem/2.0\",\n                    \"size\": 2,\n                    \"chartType\": 0,\n                    \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n                    \"metricScope\": 0,\n                    \"resourceParameter\": \"SynapseDedicatedPools\",\n                    \"resourceIds\": [\n                      \"{SynapseDedicatedPools}\"\n                    ],\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeContext\": {\n                      \"durationMs\": 604800000\n                    },\n                    \"metrics\": [\n                      {\n                        \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                        \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWULimit\",\n                        \"aggregation\": 3\n                      },\n                      {\n                        \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                        \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWUUsedPercent\",\n                        \"aggregation\": 3\n                      },\n                      {\n                        \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                        \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-CPUPercent\",\n                        \"aggregation\": 3\n                      },\n                      {\n                        \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                        \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                        \"aggregation\": 3\n                      },\n                      {\n                        \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                        \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ActiveQueries\",\n                        \"aggregation\": 1\n                      },\n                      {\n                        \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                        \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-QueuedQueries\",\n                        \"aggregation\": 1\n                      },\n                      {\n                        \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                        \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheHitPercent\",\n                        \"aggregation\": 3\n                      },\n                      {\n                        \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                        \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheUsedPercent\",\n                        \"aggregation\": 3\n                      }\n                    ],\n                    \"gridSettings\": {\n                      \"formatters\": [\n                        {\n                          \"columnMatch\": \"$gen_group\",\n                          \"formatter\": 13,\n                          \"formatOptions\": {\n                            \"linkTarget\": \"Resource\",\n                            \"showIcon\": true\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Group\",\n                          \"formatter\": 13,\n                          \"formatOptions\": {\n                            \"linkTarget\": \"Resource\",\n                            \"showIcon\": true\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Subscription\",\n                          \"formatter\": 13,\n                          \"formatOptions\": {\n                            \"linkTarget\": \"Resource\",\n                            \"showIcon\": true\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Name\",\n                          \"formatter\": 5,\n                          \"formatOptions\": {\n                            \"linkTarget\": \"Resource\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWULimit\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"palette\": \"magenta\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWULimit Timeline\",\n                          \"formatter\": 5\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWUUsedPercent\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"min\": 0,\n                            \"max\": 100,\n                            \"palette\": \"greenRed\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWUUsedPercent Timeline\",\n                          \"formatter\": 21,\n                          \"formatOptions\": {\n                            \"palette\": \"blue\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-CPUPercent\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"min\": 0,\n                            \"max\": 100,\n                            \"palette\": \"greenRed\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-CPUPercent Timeline\",\n                          \"formatter\": 5\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"min\": 0,\n                            \"max\": 100,\n                            \"palette\": \"greenRed\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent Timeline\",\n                          \"formatter\": 21,\n                          \"formatOptions\": {\n                            \"palette\": \"yellow\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ActiveQueries\",\n                          \"formatter\": 1,\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": null\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ActiveQueries Timeline\",\n                          \"formatter\": 5\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-QueuedQueries\",\n                          \"formatter\": 1,\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": null\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-QueuedQueries Timeline\",\n                          \"formatter\": 5\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheHitPercent\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"min\": 50,\n                            \"max\": 100,\n                            \"palette\": \"redGreen\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheHitPercent Timeline\",\n                          \"formatter\": 5\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheUsedPercent\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"min\": 0,\n                            \"max\": 100,\n                            \"palette\": \"greenRed\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheUsedPercent Timeline\",\n                          \"formatter\": 5\n                        }\n                      ],\n                      \"rowLimit\": 10000,\n                      \"filter\": true,\n                      \"hierarchySettings\": {\n                        \"treeType\": 1,\n                        \"groupBy\": [\n                          \"Subscription\"\n                        ],\n                        \"expandTopLevel\": true,\n                        \"finalBy\": \"Name\"\n                      },\n                      \"labelSettings\": [\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWULimit\",\n                          \"label\": \"DWU\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWULimit Timeline\",\n                          \"label\": \"DWU limit Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWUUsedPercent\",\n                          \"label\": \"DWU (Max)\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWUUsedPercent Timeline\",\n                          \"label\": \"DWU Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-CPUPercent\",\n                          \"label\": \"CPU (Max)\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-CPUPercent Timeline\",\n                          \"label\": \"CPU used percentage Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                          \"label\": \"Tempdb (Max)\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent Timeline\",\n                          \"label\": \"Tempdb Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ActiveQueries\",\n                          \"label\": \"Total Queries\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ActiveQueries Timeline\",\n                          \"label\": \"Query Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-QueuedQueries\",\n                          \"label\": \"Total Queued\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-QueuedQueries Timeline\",\n                          \"label\": \"Queued queries Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheHitPercent\",\n                          \"label\": \"Cache hit percentage (Max)\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheHitPercent Timeline\",\n                          \"label\": \"Adaptive cache hit percentage Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheUsedPercent\",\n                          \"label\": \"Cache used percentage (Max)\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheUsedPercent Timeline\",\n                          \"label\": \"Adaptive cache used percentage Timeline\"\n                        }\n                      ]\n                    },\n                    \"sortBy\": []\n                  },\n                  \"showPin\": true,\n                  \"name\": \"Metrics - SQL DW DTU/CPU\"\n                }\n              ]\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"selectedTab\",\n              \"comparison\": \"isEqualTo\",\n              \"value\": \"synapseDP\"\n            },\n            \"name\": \"SynapseGroup\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 10,\n                  \"content\": {\n                    \"chartId\": \"workbookf1358ff0-0e10-4ac2-ab2d-2fdfdb74dc2f\",\n                    \"version\": \"MetricsItem/2.0\",\n                    \"size\": 2,\n                    \"chartType\": 0,\n                    \"resourceType\": \"microsoft.sql/servers/databases\",\n                    \"metricScope\": 0,\n                    \"resourceParameter\": \"SQLDWDBs\",\n                    \"resourceIds\": [\n                      \"{SQLDWDBs}\"\n                    ],\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeContext\": {\n                      \"durationMs\": 604800000\n                    },\n                    \"metrics\": [\n                      {\n                        \"namespace\": \"microsoft.sql/servers/databases\",\n                        \"metric\": \"microsoft.sql/servers/databases-Basic-dwu_limit\",\n                        \"aggregation\": 3,\n                        \"columnName\": \"DWU\"\n                      },\n                      {\n                        \"namespace\": \"microsoft.sql/servers/databases\",\n                        \"metric\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent\",\n                        \"aggregation\": 3\n                      },\n                      {\n                        \"namespace\": \"microsoft.sql/servers/databases\",\n                        \"metric\": \"microsoft.sql/servers/databases-Basic-cpu_percent\",\n                        \"aggregation\": 3\n                      },\n                      {\n                        \"namespace\": \"microsoft.sql/servers/databases\",\n                        \"metric\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent\",\n                        \"aggregation\": 3\n                      },\n                      {\n                        \"namespace\": \"microsoft.sql/servers/databases\",\n                        \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                        \"aggregation\": 3,\n                        \"columnName\": \"TempDB Usage\"\n                      },\n                      {\n                        \"namespace\": \"microsoft.sql/servers/databases\",\n                        \"metric\": \"microsoft.sql/servers/databases-Basic-active_queries\",\n                        \"aggregation\": 1\n                      },\n                      {\n                        \"namespace\": \"microsoft.sql/servers/databases\",\n                        \"metric\": \"microsoft.sql/servers/databases-Basic-queued_queries\",\n                        \"aggregation\": 1\n                      }\n                    ],\n                    \"gridSettings\": {\n                      \"formatters\": [\n                        {\n                          \"columnMatch\": \"$gen_group\",\n                          \"formatter\": 13,\n                          \"formatOptions\": {\n                            \"linkTarget\": \"Resource\",\n                            \"showIcon\": true\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Group\",\n                          \"formatter\": 13,\n                          \"formatOptions\": {\n                            \"linkTarget\": \"Resource\",\n                            \"showIcon\": true\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Subscription\",\n                          \"formatter\": 13,\n                          \"formatOptions\": {\n                            \"linkTarget\": \"Resource\",\n                            \"showIcon\": true\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Name\",\n                          \"formatter\": 5\n                        },\n                        {\n                          \"columnMatch\": \"DWU\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"palette\": \"magenta\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"DWU Timeline\",\n                          \"formatter\": 5\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"min\": 0,\n                            \"max\": 100,\n                            \"palette\": \"greenRed\"\n                          },\n                          \"numberFormat\": {\n                            \"unit\": 1,\n                            \"options\": {\n                              \"style\": \"decimal\",\n                              \"useGrouping\": false\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent Timeline\",\n                          \"formatter\": 21,\n                          \"formatOptions\": {\n                            \"palette\": \"blue\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-cpu_percent\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"min\": 0,\n                            \"max\": 100,\n                            \"palette\": \"greenRed\"\n                          },\n                          \"numberFormat\": {\n                            \"unit\": 1,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-cpu_percent Timeline\",\n                          \"formatter\": 5\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"min\": 0,\n                            \"max\": 100,\n                            \"palette\": \"greenRed\"\n                          },\n                          \"numberFormat\": {\n                            \"unit\": 1,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent Timeline\",\n                          \"formatter\": 5\n                        },\n                        {\n                          \"columnMatch\": \"TempDB Usage\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"min\": 0,\n                            \"max\": 100,\n                            \"palette\": \"greenRed\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"TempDB Usage Timeline\",\n                          \"formatter\": 21,\n                          \"formatOptions\": {\n                            \"palette\": \"red\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-active_queries\",\n                          \"formatter\": 1,\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": null\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-active_queries Timeline\",\n                          \"formatter\": 5\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-queued_queries\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"min\": 0,\n                            \"max\": 1024,\n                            \"palette\": \"yellowOrangeRed\"\n                          },\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-queued_queries Timeline\",\n                          \"formatter\": 21,\n                          \"formatOptions\": {\n                            \"palette\": \"yellow\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                          \"formatter\": 21,\n                          \"formatOptions\": {\n                            \"palette\": \"blue\"\n                          },\n                          \"numberFormat\": {\n                            \"unit\": 1,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent Timeline\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"palette\": \"blue\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-dwu_limit\",\n                          \"formatter\": 21,\n                          \"formatOptions\": {\n                            \"palette\": \"yellow\"\n                          },\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        }\n                      ],\n                      \"rowLimit\": 10000,\n                      \"filter\": true,\n                      \"hierarchySettings\": {\n                        \"treeType\": 1,\n                        \"groupBy\": [\n                          \"Subscription\"\n                        ],\n                        \"expandTopLevel\": true,\n                        \"finalBy\": \"Name\"\n                      },\n                      \"sortBy\": [\n                        {\n                          \"itemKey\": \"$gen_heatmap_DWU_3\",\n                          \"sortOrder\": 2\n                        }\n                      ],\n                      \"labelSettings\": [\n                        {\n                          \"columnId\": \"DWU\",\n                          \"label\": \"DWU\"\n                        },\n                        {\n                          \"columnId\": \"DWU Timeline\",\n                          \"label\": \"DWU Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent\",\n                          \"label\": \"DWU (Max)\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent Timeline\",\n                          \"label\": \"DWU percentage Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-cpu_percent\",\n                          \"label\": \"CPU (Max)\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-cpu_percent Timeline\",\n                          \"label\": \"CPU percentage Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent\",\n                          \"label\": \"Data IO (Max)\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent Timeline\",\n                          \"label\": \"Data IO percentage Timeline\"\n                        },\n                        {\n                          \"columnId\": \"TempDB Usage\",\n                          \"label\": \"TempDB (Max)\"\n                        },\n                        {\n                          \"columnId\": \"TempDB Usage Timeline\",\n                          \"label\": \"TempDB Usage Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-active_queries\",\n                          \"label\": \"Total Queries\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-active_queries Timeline\",\n                          \"label\": \"Active queries (Sum) Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-queued_queries\",\n                          \"label\": \"Total Queued Queries\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-queued_queries Timeline\",\n                          \"label\": \"Queued queries Timeline\"\n                        }\n                      ]\n                    },\n                    \"sortBy\": [\n                      {\n                        \"itemKey\": \"$gen_heatmap_DWU_3\",\n                        \"sortOrder\": 2\n                      }\n                    ],\n                    \"showExportToExcel\": true\n                  },\n                  \"showPin\": true,\n                  \"name\": \"Metrics - SQL DW DTU/CPU\"\n                }\n              ]\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"selectedTab\",\n              \"comparison\": \"isEqualTo\",\n              \"value\": \"standaloneDP\"\n            },\n            \"name\": \"standaloneGroup\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"objectType\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"dedicated\"\n      },\n      \"name\": \"Dedicated Pool Group\"\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"Azure Monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/DedicatedSQLPool_workspace_v1.2.workbook",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{LogAnalyticsWorkspace}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 43200000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"SynapseSqlPoolExecRequests \\r\\n| distinct _ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"print split (\\\"{DatabaseResourceName}\\\",\\\"/\\\")[-1]\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"b86cd4a2-2303-4288-b48c-1c119cb420ba\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"AuditingState\",\n            \"type\": 1,\n            \"query\": \"let hasNonEmptyTable = (T:string) \\r\\n{ \\r\\n   toscalar( \\r\\n   union isfuzzy=true \\r\\n   ( table(T) \\r\\n   | where DatabaseName has '{DatabaseName}'\\r\\n   | where TimeGenerated > ago(30d)| take 1 | count as Count ),\\r\\n   (print Count=0) \\r\\n   | summarize sum(Count) \\r\\n   ) > 0\\r\\n};\\r\\nlet TableName = 'SQLSecurityAuditEvents';\\r\\nprint  IsPresent=iif(hasNonEmptyTable(TableName ), \\\"enabled\\\", \\\"disabled\\\")\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 604800000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"4025bcb8-f6d7-4e81-b805-84253835f8fb\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DiagnosticsState\",\n            \"type\": 1,\n            \"query\": \"let hasNonEmptyTable = (T:string, T2:string) \\r\\n{ \\r\\n   toscalar( \\r\\n   union isfuzzy=true \\r\\n   ( table(T) | where TimeGenerated > ago(30d) | where _ResourceId endswith '/sqlpools/{DatabaseName}'| take 1 | count as Count ),\\r\\n   ( table(T2) | where TimeGenerated > ago(30d) | where _ResourceId endswith '/sqlpools/{DatabaseName}'| take 1 | count as Count),\\r\\n   (print Count=0) \\r\\n   | summarize sum(Count) \\r\\n   ) > 1\\r\\n};\\r\\nlet TableName = 'SynapseSqlPoolExecRequests';\\r\\nlet TableName2 = 'SynapseSqlPoolRequestSteps';\\r\\nprint  IsPresent=iif(hasNonEmptyTable(TableName,TableName2 ), \\\"enabled\\\", \\\"disabled\\\")\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n      },\n      \"customWidth\": \"90\",\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"Select your Log Analytics Workspace by setting the parameters above from left to right. \",\n        \"style\": \"warning\"\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"DatabaseResourceName\",\n        \"comparison\": \"isEqualTo\"\n      },\n      \"customWidth\": \"30\",\n      \"name\": \"text - 14\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Overview\",\n            \"subTarget\": \"Overview\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Investigation\",\n            \"subTarget\": \"QueryInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"db43bb45-1611-47ce-a2ad-517943f2aa1a\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"AutoStats\",\n            \"subTarget\": \"Statistics\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Audit\",\n            \"subTarget\": \"QueryAudit\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"f42ddeea-8cc0-4095-bc90-11eac0b7f94c\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Audit Search\",\n            \"subTarget\": \"AuditSearch\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWUUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"DWU Usaed %\"\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-CPUPercent\",\n                  \"aggregation\": 3,\n                  \"columnName\": \"CPU Used %\"\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-QueuedQueries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"Workload Group Allocation by System %\"\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    //Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    //Session_ID=any(Session_ID), \\r\\n   // Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render barchart   \\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Query Completion Count by End Time - 5m buckets\",\n                    \"color\": \"redBright\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 4\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"Use the buttons below to filter the next chart for Success or Failed queries. In many cases a failed query may not have a 'Command' column populated depending on what stage the query failed in. \",\n                    \"style\": \"info\"\n                  },\n                  \"customWidth\": \"25\",\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"parameters\": [\n                      {\n                        \"id\": \"e2a833ac-48b4-4ccd-bbcd-33fccf1dbd75\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryCompletionType\",\n                        \"type\": 1,\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        }\n                      }\n                    ],\n                    \"style\": \"pills\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 4\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"8e89112f-c67f-42c0-9622-02fa306fb7a5\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Queries\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"6abe39c7-4d4e-4c45-aa54-dc9a4c5e876e\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"Completed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"e41b4a0b-8464-491e-92be-a57217d6dcac\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"Failed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 11\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Status has '{QueryCompletionType}'\\r\\n| order by Start_Time\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Query Completions - use above buttons to filter\",\n                    \"color\": \"redBright\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"showExportToExcel\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 4 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Query Completions\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-Connections\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ConnectionsBlockedByFirewall\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" SQLSecurityAuditEvents\\r\\n    | where LogicalServerName == '{LogicalServerName}'\\r\\n    | where ActionName in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | project SourceSystem,ClientTlsVersion ,Succeeded,SessionId,ClientIp,SessionServerPrincipalName,ServerPrincipalName,DatabasePrincipalName,ApplicationName,HostName,TimeGenerated\\r\\n    | summarize count() by Succeeded,bin(TimeGenerated,1m)\\r\\n    | render barchart\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 8\"\n                },\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"parameters\": [\n                      {\n                        \"id\": \"f7485a11-48df-4b61-a70e-9f56d6a00ec6\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"AuthResult\",\n                        \"type\": 1,\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        }\n                      }\n                    ],\n                    \"style\": \"pills\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 3\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"2ed22e0a-2b53-4ed0-8f65-d2c621f34dad\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Authentications\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"2789ab13-ae8a-472e-bad4-9c9bdc934d4d\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"true\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"5cf4ddd4-e189-4b71-b456-0d4f1572a0a3\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"false\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 10\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" SQLSecurityAuditEvents\\r\\n    | where LogicalServerName == '{LogicalServerName}'\\r\\n    | where ActionName in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | where Succeeded == '{AuthResult}'\\r\\n    | project SourceSystem,ClientTlsVersion ,Succeeded,SessionId,ClientIp,SessionServerPrincipalName,ServerPrincipalName,DatabasePrincipalName,ApplicationName,HostName,TimeGenerated\\r\\n    //| summarize count() by Succeeded,bin(TimeGenerated,1m)\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"noDataMessage\": \"No Results\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null,\n                      \"showLegend\": true\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 8 - Copy\"\n                }\n              ]\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"AuditingState\",\n              \"comparison\": \"isEqualTo\",\n              \"value\": \"enabled\"\n            },\n            \"name\": \"Database Authentication Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheHitPercent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"showCreateAlertRule\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"Overview\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"overviewGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"showOpenInMe\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Weighted query steps\\r\\nSynapseSqlPoolRequestSteps \\r\\n| where _ResourceId == databaseResourceName\\r\\n| where RowCount > 0\\r\\n| summarize sum(RowCount) by RequestId, OperationType\\r\\n| order by sum_RowCount desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId\",\n                \"group\": \"OperationType\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"8afacdd5-2690-48d0-b125-fb118378e90c\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"value\": \"Unweighted\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 8\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"customWidth\": \"25\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = SynapseSqlPoolRequestSteps\\r\\n| where _ResourceId == databaseResourceName\\r\\n//| where RowCount > 10000000\\r\\n| extend Step_Elapsed_Min = round((EndTime - StartTime) /1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType == 'BroadcastMoveOperation', (RowCount*10), RowCount)),RowCount)\\r\\n| project-rename StepStatus = Status, StepStart = StartTime, StepEnd = EndTime//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId,OperationType, RowCount,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex;\\r\\nRequestSteps | join (\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId == databaseResourceName\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    //Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize //Session_ID=any(Session_ID), \\r\\n//Submit_Time=any(Submit_Time) ,\\r\\nStart_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder //Session_ID, \\r\\nRequest_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex, OperationType, RowCount,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}' and Request_ID != ''\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"showAnalytics\": true,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestID}' and RequestId != '' //Put your QueryID here\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"TempDB\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"TempDBGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Search Criteria\\r\\nUse the following fields to search either using a query text snippet or using a Request ID. If using a query text snippet, try to keep it as simple as possible becuase minor changes in formatting may cause your queries not to show up in the results. It's best to pick something like a table name, then choose the proper query from the list that will populate. \"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"4b98dd26-4ccf-420e-a990-8d015f27fb76\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SampleQID\",\n                  \"type\": 1,\n                  \"value\": \"999\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"d5524dd5-cf7e-41cf-beb3-474b3290289e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"initializeQueryInvestigationParameters\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0c2128d0-d979-4562-a28c-e7ceb955f126\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"Request Id Search\"\n                },\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Request_ID=max(RequestId),  \\r\\n    Start_Time=max(StartTime),\\r\\n    End_Compile_Time=max(EndCompileTime), \\r\\n    End_Time=max(EndTime), \\r\\n    QueryText = any(Command), \\r\\n    Last_Status=min(Status),\\r\\n    Statement_Type=max(StatementType),\\r\\n    Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n| extend Elapsed_Time_s=(End_Time - Start_Time)/1s\\r\\n| where QueryText has '{QueryTextSnippet}'\\r\\nand RequestId has '{RequestId}'\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    SampleQID = any(RequestId),\\r\\n    Elapsed_Time_s=max(Elapsed_Time_s)\\r\\n    by QueryText\\r\\n| order by Elapsed_Time_s\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Matching Queries\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"RequestId\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"QueryText\",\n                  \"parameterName\": \"QueryText\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Elapsed_Time_s\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Elapsed_Time_s\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## DSQL Command \"\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"QueryText\",\n              \"comparison\": \"isNotEqualTo\"\n            },\n            \"name\": \"text - 8\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"```{QueryText}```\\r\\n\"\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"QueryText\",\n              \"comparison\": \"isNotEqualTo\"\n            },\n            \"name\": \"ShowQueryText\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| where RequestId == '{SampleQID}'\\r\\n| summarize  \\r\\n    Request_ID=max(RequestId),   \\r\\n    Start_Time=max(StartTime),\\r\\n    End_Compile_Time=max(EndCompileTime), \\r\\n    End_Time=max(EndTime), \\r\\n    Command=max(Command), \\r\\n    Last_Status=min(Status),\\r\\n    Statement_Type=max(StatementType),\\r\\n    Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Start_Time)/1s,real(null)) \\r\\n| join kind=inner\\r\\n    (SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Request_ID=max(RequestId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n        by RequestId\\r\\n    //| extend elapsedTime_sec = (End_Time - Start_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Start_Time)/1s,real(null)) \\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"All Executions of Selected Query Text\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId}' and RequestId != ''\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId}'\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Triggered Auto-Stats Statements\",\n              \"noDataMessage\": \"No triggered autostats statements found\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"All triggered auto-stats statements\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryInvestigation\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryInvestigationGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"customWidth\": \"25\",\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"533ff6bb-97cd-4aaa-9372-171cad378bcd\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryText\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"99de0056-d4f3-465e-a27e-599d69b23c77\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"999\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"initializeTempDBVariables\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command != \\\"\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId) by Command\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"noDataMessage\": \"No replicated table rebuilds found in the last 7 days\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command\",\n              \"exportParameterName\": \"QueryText\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command == \\\"{QueryText}\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize count() by Command,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command != \\\"\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize count() by Command, bin(TimeGenerated,24h)\\r\\n//| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"showAnalytics\": true,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"noDataMessage\": \" Only tables with more than 7 total rebuilds will show up. If no talbes with that many rebuilds are found this chart will be empty\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| summarize          Start_Time=max(StartTime),      End_Time=max(EndTime),      Command=max(Command),       Statement_Type=max(StatementType),     Resource_class=max(ResourceClass)      by RequestId\\r\\n| join kind= inner\\r\\n(\\r\\n    SynapseSqlPoolExecRequests\\r\\n    | where _ResourceId  == databaseResourceName\\r\\n    | where StatementType == 'BuildReplicatedTableCache'\\r\\n    | where StatementType == 'BuildReplicatedTableCache'\\r\\n    | where EndTime > ago(7d)\\r\\n    | where StartTime > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime - StartTime)/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project RequestId,elapsedTime_min \\r\\n)\\r\\non RequestId\\r\\n| order by elapsedTime_min desc\\r\\n| project RequestId,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"RequestId\",\n              \"exportParameterName\": \"RequestId\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \" let databaseResourceName = '{DatabaseResourceName}';\\r\\nSynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where RequestId == '{RequestId}'\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"ReplicatedTables\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook8d175f6c-427b-47fc-85ea-37edd0be707c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGQueuedQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Queued Queries by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"Queued Queries by Workload Group\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroupName\",\n                  \"type\": 2,\n                  \"multiSelect\": true,\n                  \"quote\": \"'\",\n                  \"delimiter\": \",\",\n                  \"query\": \"SynapseSqlPoolExecRequests \\r\\n| where _ResourceId == '{DatabaseResourceName}'\\r\\n and ResourceClass != \\\"\\\"\\r\\n| distinct ResourceClass\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [\n                      \"value::all\"\n                    ],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"defaultValue\": \"value::all\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGEffectiveCapResourcePercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGEffectiveMinResourcePercent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"5\",\n                  \"key\": \"WorkloadGroup\",\n                  \"operator\": 0,\n                  \"valueParam\": \"WorkloadGroupName\"\n                }\n              ],\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"WorkloadManagement\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"WorkloadManagementGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\\r\\nSQL Auditing must be enabled and sending to the same Log Analytics Workspace for this page to work. \"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ServerPrincipalName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ApplicationName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| where DurationMs > 0\\r\\n| extend duration_seconds = DurationMs /1000.0\\r\\n| where Statement != 'select @@version'\\r\\n| where Statement != 'SELECT @@SPID;'\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| project ServerPrincipalName, EventTime, LogicalServerName, DurationMs, duration_seconds, AffectedRows, Statement, ApplicationName\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count() by EventDay = bin(EventTime,1d), UserName = ServerPrincipalName, Application = ApplicationName \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| where DurationMs > 0\\r\\n| extend duration_seconds = DurationMs /1000.0\\r\\n| where Statement != 'select @@version'\\r\\n| where Statement != 'SELECT @@SPID;'\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| project ServerPrincipalName, EventTime, LogicalServerName, DurationMs, duration_seconds, AffectedRows, Statement, ApplicationName\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count() by EventDay = bin(EventTime,1d), UserName = ServerPrincipalName, Application = ApplicationName \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, EventTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), Statement, QuerySource = ApplicationName , AffectedRows\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, EventTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), Statement, QuerySource = ApplicationName , AffectedRows\\r\\n    | project-reorder AffectedRows,DatabaseName, UserName, Host, EventTime, duration_seconds, Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"chartSettings\": {\n                \"xAxis\": \"Host\",\n                \"group\": \"UserName\",\n                \"createOtherGroup\": null,\n                \"showLegend\": true\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents\\r\\n| where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n| extend Duration = round(DurationMs /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(EventTime, 1d), TimeBin\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"AuditingState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryAuditGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"# Use this page to search the audit logs for a particular query\\r\\nYou can search using a combination of: \\r\\n* Date: Set the time range using the parameter at the top of the workbook\\r\\n* User: only show queries for the specified user\\r\\n* Application: only show queries submitted by the specified application\\r\\n* Query Text Snippet(s) - mutliple fields are provided, if you enter data into multiple fields then it will look for all of those values combined in the results\\r\\nYou can then sort your results in teh chart below by duration or affected rows to find what you are looking for.\\r\\n\\r\\nNOTE: query text is limited to the first 4,000 characters\"\n            },\n            \"name\": \"text - 3\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ServerPrincipalName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ApplicationName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"add4bc9a-505f-4d22-9ba2-882be91adde0\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"value\": \"\"\n                },\n                {\n                  \"id\": \"b78f8304-3dad-4b47-a624-380f6664dc35\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet2\",\n                  \"type\": 1,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"value\": \"\"\n                },\n                {\n                  \"id\": \"516249a7-52fe-4ec4-9826-6f1b756405a8\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet3\",\n                  \"type\": 1,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formHorizontal\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 7\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement has '{QueryTextSnippet}' and Statement has '{QueryTextSnippet2}' and Statement has '{QueryTextSnippet3}'\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, QueryEndTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), AffectedRows, Statement, QuerySource = ApplicationName \\r\\n    | project-reorder DatabaseName, UserName, Host, QueryEndTime, duration_seconds, AffectedRows,Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"showAnalytics\": true,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Statement\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"96.4286ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"duration_seconds\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"duration_seconds\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"AuditSearch\"\n        },\n        {\n          \"parameterName\": \"AuditingState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"AuditSearchGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"7fa3187e-9225-4faa-8f80-dc1bc40c5aab\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId1\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"315fc476-469a-4d8d-b421-028d1113ab06\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId2\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"parameters\": [\n                      {\n                        \"id\": \"1537c5b3-0b6c-4b1d-89be-946cd8268020\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryText1\",\n                        \"type\": 1,\n                        \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId1}'\\r\\n| summarize max(Command)\",\n                        \"crossComponentResources\": [\n                          \"{LogAnalyticsWorkspace}\"\n                        ],\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        },\n                        \"timeContextFromParameter\": \"TimeRange\",\n                        \"queryType\": 0,\n                        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                      }\n                    ],\n                    \"style\": \"above\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"#### {RequestId1} Query Text\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"```{QueryText1}```\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId1}'\\r\\n| summarize \\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    //Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d))\\r\\n//,Command=any(Command)\\r\\n,Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project ElapsedTime_min\\r\\n//,Command\\r\\n,Resource_class,Start_Time\\r\\n//,End_Time\\r\\n,Statement_Type,Status\\r\\n\",\n                    \"size\": 4,\n                    \"title\": \"Exec Requests\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"query - 2\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId1}' and RequestId != ''\\r\\n| summarize StartTime=max(StartTime)\\r\\n    ,EndTime=max(EndTime)\\r\\n    ,RequestID=max(RequestId)\\r\\n    ,Operation=max(OperationType)\\r\\n    ,RowCount=max(RowCount)\\r\\n    ,Command=max(Command)\\r\\n    ,Status=min(Status)\\r\\n     by StepIndex\\r\\n| order by StepIndex asc\\r\\n| project StartTime,EndTime,Operation,RowCount,Command,Status,StepIndex\",\n                    \"size\": 3,\n                    \"title\": \"Request Steps\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"StepQueryRequest1\",\n                  \"styleSettings\": {\n                    \"margin\": \"0\",\n                    \"padding\": \"10px\"\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId1}'\",\n                    \"size\": 0,\n                    \"title\": \"Triggered Auto-Stats Statements\",\n                    \"noDataMessage\": \"No triggered autostats statements found\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"formatters\": [\n                        {\n                          \"columnMatch\": \"Submit_Time\",\n                          \"formatter\": 0,\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Command\",\n                          \"formatter\": 0,\n                          \"formatOptions\": {\n                            \"customColumnWidthSetting\": \"100ch\"\n                          }\n                        }\n                      ],\n                      \"sortBy\": [\n                        {\n                          \"itemKey\": \"End_Time\",\n                          \"sortOrder\": 2\n                        }\n                      ]\n                    },\n                    \"sortBy\": [\n                      {\n                        \"itemKey\": \"End_Time\",\n                        \"sortOrder\": 2\n                      }\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"All triggered auto-stats statements\"\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"RequestId1Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"parameters\": [\n                      {\n                        \"id\": \"1537c5b3-0b6c-4b1d-89be-946cd8268020\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryText2\",\n                        \"type\": 1,\n                        \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId2}'\\r\\n| summarize max(Command)\",\n                        \"crossComponentResources\": [\n                          \"{LogAnalyticsWorkspace}\"\n                        ],\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 0\n                        },\n                        \"timeContextFromParameter\": \"TimeRange\",\n                        \"queryType\": 0,\n                        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                      }\n                    ],\n                    \"style\": \"above\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"#### {RequestId2} Query Text\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"```{QueryText2}```\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 4\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId2}'\\r\\n| summarize \\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    //Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d))\\r\\n//,Command=any(Command)\\r\\n,Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project ElapsedTime_min\\r\\n//,Command\\r\\n,Resource_class,Start_Time\\r\\n//,End_Time\\r\\n,Statement_Type,Status\\r\\n\",\n                    \"size\": 4,\n                    \"title\": \"Exec Requests\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"query - 2 - Copy\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId2}' and RequestId != ''\\r\\n| summarize StartTime=max(StartTime)\\r\\n    ,EndTime=max(EndTime)\\r\\n    ,RequestID=max(RequestId)\\r\\n    ,Operation=max(OperationType)\\r\\n    ,RowCount=max(RowCount)\\r\\n    ,Command=max(Command)\\r\\n    ,Status=min(Status)\\r\\n     by StepIndex\\r\\n| order by StepIndex asc\\r\\n| project StartTime,EndTime,Operation,RowCount,Command,Status,StepIndex\",\n                    \"size\": 3,\n                    \"title\": \"Request Steps\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"query - 4 - Copy\",\n                  \"styleSettings\": {\n                    \"padding\": \"10px\"\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId2}'\",\n                    \"size\": 0,\n                    \"title\": \"Triggered Auto-Stats Statements\",\n                    \"noDataMessage\": \"No triggered autostats statements found\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"formatters\": [\n                        {\n                          \"columnMatch\": \"Submit_Time\",\n                          \"formatter\": 0,\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Command\",\n                          \"formatter\": 0,\n                          \"formatOptions\": {\n                            \"customColumnWidthSetting\": \"100ch\"\n                          }\n                        }\n                      ]\n                    }\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"All triggered auto-stats statements\"\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"RequestId2Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryComparison\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryComparison\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This tab is used to determine what statements triggerred autostats creation jobs. \\r\\nThe flow of autostats creation is as follows\\r\\n1. Query Submit Time\\r\\n2. \\tCreate Statistics submit Time\\r\\n3. \\tCreate Statistics end Time\\r\\n4. Query end_compile_time\\r\\n5. Query Start_Time\\r\\n6. Query End_Time\\r\\n\\r\\nFurther, if multiple stats are created, then the creation of all stats for this query will fall between query submit_time and end_compile_time. \\r\\n\\r\\nThe charts on this page allow you to search for an autostats job by requestID or my snippet of the autostats statement text, which can just be the schema, table, or column name. Then it will show you all commands that include that request ID or text. It will then show you all statements in the create stat statement because the query we are trying to identify will wait for all of those stats creations to complete before proceeding. \\r\\n\\r\\nThe last chart will list the statement that triggered the stats creation. \"\n            },\n            \"name\": \"text - 6\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"df5b9b85-4188-4f2c-88cb-1369e09f6742\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RootQueryId\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"560c9ec5-6341-4fa1-9ce6-35ff010151b1\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0911bd4b-d471-480b-bdf4-1a2d4ba1ea6e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"RequestId for AutoStats Job\"\n                },\n                {\n                  \"id\": \"c12e6495-4fd1-473c-8ffc-0bf502f54706\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"label\": \"Snippet of autostats creation statement (Schema, table or column)\"\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n| summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType)\\r\\n    by RequestId\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Command has '{QueryTextSnippet}' and RequestId has '{RequestIdSearch}'\\r\\n//| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n//| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n//| order by elapsedTime_sec\\r\\n//| summarize \\r\\n //   Executions = count(),\\r\\n //   Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n //   Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n //   Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n //   SampleQID = any(RequestId),\\r\\n   // SampleSessionID = any(Session_ID)\\r\\n  //  by Command\\r\\n//| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Matching Autostats Queries\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"RequestId\",\n                  \"parameterName\": \"RequestId\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Root_Query_Id\",\n                  \"parameterName\": \"RootQueryId\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType !='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | where RequestId == '{RootQueryId}'\\r\\n    | summarize   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Statement that Triggered Selected Autostat\",\n              \"noDataMessage\": \"Select an autostats query above to see what query triggered it\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n| summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType)\\r\\n    by RequestId\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Root_Query_Id == '{RootQueryId}'\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"All Stats Statements Triggered by selected Query\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 13\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"Statistics\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"statistics\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<svg width=\\\"400\\\" viewBox=\\\"0 0 482 271\\\" class=\\\"ext-vm-onboarding-sample-image-svg\\\" role=\\\"presentation\\\" focusable=\\\"false\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" aria-hidden=\\\"true\\\"><g><path fill=\\\"#ABABAB\\\" d=\\\"M399 249H93a1 1 0 1 1 0-2h306a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M301.333 220.333h-47.526c-2.649 0-6.171-.622-6.171-6V88.5a1 1 0 1 1 2 0v125.833c0 2.953 1.091 4 4.171 4h47.526a1 1 0 1 1 0 2zm-73.17 0h-47.526a1 1 0 1 1 0-2h47.526c3.08 0 4.171-1.047 4.171-4V88.5a1 1 0 1 1 2 0v125.833c-.001 5.378-3.522 6-6.171 6z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M276.777 186.134H350v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M350 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H350a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H349v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M128.777 186.134H202v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M202 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H202a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H201v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M180.941 214.203l-10.817 12.98-17.547-28.124L142 216.366V238h47.594z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M188.685 238.513l-7.762-21.345-10.474 12.567-17.359-27.821-9.31 15.234-2.56-1.564 11.843-19.379 17.736 28.425 11.16-13.392 9.545 26.249z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path fill=\\\"#ABABAB\\\" d=\\\"M409 249h-3a1 1 0 1 1 0-2h3a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M322.667 113l4 4-4 4-4-4zm0 10a6 6 0 0 0-6-6m12 0a6 6 0 0 0-6 6m-6-6a6 6 0 0 0 6-6m0 0a6 6 0 0 0 6 6m.333 0h3m-18 0h3m6 6v3m0-15v-3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M159.667 98l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M159.667 103a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M155 100h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M201.667 27l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M197 29h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3m129 23l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M329 54h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><circle cx=\\\"150.667\\\" cy=\\\"128\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"264.667\\\" cy=\\\"136\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"257.667\\\" cy=\\\"19\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"153.667\\\" cy=\\\"35\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><path d=\\\"M324.667 73a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999zm-117 72a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999z\\\" class=\\\"msportalfx-svg-c15\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M152.667 60.429L157.238 65l-4.571 4.571L148.095 65z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M152.667 71.857A6.857 6.857 0 0 0 145.81 65m13.714 0a6.857 6.857 0 0 0-6.857 6.857M145.81 65a6.857 6.857 0 0 0 6.857-6.857m0 0A6.857 6.857 0 0 0 159.524 65m.476 0h1m-16 0h1m7 7v1m0-15v-1\\\"></path></g><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M307.667 29l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M307.667 34a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M303 31h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M311.597 102.771c0-8.961-7.194-16.222-16.078-16.222-.669 0-1.329.051-1.963.138a43.97 43.97 0 0 0 1.524-11.436C295.077 51.363 275.877 32 252.195 32c-18.921 0-34.965 12.355-40.66 29.509a28.744 28.744 0 0 0-9.573-1.652c-16.203 0-29.314 13.239-29.314 29.567 0 16.338 13.111 29.576 29.311 29.576 0 0 .029-.013.042-.013V119h94.821l-.016-.08c8.272-.653 14.791-7.623 14.791-16.149\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M228.837 38.985c-.588.386-1.168.783-1.735 1.197v5.429h1.735v-6.626zm15.805-3.021c2.155 0 3.626-1.343 4.26-3.834a42.1 42.1 0 0 0-1.826.178c-.42 1.439-1.19 2.269-2.332 2.269-.844 0-1.53-.532-2.001-1.513-.555.126-1.106.263-1.653.41.765 1.622 2.008 2.49 3.552 2.49zm49.184 33.227c.285 0 .555-.031.816-.077a42.162 42.162 0 0 0-.223-1.387 2.056 2.056 0 0 1-.491.075c-1.633 0-2.695-1.959-2.695-5.41 0-1.556.222-2.777.589-3.687a44.243 44.243 0 0 0-.8-1.822c-.99 1.161-1.585 3.015-1.585 5.49.04 4.389 1.796 6.818 4.389 6.818zm16.618 38.788c-1.633 0-2.695-1.959-2.695-5.41 0-3.613 1.143-5.533 2.715-5.533.03 0 .054.012.084.013a16.386 16.386 0 0 0-.578-1.354c-2.376.341-4.018 2.74-4.018 6.855.04 4.305 1.732 6.719 4.244 6.81.205-.465.389-.94.551-1.426-.101.013-.195.045-.303.045zM249.522 119v-2.246h-1.531l-2.899 1.551.176.695h1.417l1.061-.572h.041V119zm47.408-6.904h-1.531l-2.899 1.553.347 1.367 2.307-1.245h.041V119h1.627l-.016-.08c.042-.003.082-.012.124-.016v-6.808zm-79.597.647c-2.561 0-4.418 2.217-4.597 6.257h1.806c.136-3.171 1.218-4.869 2.688-4.869 1.75 0 2.585 1.917 2.676 4.869h1.804c-.112-3.943-1.684-6.257-4.377-6.257zm-22.241 3.562l.347 1.368 2.307-1.245h.041v2.269a29.97 29.97 0 0 0 1.735.194v-4.137h-1.531l-2.899 1.551zm10.296-49.701h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531V78.2h-1.735V66.604zm-24 30h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735V96.604zm5.074-30.312h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531v13.271h-1.735V66.292zm89.337-15.693h-.041l-2.307 1.245-.347-1.367 2.899-1.552h1.531v13.271h-1.735V50.599zm-18.544-7.286h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531V54.91h-1.735V43.313zm-16.276 38.636h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V81.949zm16-12h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V69.949zm-26.192 32.479h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735v-11.596zm28.936.032c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm27.74 2.297c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm-63.864-6.468c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm78.338-21.172c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.848 14.432c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.491 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm-60.061-7.927c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.918-2.715 5.532zm-26.441 5.81c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.208.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.571 0-2.715 1.919-2.715 5.532zm39.883-27.255c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.286-5.696c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M296.821 120H201v-.015c-16.272-.513-29.352-14.024-29.352-30.562 0-16.854 13.599-30.566 30.313-30.566 3.021 0 6.027.467 8.95 1.39C217.17 42.711 233.635 31 252.194 31c24.195 0 43.882 19.851 43.886 44.25 0 3.447-.407 6.91-1.209 10.313.218-.01.434-.015.648-.015 9.417 0 17.078 7.726 17.078 17.223 0 8.54-6.329 15.809-14.602 17.021l-1.174.208zM203 118h93.223l.504-.077c7.777-.614 13.87-7.27 13.87-15.151 0-8.394-6.764-15.223-15.078-15.223-.59 0-1.205.043-1.827.129l-1.493.204.391-1.455a43.047 43.047 0 0 0 1.49-11.177C294.077 51.953 275.287 33 252.194 33c-18.028 0-33.987 11.583-39.711 28.824l-.321.966-.96-.338a27.758 27.758 0 0 0-9.241-1.595c-15.612 0-28.313 12.814-28.313 28.566 0 15.69 12.593 28.468 28.114 28.575l1.238-.012V118z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M313.564 239.159c2.37 0 4.339-1.836 4.764-3.971h-9.532c.427 2.135 2.393 3.971 4.768 3.971zm17.121-10.081c-2.022-1.032-3.055-5.128-3.055-12.219 0-9.071-1.075-20.263-14.255-20.263s-14.255 11.191-14.255 20.263c0 7.091-1.018 11.201-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073h30.547c3.565 0 3.294-3.431 2.037-4.073z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path d=\\\"M312 196.644c-11.876.762-12.88 11.471-12.88 20.216 0 7.091-1.018 11.2-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073H312v-36.508z\\\" class=\\\"msportalfx-svg-c15\\\"></path></g></svg>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"showPin\": false,\n                  \"name\": \"Image\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<span style=\\\"color: #000000; font-family: Babas; font-size: 2em;\\\">Enable SQL Auditing to get additional visibility into user activity against your SQL Pool</span>\\r\\n\\r\\nThis section provides additional monitoring coverage that is based on SQL Audit logs.</br>\\r\\nIf you have not activated SQL Auditing for your dedeciated SQL Pool, you must enable them to go to the same Log Analytics workspace as the rest of your diagnostic settings for it to show up here. [Learn more](https://docs.microsoft.com/en-us/azure/azure-sql/database/auditing-overview)</div>\\r\\n\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"name\": \"text - 2\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"paragraph\",\n                    \"links\": [\n                      {\n                        \"id\": \"f4df7a1e-2124-4620-9005-f9b66e47f550\",\n                        \"cellValue\": \"{DatabaseResourceName}\",\n                        \"linkTarget\": \"Resource\",\n                        \"linkLabel\": \"Configure Logs for Auditing >\",\n                        \"subTarget\": \"auditing\",\n                        \"preText\": \"\",\n                        \"postText\": \"\",\n                        \"style\": \"primary\"\n                      }\n                    ]\n                  },\n                  \"customWidth\": \"70\",\n                  \"name\": \"links - 8\"\n                }\n              ]\n            },\n            \"customWidth\": \"90\",\n            \"name\": \"Onboarding Message - Not onboarded yet\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"AuditingState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"disabled\"\n        }\n      ],\n      \"name\": \"AuditingDisabledGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<svg width=\\\"400\\\" viewBox=\\\"0 0 482 271\\\" class=\\\"ext-vm-onboarding-sample-image-svg\\\" role=\\\"presentation\\\" focusable=\\\"false\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" aria-hidden=\\\"true\\\"><g><path fill=\\\"#ABABAB\\\" d=\\\"M399 249H93a1 1 0 1 1 0-2h306a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M301.333 220.333h-47.526c-2.649 0-6.171-.622-6.171-6V88.5a1 1 0 1 1 2 0v125.833c0 2.953 1.091 4 4.171 4h47.526a1 1 0 1 1 0 2zm-73.17 0h-47.526a1 1 0 1 1 0-2h47.526c3.08 0 4.171-1.047 4.171-4V88.5a1 1 0 1 1 2 0v125.833c-.001 5.378-3.522 6-6.171 6z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M276.777 186.134H350v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M350 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H350a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H349v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M128.777 186.134H202v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M202 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H202a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H201v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M180.941 214.203l-10.817 12.98-17.547-28.124L142 216.366V238h47.594z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M188.685 238.513l-7.762-21.345-10.474 12.567-17.359-27.821-9.31 15.234-2.56-1.564 11.843-19.379 17.736 28.425 11.16-13.392 9.545 26.249z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path fill=\\\"#ABABAB\\\" d=\\\"M409 249h-3a1 1 0 1 1 0-2h3a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M322.667 113l4 4-4 4-4-4zm0 10a6 6 0 0 0-6-6m12 0a6 6 0 0 0-6 6m-6-6a6 6 0 0 0 6-6m0 0a6 6 0 0 0 6 6m.333 0h3m-18 0h3m6 6v3m0-15v-3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M159.667 98l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M159.667 103a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M155 100h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M201.667 27l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M197 29h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3m129 23l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M329 54h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><circle cx=\\\"150.667\\\" cy=\\\"128\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"264.667\\\" cy=\\\"136\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"257.667\\\" cy=\\\"19\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"153.667\\\" cy=\\\"35\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><path d=\\\"M324.667 73a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999zm-117 72a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999z\\\" class=\\\"msportalfx-svg-c15\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M152.667 60.429L157.238 65l-4.571 4.571L148.095 65z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M152.667 71.857A6.857 6.857 0 0 0 145.81 65m13.714 0a6.857 6.857 0 0 0-6.857 6.857M145.81 65a6.857 6.857 0 0 0 6.857-6.857m0 0A6.857 6.857 0 0 0 159.524 65m.476 0h1m-16 0h1m7 7v1m0-15v-1\\\"></path></g><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M307.667 29l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M307.667 34a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M303 31h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M311.597 102.771c0-8.961-7.194-16.222-16.078-16.222-.669 0-1.329.051-1.963.138a43.97 43.97 0 0 0 1.524-11.436C295.077 51.363 275.877 32 252.195 32c-18.921 0-34.965 12.355-40.66 29.509a28.744 28.744 0 0 0-9.573-1.652c-16.203 0-29.314 13.239-29.314 29.567 0 16.338 13.111 29.576 29.311 29.576 0 0 .029-.013.042-.013V119h94.821l-.016-.08c8.272-.653 14.791-7.623 14.791-16.149\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M228.837 38.985c-.588.386-1.168.783-1.735 1.197v5.429h1.735v-6.626zm15.805-3.021c2.155 0 3.626-1.343 4.26-3.834a42.1 42.1 0 0 0-1.826.178c-.42 1.439-1.19 2.269-2.332 2.269-.844 0-1.53-.532-2.001-1.513-.555.126-1.106.263-1.653.41.765 1.622 2.008 2.49 3.552 2.49zm49.184 33.227c.285 0 .555-.031.816-.077a42.162 42.162 0 0 0-.223-1.387 2.056 2.056 0 0 1-.491.075c-1.633 0-2.695-1.959-2.695-5.41 0-1.556.222-2.777.589-3.687a44.243 44.243 0 0 0-.8-1.822c-.99 1.161-1.585 3.015-1.585 5.49.04 4.389 1.796 6.818 4.389 6.818zm16.618 38.788c-1.633 0-2.695-1.959-2.695-5.41 0-3.613 1.143-5.533 2.715-5.533.03 0 .054.012.084.013a16.386 16.386 0 0 0-.578-1.354c-2.376.341-4.018 2.74-4.018 6.855.04 4.305 1.732 6.719 4.244 6.81.205-.465.389-.94.551-1.426-.101.013-.195.045-.303.045zM249.522 119v-2.246h-1.531l-2.899 1.551.176.695h1.417l1.061-.572h.041V119zm47.408-6.904h-1.531l-2.899 1.553.347 1.367 2.307-1.245h.041V119h1.627l-.016-.08c.042-.003.082-.012.124-.016v-6.808zm-79.597.647c-2.561 0-4.418 2.217-4.597 6.257h1.806c.136-3.171 1.218-4.869 2.688-4.869 1.75 0 2.585 1.917 2.676 4.869h1.804c-.112-3.943-1.684-6.257-4.377-6.257zm-22.241 3.562l.347 1.368 2.307-1.245h.041v2.269a29.97 29.97 0 0 0 1.735.194v-4.137h-1.531l-2.899 1.551zm10.296-49.701h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531V78.2h-1.735V66.604zm-24 30h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735V96.604zm5.074-30.312h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531v13.271h-1.735V66.292zm89.337-15.693h-.041l-2.307 1.245-.347-1.367 2.899-1.552h1.531v13.271h-1.735V50.599zm-18.544-7.286h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531V54.91h-1.735V43.313zm-16.276 38.636h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V81.949zm16-12h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V69.949zm-26.192 32.479h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735v-11.596zm28.936.032c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm27.74 2.297c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm-63.864-6.468c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm78.338-21.172c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.848 14.432c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.491 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm-60.061-7.927c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.918-2.715 5.532zm-26.441 5.81c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.208.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.571 0-2.715 1.919-2.715 5.532zm39.883-27.255c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.286-5.696c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M296.821 120H201v-.015c-16.272-.513-29.352-14.024-29.352-30.562 0-16.854 13.599-30.566 30.313-30.566 3.021 0 6.027.467 8.95 1.39C217.17 42.711 233.635 31 252.194 31c24.195 0 43.882 19.851 43.886 44.25 0 3.447-.407 6.91-1.209 10.313.218-.01.434-.015.648-.015 9.417 0 17.078 7.726 17.078 17.223 0 8.54-6.329 15.809-14.602 17.021l-1.174.208zM203 118h93.223l.504-.077c7.777-.614 13.87-7.27 13.87-15.151 0-8.394-6.764-15.223-15.078-15.223-.59 0-1.205.043-1.827.129l-1.493.204.391-1.455a43.047 43.047 0 0 0 1.49-11.177C294.077 51.953 275.287 33 252.194 33c-18.028 0-33.987 11.583-39.711 28.824l-.321.966-.96-.338a27.758 27.758 0 0 0-9.241-1.595c-15.612 0-28.313 12.814-28.313 28.566 0 15.69 12.593 28.468 28.114 28.575l1.238-.012V118z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M313.564 239.159c2.37 0 4.339-1.836 4.764-3.971h-9.532c.427 2.135 2.393 3.971 4.768 3.971zm17.121-10.081c-2.022-1.032-3.055-5.128-3.055-12.219 0-9.071-1.075-20.263-14.255-20.263s-14.255 11.191-14.255 20.263c0 7.091-1.018 11.201-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073h30.547c3.565 0 3.294-3.431 2.037-4.073z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path d=\\\"M312 196.644c-11.876.762-12.88 11.471-12.88 20.216 0 7.091-1.018 11.2-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073H312v-36.508z\\\" class=\\\"msportalfx-svg-c15\\\"></path></g></svg>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"showPin\": false,\n                  \"name\": \"Image\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<span style=\\\"color: #000000; font-family: Babas; font-size: 2em;\\\">Get more visibility into the usage and performance of your Azure Synapse Dedicated SQL Pool</span>\\r\\n\\r\\nThis section provides additional monitoring coverage that is based on diagnostic logs.</br>\\r\\n\\r\\nIf you have not activated monitoring in diagnostic settings, you must enable the **ExecRequests** and **RequestSteps** logs and send them to a Log Analytics workspace. You may choose to enable the **SQLSecurityAuditEvents** table at the same time to take full advantage of this monitoring workbook. [Learn more](https://docs.microsoft.com/en-us/azure/synapse-analytics/monitoring/how-to-monitor-using-azure-monitor#logs)</div>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"name\": \"text - 2\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"paragraph\",\n                    \"links\": [\n                      {\n                        \"id\": \"f4df7a1e-2124-4620-9005-f9b66e47f550\",\n                        \"cellValue\": \"{DatabaseResourceName}\",\n                        \"linkTarget\": \"Resource\",\n                        \"linkLabel\": \"Configure Logs for Monitoring >\",\n                        \"subTarget\": \"diagnostics\",\n                        \"preText\": \"\",\n                        \"postText\": \"\",\n                        \"style\": \"primary\"\n                      }\n                    ]\n                  },\n                  \"customWidth\": \"70\",\n                  \"name\": \"links - 8\"\n                }\n              ]\n            },\n            \"customWidth\": \"90\",\n            \"name\": \"Onboarding Message - Not onboarded yet\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isNotEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"disabled\"\n        }\n      ],\n      \"name\": \"DiagnosticsDisabledGroup\"\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"Workbook version: v1.2\",\n        \"style\": \"info\"\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Overview\"\n      },\n      \"customWidth\": \"15\",\n      \"name\": \"version\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"azure monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/DedicatedSqlPool_Non-Workspace_v1.4.workbook",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{LogAnalyticsWorkspace}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| distinct ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 14400000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct Resource \",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 604800000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName_s\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n      },\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Overview\",\n            \"subTarget\": \"Workload\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Investigation\",\n            \"subTarget\": \"QueryInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"5ff681ee-e005-481f-b743-b66ab1b9d71d\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Session Investigation\",\n            \"subTarget\": \"SessionInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Audit\",\n            \"subTarget\": \"QueryAudit\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"db43bb45-1611-47ce-a2ad-517943f2aa1a\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"AutoStats\",\n            \"subTarget\": \"Statistics\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"DWU Percentage\"\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cpu_percent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-queued_queries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render barchart   \\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Query Completion Count by End Time - 5m buckets\",\n                    \"color\": \"redBright\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"name\": \"query - 4\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"Use the buttons below to filter the next chart for Success or Failed queries. In many cases a failed query may not have a 'Command' column populated depending on what stage the query failed in. \",\n                    \"style\": \"info\"\n                  },\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"8e89112f-c67f-42c0-9622-02fa306fb7a5\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Queries\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"6abe39c7-4d4e-4c45-aa54-dc9a4c5e876e\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"Completed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"e41b4a0b-8464-491e-92be-a57217d6dcac\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"Failed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 11\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=max(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=min(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n//| where End_Time > ago(365d)\\r\\n| where Status has '{QueryCompletionType}'\\r\\n| order by Submit_Time\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Query Completions - use above buttons to filter\",\n                    \"color\": \"redBright\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"showExportToExcel\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"name\": \"query - 4 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Query Completions\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_successful\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_failed\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents'  and  LogicalServerName_s == 'lasr-sqldwdb-eastus2-prd'\\r\\n    | where action_name_s in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | project SourceSystem,client_tls_version_d,succeeded_s,session_id_d,client_ip_s,session_server_principal_name_s,server_principal_name_s,database_principal_name_s,application_name_s,host_name_s,TimeGenerated\\r\\n    | summarize count() by succeeded_s,bin(TimeGenerated,1m)\\r\\n    | render barchart\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null\n                    }\n                  },\n                  \"name\": \"query - 8\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"2ed22e0a-2b53-4ed0-8f65-d2c621f34dad\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Authentications\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"2789ab13-ae8a-472e-bad4-9c9bdc934d4d\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"true\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"5cf4ddd4-e189-4b71-b456-0d4f1572a0a3\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"false\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 10\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents'  and  LogicalServerName_s == 'lasr-sqldwdb-eastus2-prd'\\r\\n    | where action_name_s in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | where succeeded_s has '{AuthResult}'\\r\\n    | project SourceSystem,client_tls_version_d,succeeded_s,session_id_d,client_ip_s,session_server_principal_name_s,server_principal_name_s,database_principal_name_s,application_name_s,host_name_s,TimeGenerated\\r\\n    | order by TimeGenerated\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"noDataMessage\": \"Please select a button above\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"showExportToExcel\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null,\n                      \"showLegend\": true\n                    }\n                  },\n                  \"name\": \"query - 8 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Database Authentication Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_used_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_hit_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"showCreateAlertRule\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Workload\"\n      },\n      \"name\": \"group - 1\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"TempDB \",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nAzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 0\\r\\n| summarize sum(RowCount_d) by RequestId_s, OperationType_s\\r\\n| order by sum_RowCount_d desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId_s\",\n                \"group\": \"OperationType_s\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = AzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 100000000\\r\\n| extend Step_Elapsed_Min = round((EndTime_t - StartTime_t)/1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType_s == 'BroadcastMoveOperation', (RowCount_d*20), RowCount_d)),RowCount_d)\\r\\n| project-rename StepStatus = Status_s, StepStart = StartTime_t, StepEnd = EndTime_t//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId_s,OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex_d,Resource;\\r\\nRequestSteps | join (AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder Session_ID, Request_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex_d, OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}'\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"showAnalytics\": true,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}' //Put your QueryID here\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"TempDB\"\n      },\n      \"name\": \"group - 3\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Investigation\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Search Criteria\\r\\nUse the following fields to search either using a query text snippet or using a Request ID. If using a query text snippet, try to keep it as simple as possible becuase minor changes in formatting may cause your queries not to show up in the results. It's best to pick something like a table name, then choose the proper query from the list that will populate. \"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0c2128d0-d979-4562-a28c-e7ceb955f126\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                },\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Command has '{QueryTextSnippet}'\\r\\nand RequestId_s has '{RequestIdSearch}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| order by elapsedTime_sec\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n    Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n    Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n    SampleQID = any(RequestId_s),\\r\\n    SampleSessionID = any(Session_ID)\\r\\n    by Command\\r\\n| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Matching Queries\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleSessionID\",\n                  \"parameterName\": \"Samp\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where RequestId_s == '{SampleQID}'\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=min(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| join kind=inner\\r\\n    (AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n    | extend elapsedTime_sec = (End_Time - Submit_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n    | extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Session_ID1,Submit_Time1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1,CompileTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),min(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"1191e58a-c1f9-4853-b36b-4be8eecbb48f\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_Submit_Time\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId}'\\r\\n    | summarize \\r\\n        Submit_Time=min(SubmitTime_t)\\r\\n        by RequestId_s\\r\\n        | project Submit_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"f6bcb2a4-3356-4110-ba13-99c7d13a26f0\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_End_Compile_Time\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId}'\\r\\n    | summarize \\r\\n        End_Compile_Time=max(EndCompileTime_t) \\r\\n        by RequestId_s\\r\\n        | project End_Compile_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == 'LASR-SQLDWDB-PRD'\\r\\n        | where StatementType_s =='CreateStatistics'\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n        | where Submit_Time > datetime('{Query_Submit_Time}') and End_Time < datetime('{Query_End_Compile_Time}')// or RequestId_s == '{RequestId}'\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"All possibly related auto-stats statements based on time\",\n              \"noDataMessage\": \"no auto stats statements found that could be related\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"All possibly related auto-stats statements\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryInvestigation\"\n      },\n      \"name\": \"group - 4\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Replicated Tables\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId_s) by Command_s\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command_s\",\n              \"exportParameterName\": \"QueryText\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s == \\\"{QueryText}\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s, bin(TimeGenerated,24h)\\r\\n| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"noDataMessage\": \" Only tables with more than 7 total rebuilds will show up. If no talbes with that many rebuilds are found this chart will be empty\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),      Request_ID=max(RequestId_s),      Submit_Time=max(SubmitTime_t),      Start_Time=max(StartTime_t),      End_Time=max(EndTime_t),      Command=max(Command_s),       Statement_Type=max(StatementType_s),     Resource_class=max(ResourceClass_s)      by RequestId_s\\r\\n| join kind= inner\\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    //| where StatementType_s !in ('Batch','Execute')\\r\\n    | where StatementType_s == 'BuildReplicatedTableCache'\\r\\n    | where EndTime_t > ago(7d)\\r\\n    | where StartTime_t > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime_t - StartTime_t)/1m\\r\\n    //| extend elapsedTime_min = elapsedTime/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project Request_ID=RequestId_s,elapsedTime_min \\r\\n)\\r\\non Request_ID\\r\\n| order by elapsedTime_min desc\\r\\n| project Request_ID,Submit_Time,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestId\",\n              \"exportDefaultValue\": \"999999\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"ReplicatedTables\"\n      },\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload Management\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook8d175f6c-427b-47fc-85ea-37edd0be707c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_queued_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Queued Queries by Workload Group\",\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"Queued Queries by Workload Group\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroupName\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\nand Resource == '{DatabaseName}'\\r\\n and ResourceClass_s != \\\"\\\"\\r\\n| distinct ResourceClass_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 604800000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_queued_queries\",\n                  \"aggregation\": 1\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_effective_min_resource_percent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_effective_cap_resource_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"3\",\n                  \"key\": \"WorkloadGroupName\",\n                  \"operator\": 0,\n                  \"valueParam\": \"WorkloadGroupName\"\n                }\n              ],\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"WorkloadManagement\"\n      },\n      \"name\": \"group - 6\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Audit\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\\r\\nSQL Auditing must be enabled and sending to the same Log Analytics Workspace for this page to work. \"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by server_principal_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by application_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This next chart is approximate\\r\\nThe next chart uses an approximate join based on end time. If the Exec Requests Query Text and the Audit Log Query text don't match up, then it is likely not a real match and the data in the row shoudl not be trusted. You will most likely get false matches for very short queries.\",\n              \"style\": \"warning\"\n            },\n            \"name\": \"text - 7\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) ,\\r\\n    Query_ElapsedTime_s=round((max(EndTime_t) - max(StartTime_t))/1s)\\r\\n    by RequestId_s\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime_s,Status,Query = Query_Text,Resource_class\\r\\n| join kind = rightouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n   // | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, statement_s, QuerySource\\r\\n) on EventTime\\r\\n    | order by affected_rows_d desc\\r\\n| project Session_ID,RequestID=RequestId_s,Submit_time=Query_Submit_Time,Start_Time=Query_Start_Time,End_Time=EventTime,Status,Resource_class,UserName,Exec_request_text=Query,Audit_Query_text=statement_s,Host,QuerySource,Affected_rows=affected_rows_d,num_steps,max_step_rows,max_step_sec,Total_Duration_s=duration_seconds\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n| extend Duration = round(duration_milliseconds_d /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(event_time_t, 1d), TimeBin\",\n              \"size\": 0,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) ,\\r\\n    Query_ElapsedTime_s=round((max(EndTime_t) - max(StartTime_t))/1s)\\r\\n    by RequestId_s\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime_s,Status,Query = Query_Text,Resource_class\\r\\n| join kind = rightouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n   // | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, statement_s, QuerySource\\r\\n) on EventTime\\r\\n    | order by affected_rows_d desc\\r\\n| project Session_ID,RequestID=RequestId_s,Submit_time=Query_Submit_Time,Start_Time=Query_Start_Time,End_Time=EventTime,Status,Resource_class,UserName,Query_text=statement_s,Host,QuerySource,Affected_rows=affected_rows_d,num_steps,max_step_rows,max_step_sec,Total_Duration_s=duration_seconds\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Affected Rows By Session ID\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"linechart\",\n              \"chartSettings\": {\n                \"xAxis\": \"RequestID\",\n                \"yAxis\": [\n                  \"Affected_rows\"\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryAudit\"\n      },\n      \"name\": \"QueryAuditGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Comparison\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"7fa3187e-9225-4faa-8f80-dc1bc40c5aab\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId1\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"315fc476-469a-4d8d-b421-028d1113ab06\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId2\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute') and RequestId_s == '{RequestId1}'\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=min(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Session_ID,Request_ID,ElapsedTime_min,Command,Resource_class,Submit_Time,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute') and RequestId_s == '{RequestId2}'\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=min(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Session_ID,Request_ID,ElapsedTime_min,Command,Resource_class,Submit_Time,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId1}'\\r\\n| summarize StartTime=max(StartTime_t)\\r\\n    ,EndTime=max(EndTime_t)\\r\\n    ,RequestID=max(RequestId_s)\\r\\n    ,Operation=max(OperationType_s)\\r\\n    ,RowCount=max(RowCount_d)\\r\\n    ,Command=max(Command_s)\\r\\n    ,Status=max(Status_s)\\r\\n     by StepIndex_d\\r\\n| order by StepIndex_d asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex_d\",\n              \"size\": 3,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4\",\n            \"styleSettings\": {\n              \"margin\": \"0\",\n              \"padding\": \"10px\"\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId2}'\\r\\n| summarize StartTime=max(StartTime_t)\\r\\n    ,EndTime=max(EndTime_t)\\r\\n    ,RequestID=max(RequestId_s)\\r\\n    ,Operation=max(OperationType_s)\\r\\n    ,RowCount=max(RowCount_d)\\r\\n    ,Command=max(Command_s)\\r\\n    ,Status=max(Status_s)\\r\\n     by StepIndex_d\\r\\n| order by StepIndex_d asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex_d\",\n              \"size\": 3,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4 - Copy\",\n            \"styleSettings\": {\n              \"padding\": \"10px\"\n            }\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"03d1c3ba-0d28-4584-bb63-388f8477034a\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_Submit_Time1\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId1}'\\r\\n    | summarize \\r\\n        Submit_Time=min(SubmitTime_t)\\r\\n        by RequestId_s\\r\\n        | project Submit_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"af36efd7-c5a0-429e-8908-a24e22ee6087\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_End_Compile_Time1\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId1}'\\r\\n    | summarize \\r\\n        End_Compile_Time=max(EndCompileTime_t) \\r\\n        by RequestId_s\\r\\n        | project End_Compile_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_Submit_Time2\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId2}'\\r\\n    | summarize \\r\\n        Submit_Time=min(SubmitTime_t)\\r\\n        by RequestId_s\\r\\n        | project Submit_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                  \"id\": \"3e691c5e-2c25-4b1a-b845-032901fb08b6\"\n                },\n                {\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_End_Compile_Time2\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId2}'\\r\\n    | summarize \\r\\n        End_Compile_Time=max(EndCompileTime_t) \\r\\n        by RequestId_s\\r\\n        | project End_Compile_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                  \"id\": \"6dd3ddbe-09bd-485f-b202-296f391ede6d\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 6 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s =='CreateStatistics'\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        //Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        //Start_Time=max(StartTime_t),\\r\\n        //End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n        | where Submit_Time > datetime('{Query_Submit_Time1}') and End_Time < datetime('{Query_End_Compile_Time1}') and End_Time > ago(30d)\\r\\n| project Command, Status=Last_Status ,Submit_Time,End_Time,Session_ID,Request_ID=RequestId_s,Statement_Type\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All possibly related auto-stats statements based on time\",\n              \"noDataMessage\": \"no auto stats statements found that could be related\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"End_Time\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"End_Time\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"All possibly related auto-stats statements - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s =='CreateStatistics'\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        //Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        //Start_Time=max(StartTime_t),\\r\\n        //End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n        | where Submit_Time > datetime('{Query_Submit_Time2}') and End_Time < datetime('{Query_End_Compile_Time2}') and End_Time > ago(30d)\\r\\n| project Command, Status=Last_Status ,Submit_Time,End_Time,Session_ID,Request_ID=RequestId_s,Statement_Type\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All possibly related auto-stats statements based on time\",\n              \"noDataMessage\": \"no auto stats statements found that could be related\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"All possibly related auto-stats statements - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryComparison\"\n      },\n      \"name\": \"QueryComparison\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Session Investigation\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"feb2ac70-2555-456e-bfa6-6ad4a2dcad0f\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SessionID\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 0\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"The matching of the user information in the next chart is approximate. This information is a work in progress\",\n              \"style\": \"warning\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Query_End_Time = max(EndTime_t ) by SessionId_s\\r\\n| where SessionId_s == '{SessionID}'\\r\\n| join kind = rightouter \\r\\n(  \\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' \\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version' and statement_s != 'SELECT @@SPID;' and server_principal_name_s != '##MS_InstanceCertificate##'\\r\\n) on $left.Query_End_Time==$right.event_time_t \\r\\n| summarize DatabaseName= max(database_name_s)\\r\\n    , UserName= any(server_principal_name_s)\\r\\n    , Host= max(host_name_s)\\r\\n    , Application=max(application_name_s)\\r\\n     by SessionId_s\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"showAnalytics\": true,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"table\",\n              \"tileSettings\": {\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\"\n                },\n                \"subtitleContent\": {\n                  \"columnMatch\": \"SessionId_s\"\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Application\"\n                },\n                \"rightContent\": {\n                  \"columnMatch\": \"Host\"\n                },\n                \"secondaryContent\": {\n                  \"columnMatch\": \"DatabaseName\"\n                },\n                \"showBorder\": false,\n                \"size\": \"full\"\n              },\n              \"graphSettings\": {\n                \"type\": 0\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s),   \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Session_ID has '{SessionID}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| order by Submit_Time asc\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"RequestId_s\",\n              \"exportParameterName\": \"RequestID\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize Start_Time=max(StartTime_t),End_Time=max(EndTime_t),Request_ID=max(RequestId_s),Operation_Type=max(OperationType_s),Row_Count=max(RowCount_d),Statement=max(Command_s),Status=min(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 2\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"SessionInvestigation\"\n      },\n      \"name\": \"group - 9\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This tab is used to determine what statements triggerred autostats creation jobs. \\r\\nThe flow of autostats creation is as follows\\r\\n1. Query Submit Time\\r\\n2. \\tCreate Statistics submit Time\\r\\n3. \\tCreate Statistics end Time\\r\\n4. Query end_compile_time\\r\\n5. Query Start_Time\\r\\n6. Query End_Time\\r\\n\\r\\nFurther, if multiple stats are created, then the creation of all stats for this query will fall between query submit_time and end_compile_time. \\r\\n\\r\\nThe charts on this page allow you to search for an autostats job by requestID or my snippet of the autostats statement text, which can just be the schema, table, or column name. Then it will show you all commands that include that request ID or text. It will then show you all statements in the create stat statement because the query we are trying to identify will wait for all of those stats creations to complete before proceeding. \\r\\n\\r\\nThe last chart will list out all statements that could possibly have triggerred the stats creation job based on their submite/end_compile_time. \"\n            },\n            \"name\": \"text - 6\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0911bd4b-d471-480b-bdf4-1a2d4ba1ea6e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"RequestId for AutoStats Job\"\n                },\n                {\n                  \"id\": \"c12e6495-4fd1-473c-8ffc-0bf502f54706\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"label\": \"Snippet of autostats creation statement (Schema, table or column)\"\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Command has '{QueryTextSnippet}'\\r\\nand RequestId_s has '{RequestIdSearch}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| order by elapsedTime_sec\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n    Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n    Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n    SampleQID = any(RequestId_s),\\r\\n    SampleSessionID = any(Session_ID)\\r\\n    by Command\\r\\n| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Queries\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleSessionID\",\n                  \"parameterName\": \"Samp\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where RequestId_s == '{SampleQID}'\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=min(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| join kind=inner\\r\\n    (AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n    | extend elapsedTime_sec = (End_Time - Submit_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n    | extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Session_ID1,Submit_Time1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,elapsedTime_sec1,CompileTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"Request_ID1\",\n                  \"parameterName\": \"RequestId\"\n                },\n                {\n                  \"fieldName\": \"End_Time1\",\n                  \"parameterName\": \"StatEndTime\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Submit_Time1\",\n                  \"parameterName\": \"StatSubmitTime\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Session_ID1\",\n                  \"parameterName\": \"SessionId\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"End_Time1\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"End_Time1\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s !in ('Batch','Execute')\\r\\n        | where SessionId_s == '{SessionId}'\\r\\n        | summarize \\r\\n            Session_ID=max(SessionId_s), \\r\\n            Request_ID=max(RequestId_s),  \\r\\n            Submit_Time=min(SubmitTime_t), \\r\\n            Start_Time=max(StartTime_t),\\r\\n            End_Compile_Time=max(EndCompileTime_t), \\r\\n            End_Time=max(EndTime_t), \\r\\n            Command=max(Command_s), \\r\\n            Last_Status=min(Status_s),\\r\\n            Statement_Type=max(StatementType_s),\\r\\n            Resource_class=max(ResourceClass_s) \\r\\n            by RequestId_s\\r\\n| project Session_ID,Request_ID,Submit_Time,End_Compile_Time,Start_Time,End_Time,Last_Status,Statement_Type,Command\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Statements in Stats Statement Session\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"4e005821-785a-4246-aae8-de00987cba18\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Session_Submit_Time\",\n                  \"type\": 1,\n                  \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SessionId_s == '{SessionId}'\\r\\n| summarize \\r\\n    Session_Submit_Time=min(SubmitTime_t) \\r\\n    by SessionId_s\\r\\n| project Session_Submit_Time\\r\\n\\r\\n\\r\\n\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 259200000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"b046db56-e6b3-4f3d-afb3-9687240c21f1\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Session_End_Time\",\n                  \"type\": 1,\n                  \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SessionId_s == '{SessionId}'\\r\\n| summarize \\r\\n    Session_End_Time=max(EndTime_t) \\r\\n    by SessionId_s\\r\\n| project Session_End_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 259200000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 7\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SubmitTime_t < datetime('{Session_Submit_Time}') and EndCompileTime_t > datetime('{Session_End_Time}') or RequestId_s == '{RequestId}'\\r\\n| summarize by RequestId_s\\r\\n| join kind=inner\\r\\n    (\\r\\n        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s !in ('Batch','Execute')\\r\\n        | summarize \\r\\n            Session_ID=max(SessionId_s), \\r\\n            Request_ID=max(RequestId_s),  \\r\\n            Submit_Time=min(SubmitTime_t), \\r\\n            Start_Time=max(StartTime_t),\\r\\n            End_Compile_Time=max(EndCompileTime_t), \\r\\n            End_Time=max(EndTime_t), \\r\\n            Command=max(Command_s), \\r\\n            Last_Status=min(Status_s),\\r\\n            Statement_Type=max(StatementType_s),\\r\\n            Resource_class=max(ResourceClass_s) \\r\\n            by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by End_Compile_Time\\r\\n| project Session_ID,Request_ID,Submit_Time,End_Compile_Time,Start_Time,End_Time,Last_Status,Statement_Type,Command\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Query Executions that could have triggered Stats Statement based on Time of total session\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Statistics\"\n      },\n      \"name\": \"statistics\"\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"Workbook Version: 1.4\"\n      },\n      \"name\": \"text - 11\"\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"Azure Monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/README.md",
    "content": "# Monitor Synapse\nUse this template to monitor your dedicated SQL Pools. \nIf you have an instance that was created withint a Synapse workspace, then you will use the workspaces sql pool template. \nIf the instance was deployed standalone and was not originally part of a workspace, you will use the standalone template.\n![DedicatedPoolWB1](/Collateral/Screenshots/DedicatedPoolWB1.png)\n\n## Pre-Requisites\n1. Log Analytics workspace created\n2. Diagnostic settings enabled to send all diagnostics except DMS Workers and SQL Requests to log analytics\n3. Auditing enabled for the database or server and sent to Log Analytics (without this the 'Query Activity' tab will not have any data)\n\n## To use the template:\n1. Create a new workbook in Azure Monitor (accessing directly from Azure Workbooks does not have a 'new workbook' button)\n2. Click edit if you are not already in edit mode\n3. Click the advanced editor button - \"</>\"\n4. Paste in the contents of this JSON into the Gallery Template and Save\n5. Fill in the radio parameters at the top to populate your dashboards.\n\n# To configure additional components to be monitored: \n\n## Spark Pools\nFollow these instructions to configure diagnostic settings and download the workbook https://docs.microsoft.com/en-us/azure/synapse-analytics/spark/apache-spark-azure-log-analytics\n![SparkWB1](/Collateral/Screenshots/SparkWB1.png)\n\n## Storage accounts\nWhen creating a workbook, search public templates for storage account and you will see storage account workbooks. You can filter it just to be the storage accounts for your synapse instance or look at all at once. Clicking one of the storage accounts will take you to a separate workbook just for investigating that storage account. \n![StorageWB1](/Collateral/Screenshots/StorageAccountOverviewScreenshot_WB2.png)\n\n## Pipeline/trigger runs\nThe pipeline workbook is an adaptation of an existing Azure Data Factory and serves both services. \n![PipelineWB1](/Collateral/Screenshots/SynapsePipelineWorkbook1.png)\n\n## Serverless\nEarly version of the serverless workbook has been posted. This includes query execution information including costing. You must have 'diagnostic settings' enabled at the workspace level to send 'BuiltinSqlReqsEnded' to Log Analytics. \n![ServerlessWB1](/Collateral/Screenshots/ServerlessWB2.png)\n"
  },
  {
    "path": "Monitor_Workbooks/SynapsePipelines_v1.1.workbook",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"parameters\": [\n          {\n            \"id\": \"d49554d4-694d-4606-89aa-510d92eb95cd\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"value\": {\n              \"durationMs\": 86400000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                },\n                {\n                  \"durationMs\": 5184000000\n                },\n                {\n                  \"durationMs\": 7776000000\n                }\n              ]\n            },\n            \"label\": \"Time Range\"\n          },\n          {\n            \"id\": \"d0ad178a-e2af-4157-a902-86c94e4dad29\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"label\": \"Log Analytics Subsciption\",\n            \"type\": 6,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::all\"\n              ],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"value\": []\n          },\n          {\n            \"id\": \"fe0740a1-545a-47d0-9b91-acbd7034a551\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"label\": \"Log Analytics Workspace\",\n            \"type\": 5,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::all\"\n              ],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\",\n            \"value\": []\n          },\n          {\n            \"id\": \"fd3f9b36-6e8f-4396-8478-1c9c46174057\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DataFactory\",\n            \"label\": \"Synapse/Data Factory\",\n            \"type\": 5,\n            \"isGlobal\": true,\n            \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| distinct ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"typeSettings\": {\n              \"resourceTypeFilter\": {\n                \"microsoft.datafactory/factories\": true,\n                \"microsoft.datafactory/datafactories\": true,\n                \"microsoft.synapse/workspaces\": true,\n                \"Microsoft.Synapse/workspaces\": true,\n                \"Microsoft.Synapse/workspaces/bigDataPools\": true,\n                \"Microsoft.Synapse/workspaces/kustopools\": true,\n                \"Microsoft.Synapse/workspaces/kustopools/databases\": true,\n                \"Microsoft.Synapse/workspaces/scopePools\": true,\n                \"Microsoft.Synapse/workspaces/sqlPools\": true\n              },\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n            \"value\": null\n          },\n          {\n            \"id\": \"8dd2023d-6684-44e2-b910-82a0c0fbf879\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"pipeline\",\n            \"label\": \"Pipeline\",\n            \"type\": 2,\n            \"isGlobal\": true,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\")\\r\\n| project pipeId= strcat(ResourceId , PipelineName) , PipelineName\\r\\n//| distinct pipeId, PipelineName\\r\\n| distinct PipelineName\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::all\"\n              ],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"defaultValue\": \"value::all\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.resourcegraph/resources\"\n      },\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"tabs\",\n              \"links\": [\n                {\n                  \"id\": \"e870a3f7-acab-4aac-93b8-35b8bab51c1c\",\n                  \"cellValue\": \"selectedTab\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Overview Dashboard\",\n                  \"subTarget\": \"overview\",\n                  \"preText\": \"Overview Dashboard\",\n                  \"style\": \"link\"\n                },\n                {\n                  \"id\": \"a773b8fc-30b4-480a-b1b2-a73653aa1fe5\",\n                  \"cellValue\": \"selectedTab\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Pipeline Details\",\n                  \"subTarget\": \"pipeline\",\n                  \"preText\": \"Pipeline Details \",\n                  \"style\": \"link\"\n                }\n              ]\n            },\n            \"name\": \"links - 7\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| extend Resource = tostring(split(ResourceId, \\\"/\\\")[8])\\r\\n| summarize dcount(RunId) by Resource, ResourceId\\r\\n\",\n                    \"size\": 1,\n                    \"title\": \"⚙ Runs per Synapse/Datafactory\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"exportFieldName\": \"ResourceId\",\n                    \"exportParameterName\": \"DataFactory\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"visualization\": \"piechart\",\n                    \"tileSettings\": {\n                      \"showBorder\": false,\n                      \"titleContent\": {\n                        \"columnMatch\": \"ResourceId\",\n                        \"formatter\": 1\n                      },\n                      \"leftContent\": {\n                        \"columnMatch\": \"dcount_RunId\",\n                        \"formatter\": 12,\n                        \"formatOptions\": {\n                          \"palette\": \"auto\"\n                        },\n                        \"numberFormat\": {\n                          \"unit\": 17,\n                          \"options\": {\n                            \"maximumSignificantDigits\": 3,\n                            \"maximumFractionDigits\": 2\n                          }\n                        }\n                      }\n                    },\n                    \"chartSettings\": {\n                      \"ySettings\": {}\n                    }\n                  },\n                  \"customWidth\": \"33\",\n                  \"name\": \"query - 2\",\n                  \"styleSettings\": {\n                    \"showBorder\": true\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nlet T= allPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\")\\r\\n| where PipelineName in ({pipeline}) \\r\\n|summarize arg_max(TimeGenerated,* ) by RunId;\\r\\n\\r\\nT\\r\\n| summarize  Succeeded=dcountif(RunId, Status startswith \\\"Succeeded\\\"),Failed=dcountif(RunId, Status startswith \\\"Failed\\\"), Cancelled = dcountif(RunId, Status startswith \\\"Cancelled\\\") by PipelineName\\r\\n|render barchart with (series = PipelineName)\\r\\n\",\n                    \"size\": 1,\n                    \"title\": \"🎯 Runs per pipeline grouped by status\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"formatters\": [\n                        {\n                          \"columnMatch\": \"Succeeded\",\n                          \"formatter\": 3,\n                          \"formatOptions\": {\n                            \"palette\": \"green\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Failed\",\n                          \"formatter\": 3,\n                          \"formatOptions\": {\n                            \"palette\": \"red\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Cancelled\",\n                          \"formatter\": 3,\n                          \"formatOptions\": {\n                            \"palette\": \"orange\"\n                          },\n                          \"numberFormat\": {\n                            \"unit\": 17,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        }\n                      ]\n                    },\n                    \"tileSettings\": {\n                      \"showBorder\": false,\n                      \"titleContent\": {\n                        \"columnMatch\": \"PipelineName\",\n                        \"formatter\": 1\n                      },\n                      \"leftContent\": {\n                        \"columnMatch\": \"dcount_RunId\",\n                        \"formatter\": 12,\n                        \"formatOptions\": {\n                          \"palette\": \"auto\"\n                        },\n                        \"numberFormat\": {\n                          \"unit\": 17,\n                          \"options\": {\n                            \"maximumSignificantDigits\": 3,\n                            \"maximumFractionDigits\": 2\n                          }\n                        }\n                      }\n                    },\n                    \"graphSettings\": {\n                      \"type\": 0,\n                      \"topContent\": {\n                        \"columnMatch\": \"PipelineName\",\n                        \"formatter\": 1\n                      },\n                      \"centerContent\": {\n                        \"columnMatch\": \"dcount_RunId\",\n                        \"formatter\": 1,\n                        \"numberFormat\": {\n                          \"unit\": 17,\n                          \"options\": {\n                            \"maximumSignificantDigits\": 3,\n                            \"maximumFractionDigits\": 2\n                          }\n                        }\n                      }\n                    },\n                    \"chartSettings\": {\n                      \"xAxis\": \"PipelineName\",\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Succeeded\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"orange\"\n                        },\n                        {\n                          \"seriesName\": \"Total\",\n                          \"color\": \"blue\"\n                        }\n                      ],\n                      \"xSettings\": {},\n                      \"ySettings\": {}\n                    }\n                  },\n                  \"customWidth\": \"33\",\n                  \"name\": \"query - 4 - Copy\",\n                  \"styleSettings\": {\n                    \"showBorder\": true\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| extend endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend Duration = datetime_diff('Second',endd, Start) \\r\\n| summarize avg(Duration) by PipelineName\",\n                    \"size\": 1,\n                    \"aggregation\": 3,\n                    \"title\": \"⏲ Average duration per pipeline\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"visualization\": \"barchart\",\n                    \"tileSettings\": {\n                      \"showBorder\": false,\n                      \"titleContent\": {\n                        \"columnMatch\": \"PipelineName\",\n                        \"formatter\": 1\n                      },\n                      \"leftContent\": {\n                        \"columnMatch\": \"Duration\",\n                        \"formatter\": 12,\n                        \"formatOptions\": {\n                          \"palette\": \"auto\"\n                        },\n                        \"numberFormat\": {\n                          \"unit\": 17,\n                          \"options\": {\n                            \"maximumSignificantDigits\": 3,\n                            \"maximumFractionDigits\": 2\n                          }\n                        }\n                      }\n                    },\n                    \"graphSettings\": {\n                      \"type\": 0\n                    },\n                    \"chartSettings\": {\n                      \"showMetrics\": false,\n                      \"showLegend\": true\n                    }\n                  },\n                  \"customWidth\": \"34\",\n                  \"name\": \"query - 5\",\n                  \"styleSettings\": {\n                    \"showBorder\": true\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId, Link1 = \\\"https://web.azuresynapse.net/en-us/monitoring/pipelineruns?workspace=\\\" , Link2 = \\\"https://web.azuresynapse.net/en-us/monitoring/pipelineruns/\\\";\\r\\n\\r\\nlet df = ADFPipelineRun\\r\\n|extend Link1 = \\\"https://ms-adf.azure.com/monitoring/pipelineruns?factory=\\\", Link2 = \\\"https://ms-adf.azure.com/en-us/monitoring/pipelineruns/\\\", Link3= \\\"?factory=\\\";\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nlet allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\n\\r\\nlet T = allPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| extend StatusIcon = case(Status == \\\"Succeeded\\\", '🟢', \\r\\n                       Status == \\\"InProgress\\\", '🟡', \\r\\n                       Status == \\\"Queued\\\", '🔵',\\r\\n                       Status == \\\"Cancelled\\\",'🟠', \\r\\n                       Status == \\\"Failed\\\", '🔴', \\r\\n                       '0')\\r\\n|order by TimeGenerated;\\r\\n\\r\\n\\r\\n\\r\\n\\r\\nlet T2 = T\\r\\n| summarize commands_details = make_list(pack('status', StatusIcon, 'TimeGenerated', TimeGenerated)) by PipelineName\\r\\n| mv-apply command_details = commands_details on\\r\\n(\\r\\n    order by todatetime(command_details['TimeGenerated']) asc\\r\\n    | summarize make_list(command_details['status'])\\r\\n)\\r\\n| project-away commands_details \\r\\n| extend ['Last runs'] = strcat_array(list_command_details_status,'');\\r\\n\\r\\n\\r\\n\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by PipelineName\\r\\n| extend ParentId = ''\\r\\n        , Id = PipelineName\\r\\n        ,Link =  strcat(Link1, ResourceId)\\r\\n        , Resource = ResourceId\\r\\n        , endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend Duration = format_timespan(endd- Start,'hh:mm:ss') ,Pipeline =  strcat('🗜️ ', PipelineName) \\r\\n| join  T2 on PipelineName\\r\\n|project ParentId, Id , Resource, Pipeline, Status, Start, Duration, ['Last runs'], Link,TimeGenerated\\r\\n\\r\\n|union (T\\r\\n| extend ParentId = PipelineName\\r\\n        ,Id = RunId\\r\\n        ,Link = strcat(Link2,CorrelationId,\\\"?factory=\\\",ResourceId)\\r\\n        , endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n|extend Duration = format_timespan(endd- Start,'hh:mm:ss')  \\r\\n|project ParentId,Id, Status,Start,Duration,Link,TimeGenerated)\\r\\n|union (allActivites \\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by ActivityRunId\\r\\n| extend endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend  ParentId = PipelineRunId,Id = ActivityRunId,Link=\\\"\\\",Duration = format_timespan(endd- Start,'hh:mm:ss')  , Resource = ActivityName\\r\\n| order by TimeGenerated desc \\r\\n| project ParentId,Id, Status,Start,Duration,Link,TimeGenerated, Resource)\\r\\n| union (allActivites \\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by ActivityRunId\\r\\n| where Status ==\\\"Failed\\\"\\r\\n| extend  ParentId = ActivityRunId, Id = \\\"*\\\", ['Last runs'] = ErrorMessage\\r\\n| project ParentId, Id, ['Last runs']);\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"📑 Last runs\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"exportedParameters\": [\n                      {\n                        \"fieldName\": \"PipelineName\",\n                        \"parameterName\": \"pipeline\",\n                        \"parameterType\": 5\n                      }\n                    ],\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"formatters\": [\n                        {\n                          \"columnMatch\": \"ParentId\",\n                          \"formatter\": 5,\n                          \"formatOptions\": {}\n                        },\n                        {\n                          \"columnMatch\": \"Id\",\n                          \"formatter\": 5,\n                          \"formatOptions\": {}\n                        },\n                        {\n                          \"columnMatch\": \"Resource\",\n                          \"formatter\": 13,\n                          \"formatOptions\": {\n                            \"linkTarget\": null,\n                            \"showIcon\": true\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Status\",\n                          \"formatter\": 18,\n                          \"formatOptions\": {\n                            \"thresholdsOptions\": \"icons\",\n                            \"thresholdsGrid\": [\n                              {\n                                \"operator\": \"==\",\n                                \"thresholdValue\": \"Failed\",\n                                \"representation\": \"critical\",\n                                \"text\": \"{0}{1}\"\n                              },\n                              {\n                                \"operator\": \"==\",\n                                \"thresholdValue\": \"Succeeded\",\n                                \"representation\": \"success\",\n                                \"text\": \"{0}{1}\"\n                              },\n                              {\n                                \"operator\": \"==\",\n                                \"thresholdValue\": \"InProgress\",\n                                \"representation\": \"pending\"\n                              },\n                              {\n                                \"operator\": \"==\",\n                                \"thresholdValue\": \"Queued\",\n                                \"representation\": \"1\",\n                                \"text\": \"{0}{1}\"\n                              },\n                              {\n                                \"operator\": \"==\",\n                                \"thresholdValue\": \"Cancelled\",\n                                \"representation\": \"2\",\n                                \"text\": \"{0}{1}\"\n                              },\n                              {\n                                \"operator\": \"Default\",\n                                \"thresholdValue\": null,\n                                \"representation\": \"more\",\n                                \"text\": \"{0}{1}\"\n                              }\n                            ]\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Start\",\n                          \"formatter\": 6,\n                          \"formatOptions\": {}\n                        },\n                        {\n                          \"columnMatch\": \"Link\",\n                          \"formatter\": 7,\n                          \"formatOptions\": {\n                            \"linkTarget\": \"Url\",\n                            \"linkLabel\": \"🌐 (url)\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"TimeGenerated\",\n                          \"formatter\": 5,\n                          \"formatOptions\": {}\n                        }\n                      ],\n                      \"hierarchySettings\": {\n                        \"idColumn\": \"Id\",\n                        \"parentColumn\": \"ParentId\",\n                        \"treeType\": 0,\n                        \"expanderColumn\": \"Pipeline\"\n                      },\n                      \"sortBy\": [\n                        {\n                          \"itemKey\": \"Last runs\",\n                          \"sortOrder\": 1\n                        }\n                      ]\n                    },\n                    \"sortBy\": [\n                      {\n                        \"itemKey\": \"Last runs\",\n                        \"sortOrder\": 1\n                      }\n                    ]\n                  },\n                  \"name\": \"query - 3\",\n                  \"styleSettings\": {\n                    \"showBorder\": true\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| summarize count() by ResourceId, PipelineName, format_datetime(bin(TimeGenerated, 1d),'yyyy-MM-dd')\",\n                    \"size\": 1,\n                    \"aggregation\": 3,\n                    \"showAnnotations\": true,\n                    \"title\": \"🗓 Number of runs by date\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"visualization\": \"barchart\",\n                    \"graphSettings\": {\n                      \"type\": 0\n                    },\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"PipelineName\",\n                      \"createOtherGroup\": null,\n                      \"showMetrics\": false,\n                      \"showLegend\": true,\n                      \"xSettings\": {\n                        \"numberFormatSettings\": {\n                          \"unit\": 0,\n                          \"options\": {\n                            \"style\": \"decimal\",\n                            \"useGrouping\": false\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"customWidth\": \"50\",\n                  \"name\": \"query - 5 - Copy - Copy\",\n                  \"styleSettings\": {\n                    \"showBorder\": true\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| summarize count() by ResourceId, PipelineName, format_datetime(bin(TimeGenerated, 1h),'HH:mm')\\r\\n|order by TimeGenerated asc\",\n                    \"size\": 1,\n                    \"aggregation\": 3,\n                    \"showAnnotations\": true,\n                    \"title\": \"🕓 Number of runs over time\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"visualization\": \"barchart\",\n                    \"graphSettings\": {\n                      \"type\": 0\n                    },\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"PipelineName\",\n                      \"createOtherGroup\": null,\n                      \"showMetrics\": false,\n                      \"showLegend\": true,\n                      \"xSettings\": {\n                        \"numberFormatSettings\": {\n                          \"unit\": 0,\n                          \"options\": {\n                            \"style\": \"decimal\",\n                            \"useGrouping\": false\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"customWidth\": \"50\",\n                  \"name\": \"query - 5 - Copy - Copy - Copy\",\n                  \"styleSettings\": {\n                    \"showBorder\": true\n                  }\n                }\n              ]\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"selectedTab\",\n              \"comparison\": \"isEqualTo\",\n              \"value\": \"overview\"\n            },\n            \"name\": \"group - 8\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| extend endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend Duration = datetime_diff('Second',endd, Start) \\r\\n| summarize avg(Duration) by PipelineName, Start\",\n                    \"size\": 1,\n                    \"aggregation\": 3,\n                    \"title\": \"⏱ Duration over time \",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"visualization\": \"linechart\",\n                    \"tileSettings\": {\n                      \"showBorder\": false,\n                      \"titleContent\": {\n                        \"columnMatch\": \"PipelineName\",\n                        \"formatter\": 1\n                      },\n                      \"leftContent\": {\n                        \"columnMatch\": \"Duration\",\n                        \"formatter\": 12,\n                        \"formatOptions\": {\n                          \"palette\": \"auto\"\n                        },\n                        \"numberFormat\": {\n                          \"unit\": 17,\n                          \"options\": {\n                            \"maximumSignificantDigits\": 3,\n                            \"maximumFractionDigits\": 2\n                          }\n                        }\n                      }\n                    },\n                    \"graphSettings\": {\n                      \"type\": 0\n                    },\n                    \"chartSettings\": {\n                      \"showMetrics\": false,\n                      \"showLegend\": true,\n                      \"ySettings\": {\n                        \"numberFormatSettings\": {\n                          \"unit\": 24,\n                          \"options\": {\n                            \"style\": \"decimal\",\n                            \"useGrouping\": true\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"name\": \"query - 5 - Copy\",\n                  \"styleSettings\": {\n                    \"showBorder\": true\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nlet Activites =  allActivites\\r\\n| extend a = todynamic(Output)\\r\\n| summarize Rows=  sum(toint(a.rowsCopied)) by CorrelationId ;\\r\\n//, sum(toint(a.dataWritten)), sum(toint(a.filesRead)), sum(toint(a.rowsCopied))\\r\\n\\r\\n\\r\\nlet synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| join Activites on CorrelationId\\r\\n| project PipelineName, TimeGenerated, Rows\",\n                    \"size\": 1,\n                    \"title\": \"💾 Rows copied over time\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"visualization\": \"areachart\"\n                  },\n                  \"customWidth\": \"32\",\n                  \"name\": \"query - 1 - Copy - Copy - Copy\",\n                  \"styleSettings\": {\n                    \"showBorder\": true\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nlet Activites =  allActivites\\r\\n| extend a = todynamic(Output)\\r\\n| summarize Read=  sum(toint(a.dataRead)),Written =  sum(toint(a.dataWritten)) by CorrelationId ;\\r\\n//, sum(toint(a.dataWritten)), sum(toint(a.filesRead)), sum(toint(a.rowsCopied))\\r\\n\\r\\n\\r\\nlet synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| join Activites on CorrelationId\\r\\n| project PipelineName, TimeGenerated, Read, Written\",\n                    \"size\": 1,\n                    \"title\": \"💻 Data read/written over time\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"visualization\": \"areachart\"\n                  },\n                  \"customWidth\": \"33\",\n                  \"name\": \"query - 1 - Copy\",\n                  \"styleSettings\": {\n                    \"showBorder\": true\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nlet Activites =  allActivites\\r\\n| extend a = todynamic(Output)\\r\\n| summarize Read=  sum(toint(a.filesRead)),Written =  sum(toint(a.filesWritten)) by CorrelationId ;\\r\\n//, sum(toint(a.dataWritten)), sum(toint(a.filesRead)), sum(toint(a.rowsCopied))\\r\\n\\r\\n\\r\\nlet synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| join Activites on CorrelationId\\r\\n| project PipelineName, TimeGenerated, Read, Written\",\n                    \"size\": 1,\n                    \"title\": \"📄  Files read / written over time\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"visualization\": \"areachart\"\n                  },\n                  \"customWidth\": \"33\",\n                  \"name\": \"query - 1 - Copy - Copy\",\n                  \"styleSettings\": {\n                    \"showBorder\": true\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by TimeGenerated; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n                    \"size\": 1,\n                    \"title\": \"🛑 Errors over time\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"visualization\": \"categoricalbar\",\n                    \"tileSettings\": {\n                      \"showBorder\": false,\n                      \"titleContent\": {\n                        \"columnMatch\": \"PipelineName\",\n                        \"formatter\": 1\n                      },\n                      \"leftContent\": {\n                        \"columnMatch\": \"ErrorCode\",\n                        \"formatter\": 12,\n                        \"formatOptions\": {\n                          \"palette\": \"auto\"\n                        },\n                        \"numberFormat\": {\n                          \"unit\": 17,\n                          \"options\": {\n                            \"maximumSignificantDigits\": 3,\n                            \"maximumFractionDigits\": 2\n                          }\n                        }\n                      }\n                    },\n                    \"graphSettings\": {\n                      \"type\": 0,\n                      \"topContent\": {\n                        \"columnMatch\": \"PipelineName\",\n                        \"formatter\": 1\n                      },\n                      \"centerContent\": {\n                        \"columnMatch\": \"ErrorCode\",\n                        \"formatter\": 1,\n                        \"numberFormat\": {\n                          \"unit\": 17,\n                          \"options\": {\n                            \"maximumSignificantDigits\": 3,\n                            \"maximumFractionDigits\": 2\n                          }\n                        }\n                      }\n                    },\n                    \"chartSettings\": {\n                      \"showMetrics\": false,\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"count_\",\n                          \"color\": \"redBright\"\n                        }\n                      ]\n                    }\n                  },\n                  \"name\": \"query - 1 - Copy - Copy - Copy - Copy\",\n                  \"styleSettings\": {\n                    \"showBorder\": true\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by ActivityType; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n                    \"size\": 1,\n                    \"title\": \"🛑 Errors per Activity type\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"visualization\": \"categoricalbar\",\n                    \"tileSettings\": {\n                      \"showBorder\": false,\n                      \"titleContent\": {\n                        \"columnMatch\": \"PipelineName\",\n                        \"formatter\": 1\n                      },\n                      \"leftContent\": {\n                        \"columnMatch\": \"ErrorCode\",\n                        \"formatter\": 12,\n                        \"formatOptions\": {\n                          \"palette\": \"auto\"\n                        },\n                        \"numberFormat\": {\n                          \"unit\": 17,\n                          \"options\": {\n                            \"maximumSignificantDigits\": 3,\n                            \"maximumFractionDigits\": 2\n                          }\n                        }\n                      }\n                    },\n                    \"graphSettings\": {\n                      \"type\": 0,\n                      \"topContent\": {\n                        \"columnMatch\": \"PipelineName\",\n                        \"formatter\": 1\n                      },\n                      \"centerContent\": {\n                        \"columnMatch\": \"ErrorCode\",\n                        \"formatter\": 1,\n                        \"numberFormat\": {\n                          \"unit\": 17,\n                          \"options\": {\n                            \"maximumSignificantDigits\": 3,\n                            \"maximumFractionDigits\": 2\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"customWidth\": \"33\",\n                  \"name\": \"query - 1 - Copy - Copy - Copy\",\n                  \"styleSettings\": {\n                    \"showBorder\": true\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by FailureType; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n                    \"size\": 1,\n                    \"title\": \"🛑 Errors per failure type\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"visualization\": \"categoricalbar\",\n                    \"tileSettings\": {\n                      \"showBorder\": false,\n                      \"titleContent\": {\n                        \"columnMatch\": \"PipelineName\",\n                        \"formatter\": 1\n                      },\n                      \"leftContent\": {\n                        \"columnMatch\": \"ErrorCode\",\n                        \"formatter\": 12,\n                        \"formatOptions\": {\n                          \"palette\": \"auto\"\n                        },\n                        \"numberFormat\": {\n                          \"unit\": 17,\n                          \"options\": {\n                            \"maximumSignificantDigits\": 3,\n                            \"maximumFractionDigits\": 2\n                          }\n                        }\n                      }\n                    },\n                    \"graphSettings\": {\n                      \"type\": 0,\n                      \"topContent\": {\n                        \"columnMatch\": \"PipelineName\",\n                        \"formatter\": 1\n                      },\n                      \"centerContent\": {\n                        \"columnMatch\": \"ErrorCode\",\n                        \"formatter\": 1,\n                        \"numberFormat\": {\n                          \"unit\": 17,\n                          \"options\": {\n                            \"maximumSignificantDigits\": 3,\n                            \"maximumFractionDigits\": 2\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"customWidth\": \"33\",\n                  \"name\": \"query - 1 - Copy - Copy - Copy - Copy\",\n                  \"styleSettings\": {\n                    \"showBorder\": true\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by ActivityName; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n                    \"size\": 1,\n                    \"title\": \"🛑 Errors per activity name\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"visualization\": \"categoricalbar\",\n                    \"tileSettings\": {\n                      \"showBorder\": false,\n                      \"titleContent\": {\n                        \"columnMatch\": \"PipelineName\",\n                        \"formatter\": 1\n                      },\n                      \"leftContent\": {\n                        \"columnMatch\": \"ErrorCode\",\n                        \"formatter\": 12,\n                        \"formatOptions\": {\n                          \"palette\": \"auto\"\n                        },\n                        \"numberFormat\": {\n                          \"unit\": 17,\n                          \"options\": {\n                            \"maximumSignificantDigits\": 3,\n                            \"maximumFractionDigits\": 2\n                          }\n                        }\n                      }\n                    },\n                    \"graphSettings\": {\n                      \"type\": 0,\n                      \"topContent\": {\n                        \"columnMatch\": \"PipelineName\",\n                        \"formatter\": 1\n                      },\n                      \"centerContent\": {\n                        \"columnMatch\": \"ErrorCode\",\n                        \"formatter\": 1,\n                        \"numberFormat\": {\n                          \"unit\": 17,\n                          \"options\": {\n                            \"maximumSignificantDigits\": 3,\n                            \"maximumFractionDigits\": 2\n                          }\n                        }\n                      }\n                    }\n                  },\n                  \"customWidth\": \"33\",\n                  \"name\": \"query - 1 - Copy - Copy - Copy - Copy - Copy\",\n                  \"styleSettings\": {\n                    \"showBorder\": true\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| project TimeGenerated, PipelineName, ErrorCode, ErrorMessage, FailureType, ActivityName, ActivityType\\r\\n| order by TimeGenerated desc;\",\n                    \"size\": 0,\n                    \"title\": \"❗ Last failing activites\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 1000\n                    }\n                  },\n                  \"name\": \"query - 7\",\n                  \"styleSettings\": {\n                    \"showBorder\": true\n                  }\n                }\n              ]\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"selectedTab\",\n              \"comparison\": \"isEqualTo\",\n              \"value\": \"pipeline\"\n            },\n            \"name\": \"PipelineGroup\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"DataFactory\",\n        \"comparison\": \"isNotEqualTo\"\n      },\n      \"name\": \"VariablesSetMainGroup\"\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"Please set the variables above to view the Pipeline/Data Factory Details\",\n        \"style\": \"warning\"\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"DataFactory\",\n        \"comparison\": \"isEqualTo\"\n      },\n      \"name\": \"text - 2\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"Azure Monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/SynapseServerlessWorkbook.workbook",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"value::all\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"c4475a86-95ea-46b8-a5c0-3ee1c3f528bc\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"value\": {\n              \"durationMs\": 43200000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                },\n                {\n                  \"durationMs\": 5184000000\n                },\n                {\n                  \"durationMs\": 7776000000\n                }\n              ]\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"94b22c78-91c8-47e6-8833-70d458e199c3\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"Subscriptions\",\n            \"type\": 6,\n            \"isRequired\": true,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::1\",\n                \"value::all\"\n              ],\n              \"includeAll\": false,\n              \"showDefault\": false\n            },\n            \"defaultValue\": \"value::all\",\n            \"value\": [\n              \"value::all\"\n            ]\n          },\n          {\n            \"id\": \"3dbc1029-1a17-4a4d-a133-2d47c1e7844e\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"Synapse\",\n            \"type\": 5,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.synapse/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{Subscriptions}\"\n            ],\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::1\",\n                \"value::all\"\n              ],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"defaultValue\": \"value::all\",\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\",\n            \"value\": [\n              \"value::all\"\n            ]\n          },\n          {\n            \"id\": \"4d1459db-354e-4019-8e86-015d946ce892\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"value::all\"\n            ],\n            \"value\": [\n              \"value::all\"\n            ],\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::1\",\n                \"value::all\"\n              ],\n              \"showDefault\": false\n            },\n            \"defaultValue\": \"value::all\",\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 1,\n        \"resourceType\": \"microsoft.resourcegraph/resources\"\n      },\n      \"name\": \"parameters - 1\"\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"All costs listed in this workbook are approximate based on $5/TB and data processed is set to a minimum of 10MB. All calculations in the query results are using the charged data processed as opposed to the actual data processed. \",\n        \"style\": \"warning\"\n      },\n      \"name\": \"text - 4\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"4ee15681-1a46-4207-ac59-efab22cd6d9b\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Summary\",\n            \"subTarget\": \"Summary\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"82d489b0-87d6-4875-a5de-c7eb2d1c8c4f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Data Processed\",\n            \"subTarget\": \"DataProcessed\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"7c0e9efd-a60a-40d7-a290-12133a09a440\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Performance\",\n            \"subTarget\": \"QueryPerformance\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 4\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook9cfd0268-d682-40bb-870c-61e05013f973\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 4,\n              \"chartType\": -1,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolLoginAttempts\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Login Attempts\",\n              \"gridFormatType\": 1,\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Name\",\n                  \"formatter\": 13\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Value\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"33\",\n            \"showPin\": true,\n            \"name\": \"LoginAttemptsChart - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookdc90b0c5-4f40-4242-89b8-87eac7b9acaf\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 4,\n              \"chartType\": -1,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolRequestsEnded\",\n                  \"aggregation\": 1,\n                  \"columnName\": \"Requests Completed\"\n                }\n              ],\n              \"title\": \"Completed Requests\",\n              \"gridFormatType\": 1,\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Name\",\n                  \"formatter\": 13\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Value\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"33\",\n            \"showPin\": true,\n            \"name\": \"CompletedRequestCountTile\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1f0054e6-9715-47bb-a7fc-e92812c07403\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 4,\n              \"chartType\": -1,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolDataProcessedBytes\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Data Processed\",\n              \"gridFormatType\": 1,\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Name\",\n                  \"formatter\": 13\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Value\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"33\",\n            \"showPin\": true,\n            \"name\": \"DataProcessed - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookdc90b0c5-4f40-4242-89b8-87eac7b9acaf\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolRequestsEnded\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null,\n                  \"columnName\": \"Requests Completed\"\n                }\n              ],\n              \"title\": \"Completed Requests\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"CompletedRequestCount\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1f0054e6-9715-47bb-a7fc-e92812c07403\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolDataProcessedBytes\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Data Processed\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"DataProcessed\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook9cfd0268-d682-40bb-870c-61e05013f973\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolLoginAttempts\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Login Attempts\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"LoginAttemptsChart\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Queries by completion type\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| summarize count() by ResultType\\r\\n| render piechart \",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Queries by Result Type\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"$gen_link_Properties_9\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"$gen_link_Properties_9\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"customWidth\": \"33\",\n            \"showPin\": true,\n            \"name\": \"QueriesByResultType\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Queries by query type\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project CommandType=tostring(Properties.command)\\r\\n| summarize count() by CommandType\\r\\n| render piechart \\r\\n\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Queries by Query Type\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"33\",\n            \"showPin\": true,\n            \"name\": \"Queries by Query Type\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Queries by completion type\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project BytesProcessed=Properties.dataProcessedBytes,tostring(Identity)\\r\\n| summarize sum(toint(BytesProcessed)) by Identity\\r\\n| render piechart \\r\\n\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Data Processed By User\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"33\",\n            \"showPin\": true,\n            \"name\": \"Data Processed By User\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Most Recent Query Runs\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| order by TimeGenerated\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project \\r\\n    StartTime=Properties.startTime,\\r\\n    EndTime=Properties.endTime, \\r\\n    Identity,\\r\\n    CommandType=Properties.command,\\r\\n    Result=ResultType,\\r\\n    MbProcessed=(Properties.dataProcessedBytes/1000/1000),\\r\\n    QueryText=Properties.queryText,\\r\\n    _ResourceId\\r\\n| extend elapsedTime_sec =(todatetime(EndTime) - StartTime)/1s\\r\\n| extend Approx_Cost=((MbProcessed)*5.0/100000.0)/100 //multiply by price per mb ($5 per TB from Microsoft Docs: https://azure.microsoft.com/en-us/pricing/details/synapse-analytics/)\\r\\n| project-reorder StartTime,EndTime,elapsedTime_sec,Identity,CommandType,Result,MbProcessed,Approx_Cost\\r\\n\",\n              \"size\": 2,\n              \"showAnalytics\": true,\n              \"title\": \"Recent Queries\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"StartTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"EndTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"elapsedTime_sec\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Result\",\n                    \"formatter\": 18,\n                    \"formatOptions\": {\n                      \"thresholdsOptions\": \"icons\",\n                      \"thresholdsGrid\": [\n                        {\n                          \"operator\": \"Default\",\n                          \"thresholdValue\": null,\n                          \"representation\": \"success\",\n                          \"text\": \"{0}{1}\"\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MbProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Approx_Cost\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"yellow\"\n                    },\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\",\n                        \"minimumFractionDigits\": 2,\n                        \"maximumFractionDigits\": 6\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"QueryText\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"CellDetails\",\n                      \"linkIsContextBlade\": true,\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"BytesProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"red\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"Recent Queries\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Overall concurrency\\r\\nlet snapshotTelemetryInterval = 1m;//1m;//1h;//30m;//Do not change\\r\\nlet minTelemetryDate = toscalar(SynapseSqlPoolExecRequests | summarize min(StartTime));\\r\\nlet maxTelemetryDate = toscalar(SynapseSqlPoolExecRequests | summarize max(EndTime));\\r\\nlet timeIntervals = range SnapshotTimeStamp from bin(minTelemetryDate, snapshotTelemetryInterval) to bin(maxTelemetryDate, snapshotTelemetryInterval) step snapshotTelemetryInterval;\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| order by TimeGenerated\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project \\r\\n    StartTime=todatetime(Properties.startTime),\\r\\n    EndTime=todatetime(Properties.endTime), \\r\\n    MbProcessed=(Properties.dataProcessedBytes/1000/1000)\\r\\n| extend elapsedTime_sec =(EndTime - StartTime)/1s\\r\\n| mv-expand TimeInterval=range(bin(StartTime, snapshotTelemetryInterval), bin(EndTime, snapshotTelemetryInterval) , snapshotTelemetryInterval) limit 100000\\r\\n| summarize ActiveQueryCount=count(),sum(MbProcessed),avg(elapsedTime_sec) by todatetime(TimeInterval)\\r\\n\",\n              \"size\": 2,\n              \"showAnalytics\": true,\n              \"title\": \"Concurrency\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"linechart\",\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"StartTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"EndTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"elapsedTime_sec\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Result\",\n                    \"formatter\": 18,\n                    \"formatOptions\": {\n                      \"thresholdsOptions\": \"icons\",\n                      \"thresholdsGrid\": [\n                        {\n                          \"operator\": \"Default\",\n                          \"thresholdValue\": null,\n                          \"representation\": \"success\",\n                          \"text\": \"{0}{1}\"\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MbProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Approx_Cost\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"yellow\"\n                    },\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\",\n                        \"minimumFractionDigits\": 2,\n                        \"maximumFractionDigits\": 6\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"QueryText\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"CellDetails\",\n                      \"linkIsContextBlade\": true,\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"BytesProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"red\"\n                    }\n                  }\n                ]\n              },\n              \"graphSettings\": {\n                \"type\": 0\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"Concurrency\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Summary\"\n      },\n      \"name\": \"SummaryGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1f0054e6-9715-47bb-a7fc-e92812c07403\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 4,\n              \"chartType\": -1,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolDataProcessedBytes\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Total Data Processed\",\n              \"gridFormatType\": 1,\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Name\",\n                  \"formatter\": 13\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Value\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"DataProcessed\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1f0054e6-9715-47bb-a7fc-e92812c07403\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolDataProcessedBytes\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Data Processed and Request Completed Count\",\n              \"showOpenInMe\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"DataProcessed - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Queries by completion type\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project \\r\\n    BytesProcessed=Properties.dataProcessedBytes,\\r\\n    tostring(Identity),\\r\\n    QueryHash=tostring(Properties.queryHash),\\r\\n    QueryText=tostring(Properties.queryText),\\r\\n    _ResourceId\\r\\n| extend MbProcessed = case (BytesProcessed < 10000000,10000000,\\r\\n\\t\\t\\t\\t\\t\\t\\tBytesProcessed)/1000/1000\\r\\n| summarize \\r\\n    MaxSingleQueryMBProcessed=max(toint(MbProcessed)),\\r\\n    TotalMBProcessed=sum(toint(MbProcessed)),\\r\\n    QueryCount=count(),\\r\\n    QueryHash=any(QueryHash) ,\\r\\n    Resource=any(_ResourceId)\\r\\n    by QueryText //using queryText because queryHash doesn’t change if only literals are different\\r\\n| extend Approx_Accumulated_Cost=((TotalMBProcessed)*5.0/100000.0)/100 \\r\\n| extend Approx_Cost_Per_Execution=((TotalMBProcessed)*5.0/100000.0)/100/QueryCount\\r\\n| order by TotalMBProcessed\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Data Processed By Query\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"table\",\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"QueryText\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"CellDetails\",\n                      \"linkIsContextBlade\": true\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MaxSingleQueryMBProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"orange\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"TotalMBProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"QueryCount\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"min\": 0,\n                      \"palette\": \"turquoise\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Approx_Accumulated_Cost\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"yellow\"\n                    },\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\",\n                        \"minimumFractionDigits\": 2,\n                        \"maximumFractionDigits\": 4\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Approx_Cost_Per_Execution\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\",\n                        \"minimumFractionDigits\": 2,\n                        \"maximumFractionDigits\": 6\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MaxSingleQueryBytesProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"orange\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"TotalBytesProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\",\n                      \"compositeBarSettings\": {\n                        \"labelText\": \"\",\n                        \"columnSettings\": []\n                      },\n                      \"customColumnWidthSetting\": \"866.007px\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"I\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"any_QueryText\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"CellDetails\",\n                      \"linkIsContextBlade\": true\n                    }\n                  }\n                ]\n              },\n              \"sortBy\": []\n            },\n            \"showPin\": true,\n            \"name\": \"Data Processed By Query\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Queries by completion type\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project BytesProcessed=Properties.dataProcessedBytes\\r\\n\\t\\t, tostring(Identity)\\r\\n| extend MbProcessed = case (BytesProcessed < 10000000,10000000,\\r\\n                            BytesProcessed)/1000/1000\\r\\n| summarize\\r\\n    TotalMBProcessed=sum(toint(MbProcessed)),\\r\\n    QueryCount=count(),\\r\\n    MaxSingleQueryMBProcessed=max(toint(MbProcessed) )\\r\\n    by Identity\\r\\n| extend Approx_Cost=((TotalMBProcessed) *5.0/100000.0) / 100 \\r\\n| order by TotalMBProcessed\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Data Processed By User with $5 per TB cost\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Identity\",\n              \"exportParameterName\": \"Identity\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"table\",\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"TotalMBProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"QueryCount\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"min\": 0,\n                      \"palette\": \"turquoise\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MaxSingleQueryMBProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"orange\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Approx_Cost\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\",\n                        \"useGrouping\": true,\n                        \"minimumFractionDigits\": 2,\n                        \"maximumFractionDigits\": 4\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"TotalBytesProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"min\": 0,\n                      \"palette\": \"blue\",\n                      \"compositeBarSettings\": {\n                        \"labelText\": \"\",\n                        \"columnSettings\": []\n                      },\n                      \"customColumnWidthSetting\": \"866.007px\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MaxSingleQueryBytesProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"min\": 0,\n                      \"palette\": \"orange\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"Data Processed By User - With Cost\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Query runs by user sorted by bytes processed\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| where Identity == '{Identity}'\\r\\n| project \\r\\n    StartTime=Properties.startTime,\\r\\n    EndTime=Properties.endTime, \\r\\n    Identity,\\r\\n    CommandType=Properties.command,\\r\\n    Result=ResultType,\\r\\n    BytesProcessed=Properties.dataProcessedBytes,\\r\\n    QueryText=Properties.queryText\\r\\n| order by toint(BytesProcessed)\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Query Summary for User by Data Processed\",\n              \"noDataMessage\": \"Select a user to see their query history\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"StartTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"EndTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"Result\",\n                    \"formatter\": 18,\n                    \"formatOptions\": {\n                      \"thresholdsOptions\": \"icons\",\n                      \"thresholdsGrid\": [\n                        {\n                          \"operator\": \"Default\",\n                          \"thresholdValue\": null,\n                          \"representation\": \"success\",\n                          \"text\": \"{0}{1}\"\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"BytesProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"min\": 0,\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"QueryText\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"CellDetails\",\n                      \"linkIsContextBlade\": true,\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"Identity\",\n              \"comparison\": \"isNotEqualTo\"\n            },\n            \"name\": \"Query Summary for User by Data Processed\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"DataProcessed\"\n      },\n      \"name\": \"DataProcessed\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Performance\",\n        \"items\": [\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Most Recent Query Runs\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| order by TimeGenerated\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project \\r\\n    StartTime=Properties.startTime,\\r\\n    EndTime=Properties.endTime, \\r\\n    Identity,\\r\\n    CommandType=Properties.command,\\r\\n    Result=ResultType,\\r\\n    MbProcessed=(Properties.dataProcessedBytes/1000/1000),\\r\\n    QueryText=Properties.queryText,\\r\\n    QueryHash=Properties.queryHash,\\r\\n    _ResourceId\\r\\n| extend elapsedTime_sec =(todatetime(EndTime) - StartTime)/1s\\r\\n| extend Approx_Cost=((MbProcessed)*5.0/100000.0)/100 //multiply by price per mb ($5 per TB from Microsoft Docs: https://azure.microsoft.com/en-us/pricing/details/synapse-analytics/)\\r\\n| project-reorder StartTime,EndTime,elapsedTime_sec,Identity,CommandType,Result,MbProcessed,Approx_Cost\\r\\n\",\n              \"size\": 2,\n              \"showAnalytics\": true,\n              \"title\": \"Recent Queries\",\n              \"exportFieldName\": \"QueryHash\",\n              \"exportParameterName\": \"QueryHash\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"StartTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"EndTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"elapsedTime_sec\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Result\",\n                    \"formatter\": 18,\n                    \"formatOptions\": {\n                      \"thresholdsOptions\": \"icons\",\n                      \"thresholdsGrid\": [\n                        {\n                          \"operator\": \"Default\",\n                          \"thresholdValue\": null,\n                          \"representation\": \"success\",\n                          \"text\": \"{0}{1}\"\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MbProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Approx_Cost\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"yellow\"\n                    },\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\",\n                        \"minimumFractionDigits\": 2,\n                        \"maximumFractionDigits\": 6\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"QueryText\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"CellDetails\",\n                      \"linkIsContextBlade\": true,\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"BytesProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"red\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"Recent Queries - Copy\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Select a query to view graphical history of each run\"\n            },\n            \"name\": \"text - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Most Recent Query Runs\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| order by TimeGenerated\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| where Properties.queryHash == {QueryHash}\\r\\n| project \\r\\n    StartTime=Properties.startTime,\\r\\n    EndTime=Properties.endTime, \\r\\n    Identity,\\r\\n    RequestId=Properties.clientRequestId,\\r\\n    StatementId = Properties.distributedStatementId,\\r\\n    CommandType=Properties.command,\\r\\n    Result=ResultType,\\r\\n    MbProcessed=(Properties.dataProcessedBytes/1000/1000),\\r\\n    QueryText=Properties.queryText,\\r\\n    QueryHash=Properties.queryHash,\\r\\n    _ResourceId\\r\\n| extend elapsedTime_sec =(todatetime(EndTime) - StartTime)/1s\\r\\n| extend Approx_Cost=((MbProcessed)*5.0/100000.0)/100 \\r\\n| project-reorder StartTime,EndTime,elapsedTime_sec,Identity,RequestId,StatementId,CommandType,Result,MbProcessed,Approx_Cost\\r\\n\",\n              \"size\": 2,\n              \"showAnalytics\": true,\n              \"title\": \"Selected Query History\",\n              \"noDataMessage\": \"Please select a query to view run history\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"linechart\",\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"StartTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"EndTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"elapsedTime_sec\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Result\",\n                    \"formatter\": 18,\n                    \"formatOptions\": {\n                      \"thresholdsOptions\": \"icons\",\n                      \"thresholdsGrid\": [\n                        {\n                          \"operator\": \"Default\",\n                          \"thresholdValue\": null,\n                          \"representation\": \"success\",\n                          \"text\": \"{0}{1}\"\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MbProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Approx_Cost\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"yellow\"\n                    },\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\",\n                        \"minimumFractionDigits\": 2,\n                        \"maximumFractionDigits\": 6\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"QueryText\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"CellDetails\",\n                      \"linkIsContextBlade\": true,\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"BytesProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"red\"\n                    }\n                  }\n                ]\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"EndTime\",\n                \"yAxis\": [\n                  \"elapsedTime_sec\",\n                  \"MbProcessed\"\n                ],\n                \"showDataPoints\": true\n              }\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"QueryHash\",\n              \"comparison\": \"isNotEqualTo\",\n              \"value\": \"\"\n            },\n            \"showPin\": true,\n            \"name\": \"SelectedQueryHistory\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryPerformance\"\n      },\n      \"name\": \"QueryPerformance\"\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"Azure Monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/DW_Summary.workbook.bak",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{Subscriptions}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"15a2c4b1-1223-428f-80a0-53ec8e8e86a5\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isRequired\": true,\n            \"value\": {\n              \"durationMs\": 259200000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                },\n                {\n                  \"durationMs\": 5184000000\n                },\n                {\n                  \"durationMs\": 7776000000\n                }\n              ],\n              \"allowCustom\": true\n            }\n          },\n          {\n            \"id\": \"bc3b3200-d39a-4d72-adc3-8473457d9b30\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"Subscriptions\",\n            \"type\": 6,\n            \"isRequired\": true,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"value\": [\n              \"value::all\"\n            ],\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::1\",\n                \"value::all\"\n              ],\n              \"includeAll\": false\n            }\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 1,\n        \"resourceType\": \"microsoft.resourcegraph/resources\"\n      },\n      \"name\": \"parameters - 1\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"d29d564f-9326-433b-8b87-678461724323\",\n            \"cellValue\": \"objectType\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Dedicated Pools\",\n            \"subTarget\": \"dedicated\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 6\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{Subscriptions}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8998a008-ea1b-4f4b-bcc2-44e15deba715\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SQLDWDBs\",\n                  \"type\": 5,\n                  \"isRequired\": true,\n                  \"multiSelect\": true,\n                  \"quote\": \"'\",\n                  \"delimiter\": \",\",\n                  \"query\": \"where type =~ 'microsoft.sql/servers/databases'\\r\\n| where sku has \\\"DataWarehouse\\\"\\r\\n| project id\",\n                  \"crossComponentResources\": [\n                    \"{Subscriptions}\"\n                  ],\n                  \"value\": [\n                    \"value::all\"\n                  ],\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [\n                      \"value::1\",\n                      \"value::all\"\n                    ]\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 1,\n                  \"resourceType\": \"microsoft.resourcegraph/resources\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 1,\n              \"resourceType\": \"microsoft.resourcegraph/resources\"\n            },\n            \"name\": \"Parameters - SQL DW\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"tabs\",\n              \"links\": [\n                {\n                  \"id\": \"933d2413-fcd3-4a62-827d-de0aeefd2632\",\n                  \"cellValue\": \"selectedTab\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Metrics\",\n                  \"subTarget\": \"metrics\",\n                  \"preText\": \"selec\",\n                  \"style\": \"link\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 10,\n                  \"content\": {\n                    \"chartId\": \"workbookf1358ff0-0e10-4ac2-ab2d-2fdfdb74dc2f\",\n                    \"version\": \"MetricsItem/2.0\",\n                    \"size\": 2,\n                    \"chartType\": 0,\n                    \"resourceType\": \"microsoft.sql/servers/databases\",\n                    \"metricScope\": 0,\n                    \"resourceParameter\": \"SQLDWDBs\",\n                    \"resourceIds\": [\n                      \"{SQLDWDBs}\"\n                    ],\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeContext\": {\n                      \"durationMs\": 604800000\n                    },\n                    \"metrics\": [\n                      {\n                        \"namespace\": \"microsoft.sql/servers/databases\",\n                        \"metric\": \"microsoft.sql/servers/databases-Basic-dwu_limit\",\n                        \"aggregation\": 3,\n                        \"columnName\": \"DWU\"\n                      },\n                      {\n                        \"namespace\": \"microsoft.sql/servers/databases\",\n                        \"metric\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent\",\n                        \"aggregation\": 3\n                      },\n                      {\n                        \"namespace\": \"microsoft.sql/servers/databases\",\n                        \"metric\": \"microsoft.sql/servers/databases-Basic-cpu_percent\",\n                        \"aggregation\": 3\n                      },\n                      {\n                        \"namespace\": \"microsoft.sql/servers/databases\",\n                        \"metric\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent\",\n                        \"aggregation\": 3\n                      },\n                      {\n                        \"namespace\": \"microsoft.sql/servers/databases\",\n                        \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                        \"aggregation\": 3,\n                        \"columnName\": \"TempDB Usage\"\n                      },\n                      {\n                        \"namespace\": \"microsoft.sql/servers/databases\",\n                        \"metric\": \"microsoft.sql/servers/databases-Basic-queued_queries\",\n                        \"aggregation\": 1\n                      }\n                    ],\n                    \"gridSettings\": {\n                      \"formatters\": [\n                        {\n                          \"columnMatch\": \"$gen_group\",\n                          \"formatter\": 13,\n                          \"formatOptions\": {\n                            \"linkTarget\": \"Resource\",\n                            \"showIcon\": true\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Group\",\n                          \"formatter\": 13,\n                          \"formatOptions\": {\n                            \"linkTarget\": \"Resource\",\n                            \"showIcon\": true\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Subscription\",\n                          \"formatter\": 13,\n                          \"formatOptions\": {\n                            \"linkTarget\": \"Resource\",\n                            \"showIcon\": true\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Name\",\n                          \"formatter\": 5\n                        },\n                        {\n                          \"columnMatch\": \"DWU\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"palette\": \"magenta\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"DWU Timeline\",\n                          \"formatter\": 5\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"min\": 0,\n                            \"max\": 100,\n                            \"palette\": \"greenRed\"\n                          },\n                          \"numberFormat\": {\n                            \"unit\": 1,\n                            \"options\": {\n                              \"style\": \"decimal\",\n                              \"useGrouping\": false\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent Timeline\",\n                          \"formatter\": 21,\n                          \"formatOptions\": {\n                            \"palette\": \"blue\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-cpu_percent\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"min\": 0,\n                            \"max\": 100,\n                            \"palette\": \"greenRed\"\n                          },\n                          \"numberFormat\": {\n                            \"unit\": 1,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-cpu_percent Timeline\",\n                          \"formatter\": 5\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"min\": 0,\n                            \"max\": 100,\n                            \"palette\": \"greenRed\"\n                          },\n                          \"numberFormat\": {\n                            \"unit\": 1,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent Timeline\",\n                          \"formatter\": 5\n                        },\n                        {\n                          \"columnMatch\": \"TempDB Usage\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"min\": 0,\n                            \"max\": 100,\n                            \"palette\": \"greenRed\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"TempDB Usage Timeline\",\n                          \"formatter\": 21,\n                          \"formatOptions\": {\n                            \"palette\": \"red\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-queued_queries\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"min\": 0,\n                            \"max\": 1024,\n                            \"palette\": \"yellowOrangeRed\"\n                          },\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-queued_queries Timeline\",\n                          \"formatter\": 21,\n                          \"formatOptions\": {\n                            \"palette\": \"yellow\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                          \"formatter\": 21,\n                          \"formatOptions\": {\n                            \"palette\": \"blue\"\n                          },\n                          \"numberFormat\": {\n                            \"unit\": 1,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent Timeline\",\n                          \"formatter\": 8,\n                          \"formatOptions\": {\n                            \"palette\": \"blue\"\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"microsoft.sql/servers/databases-Basic-dwu_limit\",\n                          \"formatter\": 21,\n                          \"formatOptions\": {\n                            \"palette\": \"yellow\"\n                          },\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        }\n                      ],\n                      \"rowLimit\": 10000,\n                      \"hierarchySettings\": {\n                        \"treeType\": 1,\n                        \"groupBy\": [\n                          \"Subscription\"\n                        ],\n                        \"expandTopLevel\": true,\n                        \"finalBy\": \"Name\"\n                      },\n                      \"sortBy\": [\n                        {\n                          \"itemKey\": \"$gen_heatmap_DWU_3\",\n                          \"sortOrder\": 1\n                        }\n                      ],\n                      \"labelSettings\": [\n                        {\n                          \"columnId\": \"DWU\",\n                          \"label\": \"DWU\"\n                        },\n                        {\n                          \"columnId\": \"DWU Timeline\",\n                          \"label\": \"DWU Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent\",\n                          \"label\": \"DWU (Max)\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent Timeline\",\n                          \"label\": \"DWU percentage Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-cpu_percent\",\n                          \"label\": \"CPU (Max)\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-cpu_percent Timeline\",\n                          \"label\": \"CPU percentage Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent\",\n                          \"label\": \"Data IO (Max)\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent Timeline\",\n                          \"label\": \"Data IO percentage Timeline\"\n                        },\n                        {\n                          \"columnId\": \"TempDB Usage\",\n                          \"label\": \"TempDB (Max)\"\n                        },\n                        {\n                          \"columnId\": \"TempDB Usage Timeline\",\n                          \"label\": \"TempDB Usage Timeline\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-queued_queries\",\n                          \"label\": \"Queued queries (Sum)\"\n                        },\n                        {\n                          \"columnId\": \"microsoft.sql/servers/databases-Basic-queued_queries Timeline\",\n                          \"label\": \"Queued queries Timeline\"\n                        }\n                      ]\n                    },\n                    \"sortBy\": [\n                      {\n                        \"itemKey\": \"$gen_heatmap_DWU_3\",\n                        \"sortOrder\": 1\n                      }\n                    ]\n                  },\n                  \"showPin\": true,\n                  \"name\": \"Metrics - SQL DW DTU/CPU\"\n                }\n              ]\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"selectedTab\",\n              \"comparison\": \"isEqualTo\",\n              \"value\": \"metrics\"\n            },\n            \"name\": \"dedicatedMetricsGroup\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"objectType\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"dedicated\"\n      },\n      \"name\": \"Dedicated Pool Group\"\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"Azure Monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/DedicatedSQLPool_workspace_v1.0.workbook",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{LogAnalyticsWorkspace}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 86400000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"SynapseSqlPoolExecRequests \\r\\n| distinct _ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"print split (\\\"{DatabaseResourceName}\\\",\\\"/\\\")[-1]\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"b86cd4a2-2303-4288-b48c-1c119cb420ba\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"AuditingState\",\n            \"type\": 1,\n            \"query\": \"let hasNonEmptyTable = (T:string) \\r\\n{ \\r\\n   toscalar( \\r\\n   union isfuzzy=true \\r\\n   ( table(T) \\r\\n   | where DatabaseName has '{DatabaseName}'\\r\\n   | where TimeGenerated > ago(30d)| take 1 | count as Count ),\\r\\n   (print Count=0) \\r\\n   | summarize sum(Count) \\r\\n   ) > 0\\r\\n};\\r\\nlet TableName = 'SQLSecurityAuditEvents';\\r\\nprint  IsPresent=iif(hasNonEmptyTable(TableName ), \\\"enabled\\\", \\\"disabled\\\")\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 604800000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"4025bcb8-f6d7-4e81-b805-84253835f8fb\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DiagnosticsState\",\n            \"type\": 1,\n            \"query\": \"let hasNonEmptyTable = (T:string, T2:string) \\r\\n{ \\r\\n   toscalar( \\r\\n   union isfuzzy=true \\r\\n   ( table(T) | where TimeGenerated > ago(30d) | where _ResourceId endswith '/sqlpools/{DatabaseName}'| take 1 | count as Count ),\\r\\n   ( table(T2) | where TimeGenerated > ago(30d) | where _ResourceId endswith '/sqlpools/{DatabaseName}'| take 1 | count as Count),\\r\\n   (print Count=0) \\r\\n   | summarize sum(Count) \\r\\n   ) > 1\\r\\n};\\r\\nlet TableName = 'SynapseSqlPoolExecRequests';\\r\\nlet TableName2 = 'SynapseSqlPoolRequestSteps';\\r\\nprint  IsPresent=iif(hasNonEmptyTable(TableName,TableName2 ), \\\"enabled\\\", \\\"disabled\\\")\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n      },\n      \"customWidth\": \"90\",\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"Select your Log Analytics Workspace by setting the parameters above from left to right. \",\n        \"style\": \"warning\"\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"DatabaseResourceName\",\n        \"comparison\": \"isEqualTo\"\n      },\n      \"customWidth\": \"30\",\n      \"name\": \"text - 14\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Overview\",\n            \"subTarget\": \"Overview\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Investigation\",\n            \"subTarget\": \"QueryInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Audit\",\n            \"subTarget\": \"QueryAudit\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"db43bb45-1611-47ce-a2ad-517943f2aa1a\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"AutoStats\",\n            \"subTarget\": \"Statistics\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWUUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"DWU Usaed %\"\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-CPUPercent\",\n                  \"aggregation\": 3,\n                  \"columnName\": \"CPU Used %\"\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-QueuedQueries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"Workload Group Allocation by System %\"\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    //Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    //Session_ID=any(Session_ID), \\r\\n   // Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render barchart   \\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Query Completion Count by End Time - 5m buckets\",\n                    \"color\": \"redBright\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 4\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"Use the buttons below to filter the next chart for Success or Failed queries. In many cases a failed query may not have a 'Command' column populated depending on what stage the query failed in. \",\n                    \"style\": \"info\"\n                  },\n                  \"customWidth\": \"25\",\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"parameters\": [\n                      {\n                        \"id\": \"e2a833ac-48b4-4ccd-bbcd-33fccf1dbd75\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryCompletionType\",\n                        \"type\": 1,\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        }\n                      }\n                    ],\n                    \"style\": \"pills\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 4\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"8e89112f-c67f-42c0-9622-02fa306fb7a5\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Queries\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"6abe39c7-4d4e-4c45-aa54-dc9a4c5e876e\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"Completed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"e41b4a0b-8464-491e-92be-a57217d6dcac\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"Failed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 11\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Status has '{QueryCompletionType}'\\r\\n| order by Start_Time\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Query Completions - use above buttons to filter\",\n                    \"color\": \"redBright\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"showExportToExcel\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 4 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Query Completions\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-Connections\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ConnectionsBlockedByFirewall\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" SQLSecurityAuditEvents\\r\\n    | where LogicalServerName == '{LogicalServerName}'\\r\\n    | where ActionName in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | project SourceSystem,ClientTlsVersion ,Succeeded,SessionId,ClientIp,SessionServerPrincipalName,ServerPrincipalName,DatabasePrincipalName,ApplicationName,HostName,TimeGenerated\\r\\n    | summarize count() by Succeeded,bin(TimeGenerated,1m)\\r\\n    | render barchart\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 8\"\n                },\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"parameters\": [\n                      {\n                        \"id\": \"f7485a11-48df-4b61-a70e-9f56d6a00ec6\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"AuthResult\",\n                        \"type\": 1,\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        }\n                      }\n                    ],\n                    \"style\": \"pills\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 3\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"2ed22e0a-2b53-4ed0-8f65-d2c621f34dad\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Authentications\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"2789ab13-ae8a-472e-bad4-9c9bdc934d4d\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"true\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"5cf4ddd4-e189-4b71-b456-0d4f1572a0a3\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"false\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 10\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" SQLSecurityAuditEvents\\r\\n    | where LogicalServerName == '{LogicalServerName}'\\r\\n    | where ActionName in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | where Succeeded == '{AuthResult}'\\r\\n    | project SourceSystem,ClientTlsVersion ,Succeeded,SessionId,ClientIp,SessionServerPrincipalName,ServerPrincipalName,DatabasePrincipalName,ApplicationName,HostName,TimeGenerated\\r\\n    //| summarize count() by Succeeded,bin(TimeGenerated,1m)\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"noDataMessage\": \"No Results\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null,\n                      \"showLegend\": true\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 8 - Copy\"\n                }\n              ]\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"AuditingState\",\n              \"comparison\": \"isEqualTo\",\n              \"value\": \"enabled\"\n            },\n            \"name\": \"Database Authentication Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheHitPercent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"showCreateAlertRule\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"Overview\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"overviewGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"showOpenInMe\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Weighted query steps\\r\\nSynapseSqlPoolRequestSteps \\r\\n| where _ResourceId == databaseResourceName\\r\\n| where RowCount > 0\\r\\n| summarize sum(RowCount) by RequestId, OperationType\\r\\n| order by sum_RowCount desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId\",\n                \"group\": \"OperationType\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"8afacdd5-2690-48d0-b125-fb118378e90c\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"value\": \"Unweighted\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 8\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"customWidth\": \"25\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = SynapseSqlPoolRequestSteps\\r\\n| where _ResourceId == databaseResourceName\\r\\n//| where RowCount > 10000000\\r\\n| extend Step_Elapsed_Min = round((EndTime - StartTime) /1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType == 'BroadcastMoveOperation', (RowCount*10), RowCount)),RowCount)\\r\\n| project-rename StepStatus = Status, StepStart = StartTime, StepEnd = EndTime//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId,OperationType, RowCount,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex;\\r\\nRequestSteps | join (\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId == databaseResourceName\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    //Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize //Session_ID=any(Session_ID), \\r\\n//Submit_Time=any(Submit_Time) ,\\r\\nStart_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder //Session_ID, \\r\\nRequest_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex, OperationType, RowCount,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}' and Request_ID != ''\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"showAnalytics\": true,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestID}' and RequestId != '' //Put your QueryID here\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"TempDB\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"TempDBGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Search Criteria\\r\\nUse the following fields to search either using a query text snippet or using a Request ID. If using a query text snippet, try to keep it as simple as possible becuase minor changes in formatting may cause your queries not to show up in the results. It's best to pick something like a table name, then choose the proper query from the list that will populate. \"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"4b98dd26-4ccf-420e-a990-8d015f27fb76\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SampleQID\",\n                  \"type\": 1,\n                  \"value\": \"999\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"d5524dd5-cf7e-41cf-beb3-474b3290289e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"initializeQueryInvestigationParameters\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0c2128d0-d979-4562-a28c-e7ceb955f126\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"Request Id Search\"\n                },\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Request_ID=max(RequestId),  \\r\\n    Start_Time=max(StartTime),\\r\\n    End_Compile_Time=max(EndCompileTime), \\r\\n    End_Time=max(EndTime), \\r\\n    QueryText = any(Command), \\r\\n    Last_Status=min(Status),\\r\\n    Statement_Type=max(StatementType),\\r\\n    Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n| extend Elapsed_Time_s=(End_Time - Start_Time)/1s\\r\\n| where QueryText has '{QueryTextSnippet}'\\r\\nand RequestId has '{RequestId}'\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    SampleQID = any(RequestId),\\r\\n    Elapsed_Time_s=max(Elapsed_Time_s)\\r\\n    by QueryText\\r\\n| order by Elapsed_Time_s\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Matching Queries\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"RequestId\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"QueryText\",\n                  \"parameterName\": \"QueryText\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Elapsed_Time_s\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Elapsed_Time_s\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## DSQL Command \"\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"QueryText\",\n              \"comparison\": \"isNotEqualTo\"\n            },\n            \"name\": \"text - 8\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"```{QueryText}```\\r\\n\"\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"QueryText\",\n              \"comparison\": \"isNotEqualTo\"\n            },\n            \"name\": \"ShowQueryText\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| where RequestId == '{SampleQID}'\\r\\n| summarize  \\r\\n    Request_ID=max(RequestId),   \\r\\n    Start_Time=max(StartTime),\\r\\n    End_Compile_Time=max(EndCompileTime), \\r\\n    End_Time=max(EndTime), \\r\\n    Command=max(Command), \\r\\n    Last_Status=min(Status),\\r\\n    Statement_Type=max(StatementType),\\r\\n    Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Start_Time)/1s,real(null)) \\r\\n| join kind=inner\\r\\n    (SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Request_ID=max(RequestId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n        by RequestId\\r\\n    //| extend elapsedTime_sec = (End_Time - Start_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Start_Time)/1s,real(null)) \\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"All Executions of Selected Query Text\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId}' and RequestId != ''\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId}'\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Triggered Auto-Stats Statements\",\n              \"noDataMessage\": \"No triggered autostats statements found\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"All triggered auto-stats statements\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryInvestigation\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryInvestigationGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"customWidth\": \"25\",\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"533ff6bb-97cd-4aaa-9372-171cad378bcd\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryText\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"99de0056-d4f3-465e-a27e-599d69b23c77\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"999\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"initializeTempDBVariables\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command != \\\"\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId) by Command\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"noDataMessage\": \"No replicated table rebuilds found in the last 7 days\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command\",\n              \"exportParameterName\": \"QueryText\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command == \\\"{QueryText}\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize count() by Command,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command != \\\"\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize count() by Command, bin(TimeGenerated,24h)\\r\\n//| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"showAnalytics\": true,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"noDataMessage\": \" Only tables with more than 7 total rebuilds will show up. If no talbes with that many rebuilds are found this chart will be empty\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| summarize          Start_Time=max(StartTime),      End_Time=max(EndTime),      Command=max(Command),       Statement_Type=max(StatementType),     Resource_class=max(ResourceClass)      by RequestId\\r\\n| join kind= inner\\r\\n(\\r\\n    SynapseSqlPoolExecRequests\\r\\n    | where _ResourceId  == databaseResourceName\\r\\n    | where StatementType == 'BuildReplicatedTableCache'\\r\\n    | where StatementType == 'BuildReplicatedTableCache'\\r\\n    | where EndTime > ago(7d)\\r\\n    | where StartTime > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime - StartTime)/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project RequestId,elapsedTime_min \\r\\n)\\r\\non RequestId\\r\\n| order by elapsedTime_min desc\\r\\n| project RequestId,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"RequestId\",\n              \"exportParameterName\": \"RequestId\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \" let databaseResourceName = '{DatabaseResourceName}';\\r\\nSynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where RequestId == '{RequestId}'\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"ReplicatedTables\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook8d175f6c-427b-47fc-85ea-37edd0be707c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGQueuedQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Queued Queries by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"Queued Queries by Workload Group\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroupName\",\n                  \"type\": 2,\n                  \"multiSelect\": true,\n                  \"quote\": \"'\",\n                  \"delimiter\": \",\",\n                  \"query\": \"SynapseSqlPoolExecRequests \\r\\n| where _ResourceId == '{DatabaseResourceName}'\\r\\n and ResourceClass != \\\"\\\"\\r\\n| distinct ResourceClass\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [\n                      \"value::all\"\n                    ],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"defaultValue\": \"value::all\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGQueuedQueries\",\n                  \"aggregation\": 1\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGEffectiveCapResourcePercent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"5\",\n                  \"key\": \"WorkloadGroup\",\n                  \"operator\": 0,\n                  \"valueParam\": \"WorkloadGroupName\"\n                }\n              ],\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"WorkloadManagement\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"WorkloadManagementGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\\r\\nSQL Auditing must be enabled and sending to the same Log Analytics Workspace for this page to work. \"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ServerPrincipalName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ApplicationName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| where DurationMs > 0\\r\\n| extend duration_seconds = DurationMs /1000.0\\r\\n| where Statement != 'select @@version'\\r\\n| where Statement != 'SELECT @@SPID;'\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| project ServerPrincipalName, EventTime, LogicalServerName, DurationMs, duration_seconds, AffectedRows, Statement, ApplicationName\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count() by EventDay = bin(EventTime,1d), UserName = ServerPrincipalName, Application = ApplicationName \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| where DurationMs > 0\\r\\n| extend duration_seconds = DurationMs /1000.0\\r\\n| where Statement != 'select @@version'\\r\\n| where Statement != 'SELECT @@SPID;'\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| project ServerPrincipalName, EventTime, LogicalServerName, DurationMs, duration_seconds, AffectedRows, Statement, ApplicationName\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count() by EventDay = bin(EventTime,1d), UserName = ServerPrincipalName, Application = ApplicationName \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, EventTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), Statement, QuerySource = ApplicationName , AffectedRows\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, EventTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), Statement, QuerySource = ApplicationName , AffectedRows\\r\\n    | project-reorder AffectedRows,DatabaseName, UserName, Host, EventTime, duration_seconds, Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"chartSettings\": {\n                \"xAxis\": \"Host\",\n                \"group\": \"UserName\",\n                \"createOtherGroup\": null,\n                \"showLegend\": true\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents\\r\\n| where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n| extend Duration = round(DurationMs /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(EventTime, 1d), TimeBin\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"AuditingState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryAuditGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"7fa3187e-9225-4faa-8f80-dc1bc40c5aab\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId1\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"315fc476-469a-4d8d-b421-028d1113ab06\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId2\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"parameters\": [\n                      {\n                        \"id\": \"1537c5b3-0b6c-4b1d-89be-946cd8268020\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryText1\",\n                        \"type\": 1,\n                        \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId1}'\\r\\n| summarize max(Command)\",\n                        \"crossComponentResources\": [\n                          \"{LogAnalyticsWorkspace}\"\n                        ],\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        },\n                        \"timeContextFromParameter\": \"TimeRange\",\n                        \"queryType\": 0,\n                        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                      }\n                    ],\n                    \"style\": \"above\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"#### {RequestId1} Query Text\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"```{QueryText1}```\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId1}'\\r\\n| summarize \\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    //Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d))\\r\\n//,Command=any(Command)\\r\\n,Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project ElapsedTime_min\\r\\n//,Command\\r\\n,Resource_class,Start_Time\\r\\n//,End_Time\\r\\n,Statement_Type,Status\\r\\n\",\n                    \"size\": 4,\n                    \"title\": \"Exec Requests\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"query - 2\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId1}' and RequestId != ''\\r\\n| summarize StartTime=max(StartTime)\\r\\n    ,EndTime=max(EndTime)\\r\\n    ,RequestID=max(RequestId)\\r\\n    ,Operation=max(OperationType)\\r\\n    ,RowCount=max(RowCount)\\r\\n    ,Command=max(Command)\\r\\n    ,Status=min(Status)\\r\\n     by StepIndex\\r\\n| order by StepIndex asc\\r\\n| project StartTime,EndTime,Operation,RowCount,Command,Status,StepIndex\",\n                    \"size\": 3,\n                    \"title\": \"Request Steps\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"StepQueryRequest1\",\n                  \"styleSettings\": {\n                    \"margin\": \"0\",\n                    \"padding\": \"10px\"\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId1}'\",\n                    \"size\": 0,\n                    \"title\": \"Triggered Auto-Stats Statements\",\n                    \"noDataMessage\": \"No triggered autostats statements found\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"formatters\": [\n                        {\n                          \"columnMatch\": \"Submit_Time\",\n                          \"formatter\": 0,\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Command\",\n                          \"formatter\": 0,\n                          \"formatOptions\": {\n                            \"customColumnWidthSetting\": \"100ch\"\n                          }\n                        }\n                      ],\n                      \"sortBy\": [\n                        {\n                          \"itemKey\": \"End_Time\",\n                          \"sortOrder\": 2\n                        }\n                      ]\n                    },\n                    \"sortBy\": [\n                      {\n                        \"itemKey\": \"End_Time\",\n                        \"sortOrder\": 2\n                      }\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"All triggered auto-stats statements\"\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"RequestId1Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"parameters\": [\n                      {\n                        \"id\": \"1537c5b3-0b6c-4b1d-89be-946cd8268020\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryText2\",\n                        \"type\": 1,\n                        \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId2}'\\r\\n| summarize max(Command)\",\n                        \"crossComponentResources\": [\n                          \"{LogAnalyticsWorkspace}\"\n                        ],\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 0\n                        },\n                        \"timeContextFromParameter\": \"TimeRange\",\n                        \"queryType\": 0,\n                        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                      }\n                    ],\n                    \"style\": \"above\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"#### {RequestId2} Query Text\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"```{QueryText2}```\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 4\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId2}'\\r\\n| summarize \\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    //Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d))\\r\\n//,Command=any(Command)\\r\\n,Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project ElapsedTime_min\\r\\n//,Command\\r\\n,Resource_class,Start_Time\\r\\n//,End_Time\\r\\n,Statement_Type,Status\\r\\n\",\n                    \"size\": 4,\n                    \"title\": \"Exec Requests\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"query - 2 - Copy\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId2}' and RequestId != ''\\r\\n| summarize StartTime=max(StartTime)\\r\\n    ,EndTime=max(EndTime)\\r\\n    ,RequestID=max(RequestId)\\r\\n    ,Operation=max(OperationType)\\r\\n    ,RowCount=max(RowCount)\\r\\n    ,Command=max(Command)\\r\\n    ,Status=min(Status)\\r\\n     by StepIndex\\r\\n| order by StepIndex asc\\r\\n| project StartTime,EndTime,Operation,RowCount,Command,Status,StepIndex\",\n                    \"size\": 3,\n                    \"title\": \"Request Steps\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"query - 4 - Copy\",\n                  \"styleSettings\": {\n                    \"padding\": \"10px\"\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId2}'\",\n                    \"size\": 0,\n                    \"title\": \"Triggered Auto-Stats Statements\",\n                    \"noDataMessage\": \"No triggered autostats statements found\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"formatters\": [\n                        {\n                          \"columnMatch\": \"Submit_Time\",\n                          \"formatter\": 0,\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Command\",\n                          \"formatter\": 0,\n                          \"formatOptions\": {\n                            \"customColumnWidthSetting\": \"100ch\"\n                          }\n                        }\n                      ]\n                    }\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"All triggered auto-stats statements\"\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"RequestId2Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryComparison\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryComparison\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This tab is used to determine what statements triggerred autostats creation jobs. \\r\\nThe flow of autostats creation is as follows\\r\\n1. Query Submit Time\\r\\n2. \\tCreate Statistics submit Time\\r\\n3. \\tCreate Statistics end Time\\r\\n4. Query end_compile_time\\r\\n5. Query Start_Time\\r\\n6. Query End_Time\\r\\n\\r\\nFurther, if multiple stats are created, then the creation of all stats for this query will fall between query submit_time and end_compile_time. \\r\\n\\r\\nThe charts on this page allow you to search for an autostats job by requestID or my snippet of the autostats statement text, which can just be the schema, table, or column name. Then it will show you all commands that include that request ID or text. It will then show you all statements in the create stat statement because the query we are trying to identify will wait for all of those stats creations to complete before proceeding. \\r\\n\\r\\nThe last chart will list the statement that triggered the stats creation. \"\n            },\n            \"name\": \"text - 6\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"df5b9b85-4188-4f2c-88cb-1369e09f6742\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RootQueryId\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"560c9ec5-6341-4fa1-9ce6-35ff010151b1\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0911bd4b-d471-480b-bdf4-1a2d4ba1ea6e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"RequestId for AutoStats Job\"\n                },\n                {\n                  \"id\": \"c12e6495-4fd1-473c-8ffc-0bf502f54706\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"label\": \"Snippet of autostats creation statement (Schema, table or column)\"\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n| summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType)\\r\\n    by RequestId\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Command has '{QueryTextSnippet}' and RequestId has '{RequestIdSearch}'\\r\\n//| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n//| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n//| order by elapsedTime_sec\\r\\n//| summarize \\r\\n //   Executions = count(),\\r\\n //   Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n //   Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n //   Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n //   SampleQID = any(RequestId),\\r\\n   // SampleSessionID = any(Session_ID)\\r\\n  //  by Command\\r\\n//| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Matching Autostats Queries\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"RequestId\",\n                  \"parameterName\": \"RequestId\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Root_Query_Id\",\n                  \"parameterName\": \"RootQueryId\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType !='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | where RequestId == '{RootQueryId}'\\r\\n    | summarize   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Statement that Triggered Selected Autostat\",\n              \"noDataMessage\": \"Select an autostats query above to see what query triggered it\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n| summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType)\\r\\n    by RequestId\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Root_Query_Id == '{RootQueryId}'\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"All Stats Statements Triggered by selected Query\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 13\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"Statistics\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"statistics\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<svg width=\\\"400\\\" viewBox=\\\"0 0 482 271\\\" class=\\\"ext-vm-onboarding-sample-image-svg\\\" role=\\\"presentation\\\" focusable=\\\"false\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" aria-hidden=\\\"true\\\"><g><path fill=\\\"#ABABAB\\\" d=\\\"M399 249H93a1 1 0 1 1 0-2h306a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M301.333 220.333h-47.526c-2.649 0-6.171-.622-6.171-6V88.5a1 1 0 1 1 2 0v125.833c0 2.953 1.091 4 4.171 4h47.526a1 1 0 1 1 0 2zm-73.17 0h-47.526a1 1 0 1 1 0-2h47.526c3.08 0 4.171-1.047 4.171-4V88.5a1 1 0 1 1 2 0v125.833c-.001 5.378-3.522 6-6.171 6z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M276.777 186.134H350v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M350 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H350a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H349v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M128.777 186.134H202v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M202 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H202a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H201v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M180.941 214.203l-10.817 12.98-17.547-28.124L142 216.366V238h47.594z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M188.685 238.513l-7.762-21.345-10.474 12.567-17.359-27.821-9.31 15.234-2.56-1.564 11.843-19.379 17.736 28.425 11.16-13.392 9.545 26.249z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path fill=\\\"#ABABAB\\\" d=\\\"M409 249h-3a1 1 0 1 1 0-2h3a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M322.667 113l4 4-4 4-4-4zm0 10a6 6 0 0 0-6-6m12 0a6 6 0 0 0-6 6m-6-6a6 6 0 0 0 6-6m0 0a6 6 0 0 0 6 6m.333 0h3m-18 0h3m6 6v3m0-15v-3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M159.667 98l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M159.667 103a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M155 100h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M201.667 27l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M197 29h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3m129 23l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M329 54h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><circle cx=\\\"150.667\\\" cy=\\\"128\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"264.667\\\" cy=\\\"136\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"257.667\\\" cy=\\\"19\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"153.667\\\" cy=\\\"35\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><path d=\\\"M324.667 73a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999zm-117 72a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999z\\\" class=\\\"msportalfx-svg-c15\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M152.667 60.429L157.238 65l-4.571 4.571L148.095 65z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M152.667 71.857A6.857 6.857 0 0 0 145.81 65m13.714 0a6.857 6.857 0 0 0-6.857 6.857M145.81 65a6.857 6.857 0 0 0 6.857-6.857m0 0A6.857 6.857 0 0 0 159.524 65m.476 0h1m-16 0h1m7 7v1m0-15v-1\\\"></path></g><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M307.667 29l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M307.667 34a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M303 31h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M311.597 102.771c0-8.961-7.194-16.222-16.078-16.222-.669 0-1.329.051-1.963.138a43.97 43.97 0 0 0 1.524-11.436C295.077 51.363 275.877 32 252.195 32c-18.921 0-34.965 12.355-40.66 29.509a28.744 28.744 0 0 0-9.573-1.652c-16.203 0-29.314 13.239-29.314 29.567 0 16.338 13.111 29.576 29.311 29.576 0 0 .029-.013.042-.013V119h94.821l-.016-.08c8.272-.653 14.791-7.623 14.791-16.149\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M228.837 38.985c-.588.386-1.168.783-1.735 1.197v5.429h1.735v-6.626zm15.805-3.021c2.155 0 3.626-1.343 4.26-3.834a42.1 42.1 0 0 0-1.826.178c-.42 1.439-1.19 2.269-2.332 2.269-.844 0-1.53-.532-2.001-1.513-.555.126-1.106.263-1.653.41.765 1.622 2.008 2.49 3.552 2.49zm49.184 33.227c.285 0 .555-.031.816-.077a42.162 42.162 0 0 0-.223-1.387 2.056 2.056 0 0 1-.491.075c-1.633 0-2.695-1.959-2.695-5.41 0-1.556.222-2.777.589-3.687a44.243 44.243 0 0 0-.8-1.822c-.99 1.161-1.585 3.015-1.585 5.49.04 4.389 1.796 6.818 4.389 6.818zm16.618 38.788c-1.633 0-2.695-1.959-2.695-5.41 0-3.613 1.143-5.533 2.715-5.533.03 0 .054.012.084.013a16.386 16.386 0 0 0-.578-1.354c-2.376.341-4.018 2.74-4.018 6.855.04 4.305 1.732 6.719 4.244 6.81.205-.465.389-.94.551-1.426-.101.013-.195.045-.303.045zM249.522 119v-2.246h-1.531l-2.899 1.551.176.695h1.417l1.061-.572h.041V119zm47.408-6.904h-1.531l-2.899 1.553.347 1.367 2.307-1.245h.041V119h1.627l-.016-.08c.042-.003.082-.012.124-.016v-6.808zm-79.597.647c-2.561 0-4.418 2.217-4.597 6.257h1.806c.136-3.171 1.218-4.869 2.688-4.869 1.75 0 2.585 1.917 2.676 4.869h1.804c-.112-3.943-1.684-6.257-4.377-6.257zm-22.241 3.562l.347 1.368 2.307-1.245h.041v2.269a29.97 29.97 0 0 0 1.735.194v-4.137h-1.531l-2.899 1.551zm10.296-49.701h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531V78.2h-1.735V66.604zm-24 30h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735V96.604zm5.074-30.312h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531v13.271h-1.735V66.292zm89.337-15.693h-.041l-2.307 1.245-.347-1.367 2.899-1.552h1.531v13.271h-1.735V50.599zm-18.544-7.286h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531V54.91h-1.735V43.313zm-16.276 38.636h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V81.949zm16-12h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V69.949zm-26.192 32.479h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735v-11.596zm28.936.032c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm27.74 2.297c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm-63.864-6.468c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm78.338-21.172c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.848 14.432c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.491 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm-60.061-7.927c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.918-2.715 5.532zm-26.441 5.81c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.208.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.571 0-2.715 1.919-2.715 5.532zm39.883-27.255c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.286-5.696c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M296.821 120H201v-.015c-16.272-.513-29.352-14.024-29.352-30.562 0-16.854 13.599-30.566 30.313-30.566 3.021 0 6.027.467 8.95 1.39C217.17 42.711 233.635 31 252.194 31c24.195 0 43.882 19.851 43.886 44.25 0 3.447-.407 6.91-1.209 10.313.218-.01.434-.015.648-.015 9.417 0 17.078 7.726 17.078 17.223 0 8.54-6.329 15.809-14.602 17.021l-1.174.208zM203 118h93.223l.504-.077c7.777-.614 13.87-7.27 13.87-15.151 0-8.394-6.764-15.223-15.078-15.223-.59 0-1.205.043-1.827.129l-1.493.204.391-1.455a43.047 43.047 0 0 0 1.49-11.177C294.077 51.953 275.287 33 252.194 33c-18.028 0-33.987 11.583-39.711 28.824l-.321.966-.96-.338a27.758 27.758 0 0 0-9.241-1.595c-15.612 0-28.313 12.814-28.313 28.566 0 15.69 12.593 28.468 28.114 28.575l1.238-.012V118z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M313.564 239.159c2.37 0 4.339-1.836 4.764-3.971h-9.532c.427 2.135 2.393 3.971 4.768 3.971zm17.121-10.081c-2.022-1.032-3.055-5.128-3.055-12.219 0-9.071-1.075-20.263-14.255-20.263s-14.255 11.191-14.255 20.263c0 7.091-1.018 11.201-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073h30.547c3.565 0 3.294-3.431 2.037-4.073z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path d=\\\"M312 196.644c-11.876.762-12.88 11.471-12.88 20.216 0 7.091-1.018 11.2-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073H312v-36.508z\\\" class=\\\"msportalfx-svg-c15\\\"></path></g></svg>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"showPin\": false,\n                  \"name\": \"Image\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<span style=\\\"color: #000000; font-family: Babas; font-size: 2em;\\\">Enable SQL Auditing to get additional visibility into user activity against your SQL Pool</span>\\r\\n\\r\\nThis section provides additional monitoring coverage that is based on SQL Audit logs.</br>\\r\\nIf you have not activated SQL Auditing for your dedeciated SQL Pool, you must enable them to go to the same Log Analytics workspace as the rest of your diagnostic settings for it to show up here. [Learn more](https://docs.microsoft.com/en-us/azure/azure-sql/database/auditing-overview)</div>\\r\\n\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"name\": \"text - 2\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"paragraph\",\n                    \"links\": [\n                      {\n                        \"id\": \"f4df7a1e-2124-4620-9005-f9b66e47f550\",\n                        \"cellValue\": \"{DatabaseResourceName}\",\n                        \"linkTarget\": \"Resource\",\n                        \"linkLabel\": \"Configure Logs for Auditing >\",\n                        \"subTarget\": \"auditing\",\n                        \"preText\": \"\",\n                        \"postText\": \"\",\n                        \"style\": \"primary\"\n                      }\n                    ]\n                  },\n                  \"customWidth\": \"70\",\n                  \"name\": \"links - 8\"\n                }\n              ]\n            },\n            \"customWidth\": \"90\",\n            \"name\": \"Onboarding Message - Not onboarded yet\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"AuditingState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"disabled\"\n        }\n      ],\n      \"name\": \"AuditingDisabledGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<svg width=\\\"400\\\" viewBox=\\\"0 0 482 271\\\" class=\\\"ext-vm-onboarding-sample-image-svg\\\" role=\\\"presentation\\\" focusable=\\\"false\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" aria-hidden=\\\"true\\\"><g><path fill=\\\"#ABABAB\\\" d=\\\"M399 249H93a1 1 0 1 1 0-2h306a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M301.333 220.333h-47.526c-2.649 0-6.171-.622-6.171-6V88.5a1 1 0 1 1 2 0v125.833c0 2.953 1.091 4 4.171 4h47.526a1 1 0 1 1 0 2zm-73.17 0h-47.526a1 1 0 1 1 0-2h47.526c3.08 0 4.171-1.047 4.171-4V88.5a1 1 0 1 1 2 0v125.833c-.001 5.378-3.522 6-6.171 6z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M276.777 186.134H350v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M350 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H350a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H349v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M128.777 186.134H202v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M202 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H202a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H201v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M180.941 214.203l-10.817 12.98-17.547-28.124L142 216.366V238h47.594z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M188.685 238.513l-7.762-21.345-10.474 12.567-17.359-27.821-9.31 15.234-2.56-1.564 11.843-19.379 17.736 28.425 11.16-13.392 9.545 26.249z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path fill=\\\"#ABABAB\\\" d=\\\"M409 249h-3a1 1 0 1 1 0-2h3a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M322.667 113l4 4-4 4-4-4zm0 10a6 6 0 0 0-6-6m12 0a6 6 0 0 0-6 6m-6-6a6 6 0 0 0 6-6m0 0a6 6 0 0 0 6 6m.333 0h3m-18 0h3m6 6v3m0-15v-3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M159.667 98l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M159.667 103a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M155 100h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M201.667 27l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M197 29h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3m129 23l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M329 54h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><circle cx=\\\"150.667\\\" cy=\\\"128\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"264.667\\\" cy=\\\"136\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"257.667\\\" cy=\\\"19\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"153.667\\\" cy=\\\"35\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><path d=\\\"M324.667 73a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999zm-117 72a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999z\\\" class=\\\"msportalfx-svg-c15\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M152.667 60.429L157.238 65l-4.571 4.571L148.095 65z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M152.667 71.857A6.857 6.857 0 0 0 145.81 65m13.714 0a6.857 6.857 0 0 0-6.857 6.857M145.81 65a6.857 6.857 0 0 0 6.857-6.857m0 0A6.857 6.857 0 0 0 159.524 65m.476 0h1m-16 0h1m7 7v1m0-15v-1\\\"></path></g><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M307.667 29l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M307.667 34a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M303 31h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M311.597 102.771c0-8.961-7.194-16.222-16.078-16.222-.669 0-1.329.051-1.963.138a43.97 43.97 0 0 0 1.524-11.436C295.077 51.363 275.877 32 252.195 32c-18.921 0-34.965 12.355-40.66 29.509a28.744 28.744 0 0 0-9.573-1.652c-16.203 0-29.314 13.239-29.314 29.567 0 16.338 13.111 29.576 29.311 29.576 0 0 .029-.013.042-.013V119h94.821l-.016-.08c8.272-.653 14.791-7.623 14.791-16.149\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M228.837 38.985c-.588.386-1.168.783-1.735 1.197v5.429h1.735v-6.626zm15.805-3.021c2.155 0 3.626-1.343 4.26-3.834a42.1 42.1 0 0 0-1.826.178c-.42 1.439-1.19 2.269-2.332 2.269-.844 0-1.53-.532-2.001-1.513-.555.126-1.106.263-1.653.41.765 1.622 2.008 2.49 3.552 2.49zm49.184 33.227c.285 0 .555-.031.816-.077a42.162 42.162 0 0 0-.223-1.387 2.056 2.056 0 0 1-.491.075c-1.633 0-2.695-1.959-2.695-5.41 0-1.556.222-2.777.589-3.687a44.243 44.243 0 0 0-.8-1.822c-.99 1.161-1.585 3.015-1.585 5.49.04 4.389 1.796 6.818 4.389 6.818zm16.618 38.788c-1.633 0-2.695-1.959-2.695-5.41 0-3.613 1.143-5.533 2.715-5.533.03 0 .054.012.084.013a16.386 16.386 0 0 0-.578-1.354c-2.376.341-4.018 2.74-4.018 6.855.04 4.305 1.732 6.719 4.244 6.81.205-.465.389-.94.551-1.426-.101.013-.195.045-.303.045zM249.522 119v-2.246h-1.531l-2.899 1.551.176.695h1.417l1.061-.572h.041V119zm47.408-6.904h-1.531l-2.899 1.553.347 1.367 2.307-1.245h.041V119h1.627l-.016-.08c.042-.003.082-.012.124-.016v-6.808zm-79.597.647c-2.561 0-4.418 2.217-4.597 6.257h1.806c.136-3.171 1.218-4.869 2.688-4.869 1.75 0 2.585 1.917 2.676 4.869h1.804c-.112-3.943-1.684-6.257-4.377-6.257zm-22.241 3.562l.347 1.368 2.307-1.245h.041v2.269a29.97 29.97 0 0 0 1.735.194v-4.137h-1.531l-2.899 1.551zm10.296-49.701h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531V78.2h-1.735V66.604zm-24 30h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735V96.604zm5.074-30.312h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531v13.271h-1.735V66.292zm89.337-15.693h-.041l-2.307 1.245-.347-1.367 2.899-1.552h1.531v13.271h-1.735V50.599zm-18.544-7.286h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531V54.91h-1.735V43.313zm-16.276 38.636h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V81.949zm16-12h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V69.949zm-26.192 32.479h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735v-11.596zm28.936.032c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm27.74 2.297c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm-63.864-6.468c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm78.338-21.172c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.848 14.432c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.491 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm-60.061-7.927c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.918-2.715 5.532zm-26.441 5.81c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.208.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.571 0-2.715 1.919-2.715 5.532zm39.883-27.255c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.286-5.696c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M296.821 120H201v-.015c-16.272-.513-29.352-14.024-29.352-30.562 0-16.854 13.599-30.566 30.313-30.566 3.021 0 6.027.467 8.95 1.39C217.17 42.711 233.635 31 252.194 31c24.195 0 43.882 19.851 43.886 44.25 0 3.447-.407 6.91-1.209 10.313.218-.01.434-.015.648-.015 9.417 0 17.078 7.726 17.078 17.223 0 8.54-6.329 15.809-14.602 17.021l-1.174.208zM203 118h93.223l.504-.077c7.777-.614 13.87-7.27 13.87-15.151 0-8.394-6.764-15.223-15.078-15.223-.59 0-1.205.043-1.827.129l-1.493.204.391-1.455a43.047 43.047 0 0 0 1.49-11.177C294.077 51.953 275.287 33 252.194 33c-18.028 0-33.987 11.583-39.711 28.824l-.321.966-.96-.338a27.758 27.758 0 0 0-9.241-1.595c-15.612 0-28.313 12.814-28.313 28.566 0 15.69 12.593 28.468 28.114 28.575l1.238-.012V118z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M313.564 239.159c2.37 0 4.339-1.836 4.764-3.971h-9.532c.427 2.135 2.393 3.971 4.768 3.971zm17.121-10.081c-2.022-1.032-3.055-5.128-3.055-12.219 0-9.071-1.075-20.263-14.255-20.263s-14.255 11.191-14.255 20.263c0 7.091-1.018 11.201-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073h30.547c3.565 0 3.294-3.431 2.037-4.073z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path d=\\\"M312 196.644c-11.876.762-12.88 11.471-12.88 20.216 0 7.091-1.018 11.2-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073H312v-36.508z\\\" class=\\\"msportalfx-svg-c15\\\"></path></g></svg>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"showPin\": false,\n                  \"name\": \"Image\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<span style=\\\"color: #000000; font-family: Babas; font-size: 2em;\\\">Get more visibility into the usage and performance of your Azure Synapse Dedicated SQL Pool</span>\\r\\n\\r\\nThis section provides additional monitoring coverage that is based on diagnostic logs.</br>\\r\\n\\r\\nIf you have not activated monitoring in diagnostic settings, you must enable the **ExecRequests** and **RequestSteps** logs and send them to a Log Analytics workspace. You may choose to enable the **SQLSecurityAuditEvents** table at the same time to take full advantage of this monitoring workbook. [Learn more](https://docs.microsoft.com/en-us/azure/synapse-analytics/monitoring/how-to-monitor-using-azure-monitor#logs)</div>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"name\": \"text - 2\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"paragraph\",\n                    \"links\": [\n                      {\n                        \"id\": \"f4df7a1e-2124-4620-9005-f9b66e47f550\",\n                        \"cellValue\": \"{DatabaseResourceName}\",\n                        \"linkTarget\": \"Resource\",\n                        \"linkLabel\": \"Configure Logs for Monitoring >\",\n                        \"subTarget\": \"diagnostics\",\n                        \"preText\": \"\",\n                        \"postText\": \"\",\n                        \"style\": \"primary\"\n                      }\n                    ]\n                  },\n                  \"customWidth\": \"70\",\n                  \"name\": \"links - 8\"\n                }\n              ]\n            },\n            \"customWidth\": \"90\",\n            \"name\": \"Onboarding Message - Not onboarded yet\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isNotEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"disabled\"\n        }\n      ],\n      \"name\": \"DiagnosticsDisabledGroup\"\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"Workbook version: v1.0\",\n        \"style\": \"info\"\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Overview\"\n      },\n      \"customWidth\": \"15\",\n      \"name\": \"version\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"Azure Monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/DedicatedSQLPool_workspace_v1.1.workbook",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{LogAnalyticsWorkspace}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 86400000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"SynapseSqlPoolExecRequests \\r\\n| distinct _ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"print split (\\\"{DatabaseResourceName}\\\",\\\"/\\\")[-1]\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"b86cd4a2-2303-4288-b48c-1c119cb420ba\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"AuditingState\",\n            \"type\": 1,\n            \"query\": \"let hasNonEmptyTable = (T:string) \\r\\n{ \\r\\n   toscalar( \\r\\n   union isfuzzy=true \\r\\n   ( table(T) \\r\\n   | where DatabaseName has '{DatabaseName}'\\r\\n   | where TimeGenerated > ago(30d)| take 1 | count as Count ),\\r\\n   (print Count=0) \\r\\n   | summarize sum(Count) \\r\\n   ) > 0\\r\\n};\\r\\nlet TableName = 'SQLSecurityAuditEvents';\\r\\nprint  IsPresent=iif(hasNonEmptyTable(TableName ), \\\"enabled\\\", \\\"disabled\\\")\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 604800000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"4025bcb8-f6d7-4e81-b805-84253835f8fb\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DiagnosticsState\",\n            \"type\": 1,\n            \"query\": \"let hasNonEmptyTable = (T:string, T2:string) \\r\\n{ \\r\\n   toscalar( \\r\\n   union isfuzzy=true \\r\\n   ( table(T) | where TimeGenerated > ago(30d) | where _ResourceId endswith '/sqlpools/{DatabaseName}'| take 1 | count as Count ),\\r\\n   ( table(T2) | where TimeGenerated > ago(30d) | where _ResourceId endswith '/sqlpools/{DatabaseName}'| take 1 | count as Count),\\r\\n   (print Count=0) \\r\\n   | summarize sum(Count) \\r\\n   ) > 1\\r\\n};\\r\\nlet TableName = 'SynapseSqlPoolExecRequests';\\r\\nlet TableName2 = 'SynapseSqlPoolRequestSteps';\\r\\nprint  IsPresent=iif(hasNonEmptyTable(TableName,TableName2 ), \\\"enabled\\\", \\\"disabled\\\")\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n      },\n      \"customWidth\": \"90\",\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"Select your Log Analytics Workspace by setting the parameters above from left to right. \",\n        \"style\": \"warning\"\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"DatabaseResourceName\",\n        \"comparison\": \"isEqualTo\"\n      },\n      \"customWidth\": \"30\",\n      \"name\": \"text - 14\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Overview\",\n            \"subTarget\": \"Overview\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Investigation\",\n            \"subTarget\": \"QueryInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"db43bb45-1611-47ce-a2ad-517943f2aa1a\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"AutoStats\",\n            \"subTarget\": \"Statistics\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Audit\",\n            \"subTarget\": \"QueryAudit\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"f42ddeea-8cc0-4095-bc90-11eac0b7f94c\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Audit Search\",\n            \"subTarget\": \"AuditSearch\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWUUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"DWU Usaed %\"\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-CPUPercent\",\n                  \"aggregation\": 3,\n                  \"columnName\": \"CPU Used %\"\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-QueuedQueries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"Workload Group Allocation by System %\"\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    //Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    //Session_ID=any(Session_ID), \\r\\n   // Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render barchart   \\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Query Completion Count by End Time - 5m buckets\",\n                    \"color\": \"redBright\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 4\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"Use the buttons below to filter the next chart for Success or Failed queries. In many cases a failed query may not have a 'Command' column populated depending on what stage the query failed in. \",\n                    \"style\": \"info\"\n                  },\n                  \"customWidth\": \"25\",\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"parameters\": [\n                      {\n                        \"id\": \"e2a833ac-48b4-4ccd-bbcd-33fccf1dbd75\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryCompletionType\",\n                        \"type\": 1,\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        }\n                      }\n                    ],\n                    \"style\": \"pills\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 4\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"8e89112f-c67f-42c0-9622-02fa306fb7a5\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Queries\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"6abe39c7-4d4e-4c45-aa54-dc9a4c5e876e\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"Completed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"e41b4a0b-8464-491e-92be-a57217d6dcac\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"Failed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 11\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Status has '{QueryCompletionType}'\\r\\n| order by Start_Time\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Query Completions - use above buttons to filter\",\n                    \"color\": \"redBright\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"showExportToExcel\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 4 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Query Completions\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-Connections\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ConnectionsBlockedByFirewall\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" SQLSecurityAuditEvents\\r\\n    | where LogicalServerName == '{LogicalServerName}'\\r\\n    | where ActionName in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | project SourceSystem,ClientTlsVersion ,Succeeded,SessionId,ClientIp,SessionServerPrincipalName,ServerPrincipalName,DatabasePrincipalName,ApplicationName,HostName,TimeGenerated\\r\\n    | summarize count() by Succeeded,bin(TimeGenerated,1m)\\r\\n    | render barchart\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 8\"\n                },\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"parameters\": [\n                      {\n                        \"id\": \"f7485a11-48df-4b61-a70e-9f56d6a00ec6\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"AuthResult\",\n                        \"type\": 1,\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        }\n                      }\n                    ],\n                    \"style\": \"pills\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 3\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"2ed22e0a-2b53-4ed0-8f65-d2c621f34dad\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Authentications\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"2789ab13-ae8a-472e-bad4-9c9bdc934d4d\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"true\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"5cf4ddd4-e189-4b71-b456-0d4f1572a0a3\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"false\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 10\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" SQLSecurityAuditEvents\\r\\n    | where LogicalServerName == '{LogicalServerName}'\\r\\n    | where ActionName in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | where Succeeded == '{AuthResult}'\\r\\n    | project SourceSystem,ClientTlsVersion ,Succeeded,SessionId,ClientIp,SessionServerPrincipalName,ServerPrincipalName,DatabasePrincipalName,ApplicationName,HostName,TimeGenerated\\r\\n    //| summarize count() by Succeeded,bin(TimeGenerated,1m)\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"noDataMessage\": \"No Results\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null,\n                      \"showLegend\": true\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 8 - Copy\"\n                }\n              ]\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"AuditingState\",\n              \"comparison\": \"isEqualTo\",\n              \"value\": \"enabled\"\n            },\n            \"name\": \"Database Authentication Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheHitPercent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"showCreateAlertRule\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"Overview\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"overviewGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"showOpenInMe\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Weighted query steps\\r\\nSynapseSqlPoolRequestSteps \\r\\n| where _ResourceId == databaseResourceName\\r\\n| where RowCount > 0\\r\\n| summarize sum(RowCount) by RequestId, OperationType\\r\\n| order by sum_RowCount desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId\",\n                \"group\": \"OperationType\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"8afacdd5-2690-48d0-b125-fb118378e90c\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"value\": \"Unweighted\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 8\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"customWidth\": \"25\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = SynapseSqlPoolRequestSteps\\r\\n| where _ResourceId == databaseResourceName\\r\\n//| where RowCount > 10000000\\r\\n| extend Step_Elapsed_Min = round((EndTime - StartTime) /1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType == 'BroadcastMoveOperation', (RowCount*10), RowCount)),RowCount)\\r\\n| project-rename StepStatus = Status, StepStart = StartTime, StepEnd = EndTime//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId,OperationType, RowCount,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex;\\r\\nRequestSteps | join (\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId == databaseResourceName\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    //Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize //Session_ID=any(Session_ID), \\r\\n//Submit_Time=any(Submit_Time) ,\\r\\nStart_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder //Session_ID, \\r\\nRequest_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex, OperationType, RowCount,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}' and Request_ID != ''\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"showAnalytics\": true,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestID}' and RequestId != '' //Put your QueryID here\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"TempDB\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"TempDBGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Search Criteria\\r\\nUse the following fields to search either using a query text snippet or using a Request ID. If using a query text snippet, try to keep it as simple as possible becuase minor changes in formatting may cause your queries not to show up in the results. It's best to pick something like a table name, then choose the proper query from the list that will populate. \"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"4b98dd26-4ccf-420e-a990-8d015f27fb76\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SampleQID\",\n                  \"type\": 1,\n                  \"value\": \"999\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"d5524dd5-cf7e-41cf-beb3-474b3290289e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"initializeQueryInvestigationParameters\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0c2128d0-d979-4562-a28c-e7ceb955f126\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"Request Id Search\"\n                },\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Request_ID=max(RequestId),  \\r\\n    Start_Time=max(StartTime),\\r\\n    End_Compile_Time=max(EndCompileTime), \\r\\n    End_Time=max(EndTime), \\r\\n    QueryText = any(Command), \\r\\n    Last_Status=min(Status),\\r\\n    Statement_Type=max(StatementType),\\r\\n    Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n| extend Elapsed_Time_s=(End_Time - Start_Time)/1s\\r\\n| where QueryText has '{QueryTextSnippet}'\\r\\nand RequestId has '{RequestId}'\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    SampleQID = any(RequestId),\\r\\n    Elapsed_Time_s=max(Elapsed_Time_s)\\r\\n    by QueryText\\r\\n| order by Elapsed_Time_s\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Matching Queries\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"RequestId\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"QueryText\",\n                  \"parameterName\": \"QueryText\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Elapsed_Time_s\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Elapsed_Time_s\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## DSQL Command \"\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"QueryText\",\n              \"comparison\": \"isNotEqualTo\"\n            },\n            \"name\": \"text - 8\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"```{QueryText}```\\r\\n\"\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"QueryText\",\n              \"comparison\": \"isNotEqualTo\"\n            },\n            \"name\": \"ShowQueryText\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| where RequestId == '{SampleQID}'\\r\\n| summarize  \\r\\n    Request_ID=max(RequestId),   \\r\\n    Start_Time=max(StartTime),\\r\\n    End_Compile_Time=max(EndCompileTime), \\r\\n    End_Time=max(EndTime), \\r\\n    Command=max(Command), \\r\\n    Last_Status=min(Status),\\r\\n    Statement_Type=max(StatementType),\\r\\n    Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Start_Time)/1s,real(null)) \\r\\n| join kind=inner\\r\\n    (SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Request_ID=max(RequestId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n        by RequestId\\r\\n    //| extend elapsedTime_sec = (End_Time - Start_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Start_Time)/1s,real(null)) \\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"All Executions of Selected Query Text\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId}' and RequestId != ''\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId}'\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Triggered Auto-Stats Statements\",\n              \"noDataMessage\": \"No triggered autostats statements found\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"All triggered auto-stats statements\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryInvestigation\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryInvestigationGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"customWidth\": \"25\",\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"533ff6bb-97cd-4aaa-9372-171cad378bcd\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryText\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"99de0056-d4f3-465e-a27e-599d69b23c77\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"999\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"initializeTempDBVariables\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command != \\\"\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId) by Command\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"noDataMessage\": \"No replicated table rebuilds found in the last 7 days\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command\",\n              \"exportParameterName\": \"QueryText\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command == \\\"{QueryText}\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize count() by Command,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command != \\\"\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize count() by Command, bin(TimeGenerated,24h)\\r\\n//| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"showAnalytics\": true,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"noDataMessage\": \" Only tables with more than 7 total rebuilds will show up. If no talbes with that many rebuilds are found this chart will be empty\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| summarize          Start_Time=max(StartTime),      End_Time=max(EndTime),      Command=max(Command),       Statement_Type=max(StatementType),     Resource_class=max(ResourceClass)      by RequestId\\r\\n| join kind= inner\\r\\n(\\r\\n    SynapseSqlPoolExecRequests\\r\\n    | where _ResourceId  == databaseResourceName\\r\\n    | where StatementType == 'BuildReplicatedTableCache'\\r\\n    | where StatementType == 'BuildReplicatedTableCache'\\r\\n    | where EndTime > ago(7d)\\r\\n    | where StartTime > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime - StartTime)/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project RequestId,elapsedTime_min \\r\\n)\\r\\non RequestId\\r\\n| order by elapsedTime_min desc\\r\\n| project RequestId,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"RequestId\",\n              \"exportParameterName\": \"RequestId\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \" let databaseResourceName = '{DatabaseResourceName}';\\r\\nSynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where RequestId == '{RequestId}'\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"ReplicatedTables\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook8d175f6c-427b-47fc-85ea-37edd0be707c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGQueuedQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Queued Queries by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"Queued Queries by Workload Group\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroupName\",\n                  \"type\": 2,\n                  \"multiSelect\": true,\n                  \"quote\": \"'\",\n                  \"delimiter\": \",\",\n                  \"query\": \"SynapseSqlPoolExecRequests \\r\\n| where _ResourceId == '{DatabaseResourceName}'\\r\\n and ResourceClass != \\\"\\\"\\r\\n| distinct ResourceClass\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [\n                      \"value::all\"\n                    ],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"defaultValue\": \"value::all\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGQueuedQueries\",\n                  \"aggregation\": 1\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGEffectiveCapResourcePercent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"5\",\n                  \"key\": \"WorkloadGroup\",\n                  \"operator\": 0,\n                  \"valueParam\": \"WorkloadGroupName\"\n                }\n              ],\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"WorkloadManagement\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"WorkloadManagementGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\\r\\nSQL Auditing must be enabled and sending to the same Log Analytics Workspace for this page to work. \"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ServerPrincipalName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ApplicationName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| where DurationMs > 0\\r\\n| extend duration_seconds = DurationMs /1000.0\\r\\n| where Statement != 'select @@version'\\r\\n| where Statement != 'SELECT @@SPID;'\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| project ServerPrincipalName, EventTime, LogicalServerName, DurationMs, duration_seconds, AffectedRows, Statement, ApplicationName\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count() by EventDay = bin(EventTime,1d), UserName = ServerPrincipalName, Application = ApplicationName \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| where DurationMs > 0\\r\\n| extend duration_seconds = DurationMs /1000.0\\r\\n| where Statement != 'select @@version'\\r\\n| where Statement != 'SELECT @@SPID;'\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| project ServerPrincipalName, EventTime, LogicalServerName, DurationMs, duration_seconds, AffectedRows, Statement, ApplicationName\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count() by EventDay = bin(EventTime,1d), UserName = ServerPrincipalName, Application = ApplicationName \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, EventTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), Statement, QuerySource = ApplicationName , AffectedRows\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, EventTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), Statement, QuerySource = ApplicationName , AffectedRows\\r\\n    | project-reorder AffectedRows,DatabaseName, UserName, Host, EventTime, duration_seconds, Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"chartSettings\": {\n                \"xAxis\": \"Host\",\n                \"group\": \"UserName\",\n                \"createOtherGroup\": null,\n                \"showLegend\": true\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents\\r\\n| where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n| extend Duration = round(DurationMs /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(EventTime, 1d), TimeBin\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"AuditingState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryAuditGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"7fa3187e-9225-4faa-8f80-dc1bc40c5aab\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId1\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"315fc476-469a-4d8d-b421-028d1113ab06\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId2\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"parameters\": [\n                      {\n                        \"id\": \"1537c5b3-0b6c-4b1d-89be-946cd8268020\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryText1\",\n                        \"type\": 1,\n                        \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId1}'\\r\\n| summarize max(Command)\",\n                        \"crossComponentResources\": [\n                          \"{LogAnalyticsWorkspace}\"\n                        ],\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        },\n                        \"timeContextFromParameter\": \"TimeRange\",\n                        \"queryType\": 0,\n                        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                      }\n                    ],\n                    \"style\": \"above\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"#### {RequestId1} Query Text\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"```{QueryText1}```\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId1}'\\r\\n| summarize \\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    //Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d))\\r\\n//,Command=any(Command)\\r\\n,Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project ElapsedTime_min\\r\\n//,Command\\r\\n,Resource_class,Start_Time\\r\\n//,End_Time\\r\\n,Statement_Type,Status\\r\\n\",\n                    \"size\": 4,\n                    \"title\": \"Exec Requests\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"query - 2\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId1}' and RequestId != ''\\r\\n| summarize StartTime=max(StartTime)\\r\\n    ,EndTime=max(EndTime)\\r\\n    ,RequestID=max(RequestId)\\r\\n    ,Operation=max(OperationType)\\r\\n    ,RowCount=max(RowCount)\\r\\n    ,Command=max(Command)\\r\\n    ,Status=min(Status)\\r\\n     by StepIndex\\r\\n| order by StepIndex asc\\r\\n| project StartTime,EndTime,Operation,RowCount,Command,Status,StepIndex\",\n                    \"size\": 3,\n                    \"title\": \"Request Steps\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"StepQueryRequest1\",\n                  \"styleSettings\": {\n                    \"margin\": \"0\",\n                    \"padding\": \"10px\"\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId1}'\",\n                    \"size\": 0,\n                    \"title\": \"Triggered Auto-Stats Statements\",\n                    \"noDataMessage\": \"No triggered autostats statements found\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"formatters\": [\n                        {\n                          \"columnMatch\": \"Submit_Time\",\n                          \"formatter\": 0,\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Command\",\n                          \"formatter\": 0,\n                          \"formatOptions\": {\n                            \"customColumnWidthSetting\": \"100ch\"\n                          }\n                        }\n                      ],\n                      \"sortBy\": [\n                        {\n                          \"itemKey\": \"End_Time\",\n                          \"sortOrder\": 2\n                        }\n                      ]\n                    },\n                    \"sortBy\": [\n                      {\n                        \"itemKey\": \"End_Time\",\n                        \"sortOrder\": 2\n                      }\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"All triggered auto-stats statements\"\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"RequestId1Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"parameters\": [\n                      {\n                        \"id\": \"1537c5b3-0b6c-4b1d-89be-946cd8268020\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryText2\",\n                        \"type\": 1,\n                        \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId2}'\\r\\n| summarize max(Command)\",\n                        \"crossComponentResources\": [\n                          \"{LogAnalyticsWorkspace}\"\n                        ],\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 0\n                        },\n                        \"timeContextFromParameter\": \"TimeRange\",\n                        \"queryType\": 0,\n                        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                      }\n                    ],\n                    \"style\": \"above\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"#### {RequestId2} Query Text\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"```{QueryText2}```\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 4\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId2}'\\r\\n| summarize \\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    //Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d))\\r\\n//,Command=any(Command)\\r\\n,Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project ElapsedTime_min\\r\\n//,Command\\r\\n,Resource_class,Start_Time\\r\\n//,End_Time\\r\\n,Statement_Type,Status\\r\\n\",\n                    \"size\": 4,\n                    \"title\": \"Exec Requests\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"query - 2 - Copy\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId2}' and RequestId != ''\\r\\n| summarize StartTime=max(StartTime)\\r\\n    ,EndTime=max(EndTime)\\r\\n    ,RequestID=max(RequestId)\\r\\n    ,Operation=max(OperationType)\\r\\n    ,RowCount=max(RowCount)\\r\\n    ,Command=max(Command)\\r\\n    ,Status=min(Status)\\r\\n     by StepIndex\\r\\n| order by StepIndex asc\\r\\n| project StartTime,EndTime,Operation,RowCount,Command,Status,StepIndex\",\n                    \"size\": 3,\n                    \"title\": \"Request Steps\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"query - 4 - Copy\",\n                  \"styleSettings\": {\n                    \"padding\": \"10px\"\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId2}'\",\n                    \"size\": 0,\n                    \"title\": \"Triggered Auto-Stats Statements\",\n                    \"noDataMessage\": \"No triggered autostats statements found\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"formatters\": [\n                        {\n                          \"columnMatch\": \"Submit_Time\",\n                          \"formatter\": 0,\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Command\",\n                          \"formatter\": 0,\n                          \"formatOptions\": {\n                            \"customColumnWidthSetting\": \"100ch\"\n                          }\n                        }\n                      ]\n                    }\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"All triggered auto-stats statements\"\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"RequestId2Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryComparison\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryComparison\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This tab is used to determine what statements triggerred autostats creation jobs. \\r\\nThe flow of autostats creation is as follows\\r\\n1. Query Submit Time\\r\\n2. \\tCreate Statistics submit Time\\r\\n3. \\tCreate Statistics end Time\\r\\n4. Query end_compile_time\\r\\n5. Query Start_Time\\r\\n6. Query End_Time\\r\\n\\r\\nFurther, if multiple stats are created, then the creation of all stats for this query will fall between query submit_time and end_compile_time. \\r\\n\\r\\nThe charts on this page allow you to search for an autostats job by requestID or my snippet of the autostats statement text, which can just be the schema, table, or column name. Then it will show you all commands that include that request ID or text. It will then show you all statements in the create stat statement because the query we are trying to identify will wait for all of those stats creations to complete before proceeding. \\r\\n\\r\\nThe last chart will list the statement that triggered the stats creation. \"\n            },\n            \"name\": \"text - 6\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"df5b9b85-4188-4f2c-88cb-1369e09f6742\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RootQueryId\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"560c9ec5-6341-4fa1-9ce6-35ff010151b1\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0911bd4b-d471-480b-bdf4-1a2d4ba1ea6e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"RequestId for AutoStats Job\"\n                },\n                {\n                  \"id\": \"c12e6495-4fd1-473c-8ffc-0bf502f54706\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"label\": \"Snippet of autostats creation statement (Schema, table or column)\"\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n| summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType)\\r\\n    by RequestId\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Command has '{QueryTextSnippet}' and RequestId has '{RequestIdSearch}'\\r\\n//| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n//| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n//| order by elapsedTime_sec\\r\\n//| summarize \\r\\n //   Executions = count(),\\r\\n //   Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n //   Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n //   Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n //   SampleQID = any(RequestId),\\r\\n   // SampleSessionID = any(Session_ID)\\r\\n  //  by Command\\r\\n//| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Matching Autostats Queries\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"RequestId\",\n                  \"parameterName\": \"RequestId\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Root_Query_Id\",\n                  \"parameterName\": \"RootQueryId\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType !='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | where RequestId == '{RootQueryId}'\\r\\n    | summarize   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Statement that Triggered Selected Autostat\",\n              \"noDataMessage\": \"Select an autostats query above to see what query triggered it\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n| summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType)\\r\\n    by RequestId\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Root_Query_Id == '{RootQueryId}'\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"All Stats Statements Triggered by selected Query\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 13\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"Statistics\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"statistics\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<svg width=\\\"400\\\" viewBox=\\\"0 0 482 271\\\" class=\\\"ext-vm-onboarding-sample-image-svg\\\" role=\\\"presentation\\\" focusable=\\\"false\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" aria-hidden=\\\"true\\\"><g><path fill=\\\"#ABABAB\\\" d=\\\"M399 249H93a1 1 0 1 1 0-2h306a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M301.333 220.333h-47.526c-2.649 0-6.171-.622-6.171-6V88.5a1 1 0 1 1 2 0v125.833c0 2.953 1.091 4 4.171 4h47.526a1 1 0 1 1 0 2zm-73.17 0h-47.526a1 1 0 1 1 0-2h47.526c3.08 0 4.171-1.047 4.171-4V88.5a1 1 0 1 1 2 0v125.833c-.001 5.378-3.522 6-6.171 6z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M276.777 186.134H350v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M350 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H350a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H349v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M128.777 186.134H202v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M202 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H202a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H201v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M180.941 214.203l-10.817 12.98-17.547-28.124L142 216.366V238h47.594z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M188.685 238.513l-7.762-21.345-10.474 12.567-17.359-27.821-9.31 15.234-2.56-1.564 11.843-19.379 17.736 28.425 11.16-13.392 9.545 26.249z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path fill=\\\"#ABABAB\\\" d=\\\"M409 249h-3a1 1 0 1 1 0-2h3a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M322.667 113l4 4-4 4-4-4zm0 10a6 6 0 0 0-6-6m12 0a6 6 0 0 0-6 6m-6-6a6 6 0 0 0 6-6m0 0a6 6 0 0 0 6 6m.333 0h3m-18 0h3m6 6v3m0-15v-3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M159.667 98l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M159.667 103a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M155 100h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M201.667 27l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M197 29h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3m129 23l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M329 54h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><circle cx=\\\"150.667\\\" cy=\\\"128\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"264.667\\\" cy=\\\"136\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"257.667\\\" cy=\\\"19\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"153.667\\\" cy=\\\"35\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><path d=\\\"M324.667 73a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999zm-117 72a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999z\\\" class=\\\"msportalfx-svg-c15\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M152.667 60.429L157.238 65l-4.571 4.571L148.095 65z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M152.667 71.857A6.857 6.857 0 0 0 145.81 65m13.714 0a6.857 6.857 0 0 0-6.857 6.857M145.81 65a6.857 6.857 0 0 0 6.857-6.857m0 0A6.857 6.857 0 0 0 159.524 65m.476 0h1m-16 0h1m7 7v1m0-15v-1\\\"></path></g><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M307.667 29l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M307.667 34a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M303 31h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M311.597 102.771c0-8.961-7.194-16.222-16.078-16.222-.669 0-1.329.051-1.963.138a43.97 43.97 0 0 0 1.524-11.436C295.077 51.363 275.877 32 252.195 32c-18.921 0-34.965 12.355-40.66 29.509a28.744 28.744 0 0 0-9.573-1.652c-16.203 0-29.314 13.239-29.314 29.567 0 16.338 13.111 29.576 29.311 29.576 0 0 .029-.013.042-.013V119h94.821l-.016-.08c8.272-.653 14.791-7.623 14.791-16.149\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M228.837 38.985c-.588.386-1.168.783-1.735 1.197v5.429h1.735v-6.626zm15.805-3.021c2.155 0 3.626-1.343 4.26-3.834a42.1 42.1 0 0 0-1.826.178c-.42 1.439-1.19 2.269-2.332 2.269-.844 0-1.53-.532-2.001-1.513-.555.126-1.106.263-1.653.41.765 1.622 2.008 2.49 3.552 2.49zm49.184 33.227c.285 0 .555-.031.816-.077a42.162 42.162 0 0 0-.223-1.387 2.056 2.056 0 0 1-.491.075c-1.633 0-2.695-1.959-2.695-5.41 0-1.556.222-2.777.589-3.687a44.243 44.243 0 0 0-.8-1.822c-.99 1.161-1.585 3.015-1.585 5.49.04 4.389 1.796 6.818 4.389 6.818zm16.618 38.788c-1.633 0-2.695-1.959-2.695-5.41 0-3.613 1.143-5.533 2.715-5.533.03 0 .054.012.084.013a16.386 16.386 0 0 0-.578-1.354c-2.376.341-4.018 2.74-4.018 6.855.04 4.305 1.732 6.719 4.244 6.81.205-.465.389-.94.551-1.426-.101.013-.195.045-.303.045zM249.522 119v-2.246h-1.531l-2.899 1.551.176.695h1.417l1.061-.572h.041V119zm47.408-6.904h-1.531l-2.899 1.553.347 1.367 2.307-1.245h.041V119h1.627l-.016-.08c.042-.003.082-.012.124-.016v-6.808zm-79.597.647c-2.561 0-4.418 2.217-4.597 6.257h1.806c.136-3.171 1.218-4.869 2.688-4.869 1.75 0 2.585 1.917 2.676 4.869h1.804c-.112-3.943-1.684-6.257-4.377-6.257zm-22.241 3.562l.347 1.368 2.307-1.245h.041v2.269a29.97 29.97 0 0 0 1.735.194v-4.137h-1.531l-2.899 1.551zm10.296-49.701h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531V78.2h-1.735V66.604zm-24 30h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735V96.604zm5.074-30.312h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531v13.271h-1.735V66.292zm89.337-15.693h-.041l-2.307 1.245-.347-1.367 2.899-1.552h1.531v13.271h-1.735V50.599zm-18.544-7.286h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531V54.91h-1.735V43.313zm-16.276 38.636h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V81.949zm16-12h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V69.949zm-26.192 32.479h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735v-11.596zm28.936.032c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm27.74 2.297c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm-63.864-6.468c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm78.338-21.172c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.848 14.432c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.491 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm-60.061-7.927c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.918-2.715 5.532zm-26.441 5.81c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.208.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.571 0-2.715 1.919-2.715 5.532zm39.883-27.255c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.286-5.696c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M296.821 120H201v-.015c-16.272-.513-29.352-14.024-29.352-30.562 0-16.854 13.599-30.566 30.313-30.566 3.021 0 6.027.467 8.95 1.39C217.17 42.711 233.635 31 252.194 31c24.195 0 43.882 19.851 43.886 44.25 0 3.447-.407 6.91-1.209 10.313.218-.01.434-.015.648-.015 9.417 0 17.078 7.726 17.078 17.223 0 8.54-6.329 15.809-14.602 17.021l-1.174.208zM203 118h93.223l.504-.077c7.777-.614 13.87-7.27 13.87-15.151 0-8.394-6.764-15.223-15.078-15.223-.59 0-1.205.043-1.827.129l-1.493.204.391-1.455a43.047 43.047 0 0 0 1.49-11.177C294.077 51.953 275.287 33 252.194 33c-18.028 0-33.987 11.583-39.711 28.824l-.321.966-.96-.338a27.758 27.758 0 0 0-9.241-1.595c-15.612 0-28.313 12.814-28.313 28.566 0 15.69 12.593 28.468 28.114 28.575l1.238-.012V118z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M313.564 239.159c2.37 0 4.339-1.836 4.764-3.971h-9.532c.427 2.135 2.393 3.971 4.768 3.971zm17.121-10.081c-2.022-1.032-3.055-5.128-3.055-12.219 0-9.071-1.075-20.263-14.255-20.263s-14.255 11.191-14.255 20.263c0 7.091-1.018 11.201-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073h30.547c3.565 0 3.294-3.431 2.037-4.073z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path d=\\\"M312 196.644c-11.876.762-12.88 11.471-12.88 20.216 0 7.091-1.018 11.2-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073H312v-36.508z\\\" class=\\\"msportalfx-svg-c15\\\"></path></g></svg>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"showPin\": false,\n                  \"name\": \"Image\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<span style=\\\"color: #000000; font-family: Babas; font-size: 2em;\\\">Enable SQL Auditing to get additional visibility into user activity against your SQL Pool</span>\\r\\n\\r\\nThis section provides additional monitoring coverage that is based on SQL Audit logs.</br>\\r\\nIf you have not activated SQL Auditing for your dedeciated SQL Pool, you must enable them to go to the same Log Analytics workspace as the rest of your diagnostic settings for it to show up here. [Learn more](https://docs.microsoft.com/en-us/azure/azure-sql/database/auditing-overview)</div>\\r\\n\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"name\": \"text - 2\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"paragraph\",\n                    \"links\": [\n                      {\n                        \"id\": \"f4df7a1e-2124-4620-9005-f9b66e47f550\",\n                        \"cellValue\": \"{DatabaseResourceName}\",\n                        \"linkTarget\": \"Resource\",\n                        \"linkLabel\": \"Configure Logs for Auditing >\",\n                        \"subTarget\": \"auditing\",\n                        \"preText\": \"\",\n                        \"postText\": \"\",\n                        \"style\": \"primary\"\n                      }\n                    ]\n                  },\n                  \"customWidth\": \"70\",\n                  \"name\": \"links - 8\"\n                }\n              ]\n            },\n            \"customWidth\": \"90\",\n            \"name\": \"Onboarding Message - Not onboarded yet\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"AuditingState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"disabled\"\n        }\n      ],\n      \"name\": \"AuditingDisabledGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<svg width=\\\"400\\\" viewBox=\\\"0 0 482 271\\\" class=\\\"ext-vm-onboarding-sample-image-svg\\\" role=\\\"presentation\\\" focusable=\\\"false\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" aria-hidden=\\\"true\\\"><g><path fill=\\\"#ABABAB\\\" d=\\\"M399 249H93a1 1 0 1 1 0-2h306a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M301.333 220.333h-47.526c-2.649 0-6.171-.622-6.171-6V88.5a1 1 0 1 1 2 0v125.833c0 2.953 1.091 4 4.171 4h47.526a1 1 0 1 1 0 2zm-73.17 0h-47.526a1 1 0 1 1 0-2h47.526c3.08 0 4.171-1.047 4.171-4V88.5a1 1 0 1 1 2 0v125.833c-.001 5.378-3.522 6-6.171 6z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M276.777 186.134H350v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M350 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H350a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H349v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M128.777 186.134H202v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M202 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H202a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H201v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M180.941 214.203l-10.817 12.98-17.547-28.124L142 216.366V238h47.594z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M188.685 238.513l-7.762-21.345-10.474 12.567-17.359-27.821-9.31 15.234-2.56-1.564 11.843-19.379 17.736 28.425 11.16-13.392 9.545 26.249z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path fill=\\\"#ABABAB\\\" d=\\\"M409 249h-3a1 1 0 1 1 0-2h3a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M322.667 113l4 4-4 4-4-4zm0 10a6 6 0 0 0-6-6m12 0a6 6 0 0 0-6 6m-6-6a6 6 0 0 0 6-6m0 0a6 6 0 0 0 6 6m.333 0h3m-18 0h3m6 6v3m0-15v-3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M159.667 98l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M159.667 103a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M155 100h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M201.667 27l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M197 29h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3m129 23l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M329 54h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><circle cx=\\\"150.667\\\" cy=\\\"128\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"264.667\\\" cy=\\\"136\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"257.667\\\" cy=\\\"19\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"153.667\\\" cy=\\\"35\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><path d=\\\"M324.667 73a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999zm-117 72a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999z\\\" class=\\\"msportalfx-svg-c15\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M152.667 60.429L157.238 65l-4.571 4.571L148.095 65z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M152.667 71.857A6.857 6.857 0 0 0 145.81 65m13.714 0a6.857 6.857 0 0 0-6.857 6.857M145.81 65a6.857 6.857 0 0 0 6.857-6.857m0 0A6.857 6.857 0 0 0 159.524 65m.476 0h1m-16 0h1m7 7v1m0-15v-1\\\"></path></g><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M307.667 29l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M307.667 34a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M303 31h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M311.597 102.771c0-8.961-7.194-16.222-16.078-16.222-.669 0-1.329.051-1.963.138a43.97 43.97 0 0 0 1.524-11.436C295.077 51.363 275.877 32 252.195 32c-18.921 0-34.965 12.355-40.66 29.509a28.744 28.744 0 0 0-9.573-1.652c-16.203 0-29.314 13.239-29.314 29.567 0 16.338 13.111 29.576 29.311 29.576 0 0 .029-.013.042-.013V119h94.821l-.016-.08c8.272-.653 14.791-7.623 14.791-16.149\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M228.837 38.985c-.588.386-1.168.783-1.735 1.197v5.429h1.735v-6.626zm15.805-3.021c2.155 0 3.626-1.343 4.26-3.834a42.1 42.1 0 0 0-1.826.178c-.42 1.439-1.19 2.269-2.332 2.269-.844 0-1.53-.532-2.001-1.513-.555.126-1.106.263-1.653.41.765 1.622 2.008 2.49 3.552 2.49zm49.184 33.227c.285 0 .555-.031.816-.077a42.162 42.162 0 0 0-.223-1.387 2.056 2.056 0 0 1-.491.075c-1.633 0-2.695-1.959-2.695-5.41 0-1.556.222-2.777.589-3.687a44.243 44.243 0 0 0-.8-1.822c-.99 1.161-1.585 3.015-1.585 5.49.04 4.389 1.796 6.818 4.389 6.818zm16.618 38.788c-1.633 0-2.695-1.959-2.695-5.41 0-3.613 1.143-5.533 2.715-5.533.03 0 .054.012.084.013a16.386 16.386 0 0 0-.578-1.354c-2.376.341-4.018 2.74-4.018 6.855.04 4.305 1.732 6.719 4.244 6.81.205-.465.389-.94.551-1.426-.101.013-.195.045-.303.045zM249.522 119v-2.246h-1.531l-2.899 1.551.176.695h1.417l1.061-.572h.041V119zm47.408-6.904h-1.531l-2.899 1.553.347 1.367 2.307-1.245h.041V119h1.627l-.016-.08c.042-.003.082-.012.124-.016v-6.808zm-79.597.647c-2.561 0-4.418 2.217-4.597 6.257h1.806c.136-3.171 1.218-4.869 2.688-4.869 1.75 0 2.585 1.917 2.676 4.869h1.804c-.112-3.943-1.684-6.257-4.377-6.257zm-22.241 3.562l.347 1.368 2.307-1.245h.041v2.269a29.97 29.97 0 0 0 1.735.194v-4.137h-1.531l-2.899 1.551zm10.296-49.701h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531V78.2h-1.735V66.604zm-24 30h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735V96.604zm5.074-30.312h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531v13.271h-1.735V66.292zm89.337-15.693h-.041l-2.307 1.245-.347-1.367 2.899-1.552h1.531v13.271h-1.735V50.599zm-18.544-7.286h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531V54.91h-1.735V43.313zm-16.276 38.636h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V81.949zm16-12h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V69.949zm-26.192 32.479h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735v-11.596zm28.936.032c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm27.74 2.297c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm-63.864-6.468c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm78.338-21.172c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.848 14.432c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.491 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm-60.061-7.927c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.918-2.715 5.532zm-26.441 5.81c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.208.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.571 0-2.715 1.919-2.715 5.532zm39.883-27.255c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.286-5.696c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M296.821 120H201v-.015c-16.272-.513-29.352-14.024-29.352-30.562 0-16.854 13.599-30.566 30.313-30.566 3.021 0 6.027.467 8.95 1.39C217.17 42.711 233.635 31 252.194 31c24.195 0 43.882 19.851 43.886 44.25 0 3.447-.407 6.91-1.209 10.313.218-.01.434-.015.648-.015 9.417 0 17.078 7.726 17.078 17.223 0 8.54-6.329 15.809-14.602 17.021l-1.174.208zM203 118h93.223l.504-.077c7.777-.614 13.87-7.27 13.87-15.151 0-8.394-6.764-15.223-15.078-15.223-.59 0-1.205.043-1.827.129l-1.493.204.391-1.455a43.047 43.047 0 0 0 1.49-11.177C294.077 51.953 275.287 33 252.194 33c-18.028 0-33.987 11.583-39.711 28.824l-.321.966-.96-.338a27.758 27.758 0 0 0-9.241-1.595c-15.612 0-28.313 12.814-28.313 28.566 0 15.69 12.593 28.468 28.114 28.575l1.238-.012V118z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M313.564 239.159c2.37 0 4.339-1.836 4.764-3.971h-9.532c.427 2.135 2.393 3.971 4.768 3.971zm17.121-10.081c-2.022-1.032-3.055-5.128-3.055-12.219 0-9.071-1.075-20.263-14.255-20.263s-14.255 11.191-14.255 20.263c0 7.091-1.018 11.201-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073h30.547c3.565 0 3.294-3.431 2.037-4.073z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path d=\\\"M312 196.644c-11.876.762-12.88 11.471-12.88 20.216 0 7.091-1.018 11.2-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073H312v-36.508z\\\" class=\\\"msportalfx-svg-c15\\\"></path></g></svg>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"showPin\": false,\n                  \"name\": \"Image\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<span style=\\\"color: #000000; font-family: Babas; font-size: 2em;\\\">Get more visibility into the usage and performance of your Azure Synapse Dedicated SQL Pool</span>\\r\\n\\r\\nThis section provides additional monitoring coverage that is based on diagnostic logs.</br>\\r\\n\\r\\nIf you have not activated monitoring in diagnostic settings, you must enable the **ExecRequests** and **RequestSteps** logs and send them to a Log Analytics workspace. You may choose to enable the **SQLSecurityAuditEvents** table at the same time to take full advantage of this monitoring workbook. [Learn more](https://docs.microsoft.com/en-us/azure/synapse-analytics/monitoring/how-to-monitor-using-azure-monitor#logs)</div>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"name\": \"text - 2\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"paragraph\",\n                    \"links\": [\n                      {\n                        \"id\": \"f4df7a1e-2124-4620-9005-f9b66e47f550\",\n                        \"cellValue\": \"{DatabaseResourceName}\",\n                        \"linkTarget\": \"Resource\",\n                        \"linkLabel\": \"Configure Logs for Monitoring >\",\n                        \"subTarget\": \"diagnostics\",\n                        \"preText\": \"\",\n                        \"postText\": \"\",\n                        \"style\": \"primary\"\n                      }\n                    ]\n                  },\n                  \"customWidth\": \"70\",\n                  \"name\": \"links - 8\"\n                }\n              ]\n            },\n            \"customWidth\": \"90\",\n            \"name\": \"Onboarding Message - Not onboarded yet\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isNotEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"disabled\"\n        }\n      ],\n      \"name\": \"DiagnosticsDisabledGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"# Use this page to search the audit logs for a particular query\\r\\nYou can search using a combination of: \\r\\n* Date: Set the time range using the parameter at the top of the workbook\\r\\n* User: only show queries for the specified user\\r\\n* Application: only show queries submitted by the specified application\\r\\n* Query Text Snippet(s) - mutliple fields are provided, if you enter data into multiple fields then it will look for all of those values combined in the results\\r\\nYou can then sort your results in teh chart below by duration or affected rows to find what you are looking for.\\r\\n\\r\\nNOTE: query text is limited to the first 4,000 characters\"\n            },\n            \"name\": \"text - 3\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ServerPrincipalName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ApplicationName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"add4bc9a-505f-4d22-9ba2-882be91adde0\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"value\": \"\"\n                },\n                {\n                  \"id\": \"b78f8304-3dad-4b47-a624-380f6664dc35\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet2\",\n                  \"type\": 1,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"value\": \"\"\n                },\n                {\n                  \"id\": \"516249a7-52fe-4ec4-9826-6f1b756405a8\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet3\",\n                  \"type\": 1,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formHorizontal\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 7\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement has '{QueryTextSnippet}' and Statement has '{QueryTextSnippet2}' and Statement has '{QueryTextSnippet3}'\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, QueryEndTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), AffectedRows, Statement, QuerySource = ApplicationName \\r\\n    | project-reorder DatabaseName, UserName, Host, QueryEndTime, duration_seconds, AffectedRows,Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"showAnalytics\": true,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Statement\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"96.4286ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"AffectedRows\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"AffectedRows\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"AuditSearch\"\n        },\n        {\n          \"parameterName\": \"AuditingState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"AuditSearchGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"Workbook version: v1.1\",\n        \"style\": \"info\"\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Overview\"\n      },\n      \"customWidth\": \"15\",\n      \"name\": \"version\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"Azure Monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/DedicatedSQLPool_workspace_v1.1.workbook.bak",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{LogAnalyticsWorkspace}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 86400000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"SynapseSqlPoolExecRequests \\r\\n| distinct _ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"print split (\\\"{DatabaseResourceName}\\\",\\\"/\\\")[-1]\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"b86cd4a2-2303-4288-b48c-1c119cb420ba\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"AuditingState\",\n            \"type\": 1,\n            \"query\": \"let hasNonEmptyTable = (T:string) \\r\\n{ \\r\\n   toscalar( \\r\\n   union isfuzzy=true \\r\\n   ( table(T) \\r\\n   | where DatabaseName has '{DatabaseName}'\\r\\n   | where TimeGenerated > ago(30d)| take 1 | count as Count ),\\r\\n   (print Count=0) \\r\\n   | summarize sum(Count) \\r\\n   ) > 0\\r\\n};\\r\\nlet TableName = 'SQLSecurityAuditEvents';\\r\\nprint  IsPresent=iif(hasNonEmptyTable(TableName ), \\\"enabled\\\", \\\"disabled\\\")\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 604800000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"4025bcb8-f6d7-4e81-b805-84253835f8fb\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DiagnosticsState\",\n            \"type\": 1,\n            \"query\": \"let hasNonEmptyTable = (T:string, T2:string) \\r\\n{ \\r\\n   toscalar( \\r\\n   union isfuzzy=true \\r\\n   ( table(T) | where TimeGenerated > ago(30d) | where _ResourceId endswith '/sqlpools/{DatabaseName}'| take 1 | count as Count ),\\r\\n   ( table(T2) | where TimeGenerated > ago(30d) | where _ResourceId endswith '/sqlpools/{DatabaseName}'| take 1 | count as Count),\\r\\n   (print Count=0) \\r\\n   | summarize sum(Count) \\r\\n   ) > 1\\r\\n};\\r\\nlet TableName = 'SynapseSqlPoolExecRequests';\\r\\nlet TableName2 = 'SynapseSqlPoolRequestSteps';\\r\\nprint  IsPresent=iif(hasNonEmptyTable(TableName,TableName2 ), \\\"enabled\\\", \\\"disabled\\\")\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n      },\n      \"customWidth\": \"90\",\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"Select your Log Analytics Workspace by setting the parameters above from left to right. \",\n        \"style\": \"warning\"\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"DatabaseResourceName\",\n        \"comparison\": \"isEqualTo\"\n      },\n      \"customWidth\": \"30\",\n      \"name\": \"text - 14\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Overview\",\n            \"subTarget\": \"Overview\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Investigation\",\n            \"subTarget\": \"QueryInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"db43bb45-1611-47ce-a2ad-517943f2aa1a\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"AutoStats\",\n            \"subTarget\": \"Statistics\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Audit\",\n            \"subTarget\": \"QueryAudit\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"f42ddeea-8cc0-4095-bc90-11eac0b7f94c\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Audit Search\",\n            \"subTarget\": \"AuditSearch\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWUUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"DWU Usaed %\"\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-CPUPercent\",\n                  \"aggregation\": 3,\n                  \"columnName\": \"CPU Used %\"\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-QueuedQueries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"Workload Group Allocation by System %\"\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    //Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    //Session_ID=any(Session_ID), \\r\\n   // Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render barchart   \\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Query Completion Count by End Time - 5m buckets\",\n                    \"color\": \"redBright\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 4\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"Use the buttons below to filter the next chart for Success or Failed queries. In many cases a failed query may not have a 'Command' column populated depending on what stage the query failed in. \",\n                    \"style\": \"info\"\n                  },\n                  \"customWidth\": \"25\",\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"parameters\": [\n                      {\n                        \"id\": \"e2a833ac-48b4-4ccd-bbcd-33fccf1dbd75\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryCompletionType\",\n                        \"type\": 1,\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        }\n                      }\n                    ],\n                    \"style\": \"pills\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 4\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"8e89112f-c67f-42c0-9622-02fa306fb7a5\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Queries\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"6abe39c7-4d4e-4c45-aa54-dc9a4c5e876e\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"Completed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"e41b4a0b-8464-491e-92be-a57217d6dcac\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"Failed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 11\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Status has '{QueryCompletionType}'\\r\\n| order by Start_Time\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Query Completions - use above buttons to filter\",\n                    \"color\": \"redBright\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"showExportToExcel\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 4 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Query Completions\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-Connections\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ConnectionsBlockedByFirewall\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" SQLSecurityAuditEvents\\r\\n    | where LogicalServerName == '{LogicalServerName}'\\r\\n    | where ActionName in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | project SourceSystem,ClientTlsVersion ,Succeeded,SessionId,ClientIp,SessionServerPrincipalName,ServerPrincipalName,DatabasePrincipalName,ApplicationName,HostName,TimeGenerated\\r\\n    | summarize count() by Succeeded,bin(TimeGenerated,1m)\\r\\n    | render barchart\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 8\"\n                },\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"parameters\": [\n                      {\n                        \"id\": \"f7485a11-48df-4b61-a70e-9f56d6a00ec6\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"AuthResult\",\n                        \"type\": 1,\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        }\n                      }\n                    ],\n                    \"style\": \"pills\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 3\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"2ed22e0a-2b53-4ed0-8f65-d2c621f34dad\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Authentications\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"2789ab13-ae8a-472e-bad4-9c9bdc934d4d\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"true\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"5cf4ddd4-e189-4b71-b456-0d4f1572a0a3\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"false\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 10\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" SQLSecurityAuditEvents\\r\\n    | where LogicalServerName == '{LogicalServerName}'\\r\\n    | where ActionName in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | where Succeeded == '{AuthResult}'\\r\\n    | project SourceSystem,ClientTlsVersion ,Succeeded,SessionId,ClientIp,SessionServerPrincipalName,ServerPrincipalName,DatabasePrincipalName,ApplicationName,HostName,TimeGenerated\\r\\n    //| summarize count() by Succeeded,bin(TimeGenerated,1m)\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"showAnalytics\": true,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"noDataMessage\": \"No Results\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null,\n                      \"showLegend\": true\n                    }\n                  },\n                  \"showPin\": true,\n                  \"name\": \"query - 8 - Copy\"\n                }\n              ]\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"AuditingState\",\n              \"comparison\": \"isEqualTo\",\n              \"value\": \"enabled\"\n            },\n            \"name\": \"Database Authentication Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheHitPercent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"showCreateAlertRule\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"Overview\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"overviewGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"showOpenInMe\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Weighted query steps\\r\\nSynapseSqlPoolRequestSteps \\r\\n| where _ResourceId == databaseResourceName\\r\\n| where RowCount > 0\\r\\n| summarize sum(RowCount) by RequestId, OperationType\\r\\n| order by sum_RowCount desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId\",\n                \"group\": \"OperationType\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"8afacdd5-2690-48d0-b125-fb118378e90c\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"value\": \"Unweighted\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 8\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"customWidth\": \"25\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = SynapseSqlPoolRequestSteps\\r\\n| where _ResourceId == databaseResourceName\\r\\n//| where RowCount > 10000000\\r\\n| extend Step_Elapsed_Min = round((EndTime - StartTime) /1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType == 'BroadcastMoveOperation', (RowCount*10), RowCount)),RowCount)\\r\\n| project-rename StepStatus = Status, StepStart = StartTime, StepEnd = EndTime//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId,OperationType, RowCount,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex;\\r\\nRequestSteps | join (\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId == databaseResourceName\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    //Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize //Session_ID=any(Session_ID), \\r\\n//Submit_Time=any(Submit_Time) ,\\r\\nStart_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder //Session_ID, \\r\\nRequest_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex, OperationType, RowCount,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}' and Request_ID != ''\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"showAnalytics\": true,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestID}' and RequestId != '' //Put your QueryID here\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"TempDB\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"TempDBGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Search Criteria\\r\\nUse the following fields to search either using a query text snippet or using a Request ID. If using a query text snippet, try to keep it as simple as possible becuase minor changes in formatting may cause your queries not to show up in the results. It's best to pick something like a table name, then choose the proper query from the list that will populate. \"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"4b98dd26-4ccf-420e-a990-8d015f27fb76\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SampleQID\",\n                  \"type\": 1,\n                  \"value\": \"999\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"d5524dd5-cf7e-41cf-beb3-474b3290289e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"initializeQueryInvestigationParameters\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0c2128d0-d979-4562-a28c-e7ceb955f126\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"Request Id Search\"\n                },\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Request_ID=max(RequestId),  \\r\\n    Start_Time=max(StartTime),\\r\\n    End_Compile_Time=max(EndCompileTime), \\r\\n    End_Time=max(EndTime), \\r\\n    QueryText = any(Command), \\r\\n    Last_Status=min(Status),\\r\\n    Statement_Type=max(StatementType),\\r\\n    Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n| extend Elapsed_Time_s=(End_Time - Start_Time)/1s\\r\\n| where QueryText has '{QueryTextSnippet}'\\r\\nand RequestId has '{RequestId}'\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    SampleQID = any(RequestId),\\r\\n    Elapsed_Time_s=max(Elapsed_Time_s)\\r\\n    by QueryText\\r\\n| order by Elapsed_Time_s\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Matching Queries\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"RequestId\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"QueryText\",\n                  \"parameterName\": \"QueryText\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Elapsed_Time_s\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Elapsed_Time_s\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## DSQL Command \"\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"QueryText\",\n              \"comparison\": \"isNotEqualTo\"\n            },\n            \"name\": \"text - 8\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"```{QueryText}```\\r\\n\"\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"QueryText\",\n              \"comparison\": \"isNotEqualTo\"\n            },\n            \"name\": \"ShowQueryText\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| where RequestId == '{SampleQID}'\\r\\n| summarize  \\r\\n    Request_ID=max(RequestId),   \\r\\n    Start_Time=max(StartTime),\\r\\n    End_Compile_Time=max(EndCompileTime), \\r\\n    End_Time=max(EndTime), \\r\\n    Command=max(Command), \\r\\n    Last_Status=min(Status),\\r\\n    Statement_Type=max(StatementType),\\r\\n    Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Start_Time)/1s,real(null)) \\r\\n| join kind=inner\\r\\n    (SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Request_ID=max(RequestId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n        by RequestId\\r\\n    //| extend elapsedTime_sec = (End_Time - Start_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Start_Time)/1s,real(null)) \\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"All Executions of Selected Query Text\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId}' and RequestId != ''\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId}'\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Triggered Auto-Stats Statements\",\n              \"noDataMessage\": \"No triggered autostats statements found\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"All triggered auto-stats statements\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryInvestigation\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryInvestigationGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"customWidth\": \"25\",\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"533ff6bb-97cd-4aaa-9372-171cad378bcd\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryText\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"99de0056-d4f3-465e-a27e-599d69b23c77\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"999\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"initializeTempDBVariables\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command != \\\"\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId) by Command\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"noDataMessage\": \"No replicated table rebuilds found in the last 7 days\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command\",\n              \"exportParameterName\": \"QueryText\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command == \\\"{QueryText}\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize count() by Command,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command != \\\"\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize count() by Command, bin(TimeGenerated,24h)\\r\\n//| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"showAnalytics\": true,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"noDataMessage\": \" Only tables with more than 7 total rebuilds will show up. If no talbes with that many rebuilds are found this chart will be empty\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| summarize          Start_Time=max(StartTime),      End_Time=max(EndTime),      Command=max(Command),       Statement_Type=max(StatementType),     Resource_class=max(ResourceClass)      by RequestId\\r\\n| join kind= inner\\r\\n(\\r\\n    SynapseSqlPoolExecRequests\\r\\n    | where _ResourceId  == databaseResourceName\\r\\n    | where StatementType == 'BuildReplicatedTableCache'\\r\\n    | where StatementType == 'BuildReplicatedTableCache'\\r\\n    | where EndTime > ago(7d)\\r\\n    | where StartTime > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime - StartTime)/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project RequestId,elapsedTime_min \\r\\n)\\r\\non RequestId\\r\\n| order by elapsedTime_min desc\\r\\n| project RequestId,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"RequestId\",\n              \"exportParameterName\": \"RequestId\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \" let databaseResourceName = '{DatabaseResourceName}';\\r\\nSynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where RequestId == '{RequestId}'\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"ReplicatedTables\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook8d175f6c-427b-47fc-85ea-37edd0be707c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGQueuedQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Queued Queries by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"Queued Queries by Workload Group\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroupName\",\n                  \"type\": 2,\n                  \"multiSelect\": true,\n                  \"quote\": \"'\",\n                  \"delimiter\": \",\",\n                  \"query\": \"SynapseSqlPoolExecRequests \\r\\n| where _ResourceId == '{DatabaseResourceName}'\\r\\n and ResourceClass != \\\"\\\"\\r\\n| distinct ResourceClass\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [\n                      \"value::all\"\n                    ],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"defaultValue\": \"value::all\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 31597002,\n                \"endTime\": \"2022-01-21T03:06:58.357Z\"\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGQueuedQueries\",\n                  \"aggregation\": 1\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGEffectiveCapResourcePercent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"5\",\n                  \"key\": \"WorkloadGroup\",\n                  \"operator\": 0,\n                  \"valueParam\": \"WorkloadGroupName\"\n                }\n              ],\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"WorkloadManagement\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"WorkloadManagementGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\\r\\nSQL Auditing must be enabled and sending to the same Log Analytics Workspace for this page to work. \"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ServerPrincipalName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ApplicationName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| where DurationMs > 0\\r\\n| extend duration_seconds = DurationMs /1000.0\\r\\n| where Statement != 'select @@version'\\r\\n| where Statement != 'SELECT @@SPID;'\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| project ServerPrincipalName, EventTime, LogicalServerName, DurationMs, duration_seconds, AffectedRows, Statement, ApplicationName\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count() by EventDay = bin(EventTime,1d), UserName = ServerPrincipalName, Application = ApplicationName \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| where DurationMs > 0\\r\\n| extend duration_seconds = DurationMs /1000.0\\r\\n| where Statement != 'select @@version'\\r\\n| where Statement != 'SELECT @@SPID;'\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| project ServerPrincipalName, EventTime, LogicalServerName, DurationMs, duration_seconds, AffectedRows, Statement, ApplicationName\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count() by EventDay = bin(EventTime,1d), UserName = ServerPrincipalName, Application = ApplicationName \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, EventTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), Statement, QuerySource = ApplicationName , AffectedRows\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, EventTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), Statement, QuerySource = ApplicationName , AffectedRows\\r\\n    | project-reorder AffectedRows,DatabaseName, UserName, Host, EventTime, duration_seconds, Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"chartSettings\": {\n                \"xAxis\": \"Host\",\n                \"group\": \"UserName\",\n                \"createOtherGroup\": null,\n                \"showLegend\": true\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents\\r\\n| where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n| extend Duration = round(DurationMs /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(EventTime, 1d), TimeBin\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"AuditingState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryAuditGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"7fa3187e-9225-4faa-8f80-dc1bc40c5aab\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId1\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"315fc476-469a-4d8d-b421-028d1113ab06\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId2\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"parameters\": [\n                      {\n                        \"id\": \"1537c5b3-0b6c-4b1d-89be-946cd8268020\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryText1\",\n                        \"type\": 1,\n                        \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId1}'\\r\\n| summarize max(Command)\",\n                        \"crossComponentResources\": [\n                          \"{LogAnalyticsWorkspace}\"\n                        ],\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        },\n                        \"timeContextFromParameter\": \"TimeRange\",\n                        \"queryType\": 0,\n                        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                      }\n                    ],\n                    \"style\": \"above\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"#### {RequestId1} Query Text\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"```{QueryText1}```\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId1}'\\r\\n| summarize \\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    //Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d))\\r\\n//,Command=any(Command)\\r\\n,Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project ElapsedTime_min\\r\\n//,Command\\r\\n,Resource_class,Start_Time\\r\\n//,End_Time\\r\\n,Statement_Type,Status\\r\\n\",\n                    \"size\": 4,\n                    \"title\": \"Exec Requests\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"query - 2\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId1}' and RequestId != ''\\r\\n| summarize StartTime=max(StartTime)\\r\\n    ,EndTime=max(EndTime)\\r\\n    ,RequestID=max(RequestId)\\r\\n    ,Operation=max(OperationType)\\r\\n    ,RowCount=max(RowCount)\\r\\n    ,Command=max(Command)\\r\\n    ,Status=min(Status)\\r\\n     by StepIndex\\r\\n| order by StepIndex asc\\r\\n| project StartTime,EndTime,Operation,RowCount,Command,Status,StepIndex\",\n                    \"size\": 3,\n                    \"title\": \"Request Steps\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"StepQueryRequest1\",\n                  \"styleSettings\": {\n                    \"margin\": \"0\",\n                    \"padding\": \"10px\"\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId1}'\",\n                    \"size\": 0,\n                    \"title\": \"Triggered Auto-Stats Statements\",\n                    \"noDataMessage\": \"No triggered autostats statements found\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"formatters\": [\n                        {\n                          \"columnMatch\": \"Submit_Time\",\n                          \"formatter\": 0,\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Command\",\n                          \"formatter\": 0,\n                          \"formatOptions\": {\n                            \"customColumnWidthSetting\": \"100ch\"\n                          }\n                        }\n                      ],\n                      \"sortBy\": [\n                        {\n                          \"itemKey\": \"End_Time\",\n                          \"sortOrder\": 2\n                        }\n                      ]\n                    },\n                    \"sortBy\": [\n                      {\n                        \"itemKey\": \"End_Time\",\n                        \"sortOrder\": 2\n                      }\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"All triggered auto-stats statements\"\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"RequestId1Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"parameters\": [\n                      {\n                        \"id\": \"1537c5b3-0b6c-4b1d-89be-946cd8268020\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryText2\",\n                        \"type\": 1,\n                        \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId2}'\\r\\n| summarize max(Command)\",\n                        \"crossComponentResources\": [\n                          \"{LogAnalyticsWorkspace}\"\n                        ],\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 0\n                        },\n                        \"timeContextFromParameter\": \"TimeRange\",\n                        \"queryType\": 0,\n                        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                      }\n                    ],\n                    \"style\": \"above\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"#### {RequestId2} Query Text\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"```{QueryText2}```\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 4\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId2}'\\r\\n| summarize \\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    //Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d))\\r\\n//,Command=any(Command)\\r\\n,Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project ElapsedTime_min\\r\\n//,Command\\r\\n,Resource_class,Start_Time\\r\\n//,End_Time\\r\\n,Statement_Type,Status\\r\\n\",\n                    \"size\": 4,\n                    \"title\": \"Exec Requests\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"query - 2 - Copy\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId2}' and RequestId != ''\\r\\n| summarize StartTime=max(StartTime)\\r\\n    ,EndTime=max(EndTime)\\r\\n    ,RequestID=max(RequestId)\\r\\n    ,Operation=max(OperationType)\\r\\n    ,RowCount=max(RowCount)\\r\\n    ,Command=max(Command)\\r\\n    ,Status=min(Status)\\r\\n     by StepIndex\\r\\n| order by StepIndex asc\\r\\n| project StartTime,EndTime,Operation,RowCount,Command,Status,StepIndex\",\n                    \"size\": 3,\n                    \"title\": \"Request Steps\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"query - 4 - Copy\",\n                  \"styleSettings\": {\n                    \"padding\": \"10px\"\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId2}'\",\n                    \"size\": 0,\n                    \"title\": \"Triggered Auto-Stats Statements\",\n                    \"noDataMessage\": \"No triggered autostats statements found\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"formatters\": [\n                        {\n                          \"columnMatch\": \"Submit_Time\",\n                          \"formatter\": 0,\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Command\",\n                          \"formatter\": 0,\n                          \"formatOptions\": {\n                            \"customColumnWidthSetting\": \"100ch\"\n                          }\n                        }\n                      ]\n                    }\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"All triggered auto-stats statements\"\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"RequestId2Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryComparison\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryComparison\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This tab is used to determine what statements triggerred autostats creation jobs. \\r\\nThe flow of autostats creation is as follows\\r\\n1. Query Submit Time\\r\\n2. \\tCreate Statistics submit Time\\r\\n3. \\tCreate Statistics end Time\\r\\n4. Query end_compile_time\\r\\n5. Query Start_Time\\r\\n6. Query End_Time\\r\\n\\r\\nFurther, if multiple stats are created, then the creation of all stats for this query will fall between query submit_time and end_compile_time. \\r\\n\\r\\nThe charts on this page allow you to search for an autostats job by requestID or my snippet of the autostats statement text, which can just be the schema, table, or column name. Then it will show you all commands that include that request ID or text. It will then show you all statements in the create stat statement because the query we are trying to identify will wait for all of those stats creations to complete before proceeding. \\r\\n\\r\\nThe last chart will list the statement that triggered the stats creation. \"\n            },\n            \"name\": \"text - 6\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"df5b9b85-4188-4f2c-88cb-1369e09f6742\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RootQueryId\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"560c9ec5-6341-4fa1-9ce6-35ff010151b1\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0911bd4b-d471-480b-bdf4-1a2d4ba1ea6e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"RequestId for AutoStats Job\"\n                },\n                {\n                  \"id\": \"c12e6495-4fd1-473c-8ffc-0bf502f54706\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"label\": \"Snippet of autostats creation statement (Schema, table or column)\"\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n| summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType)\\r\\n    by RequestId\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Command has '{QueryTextSnippet}' and RequestId has '{RequestIdSearch}'\\r\\n//| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n//| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n//| order by elapsedTime_sec\\r\\n//| summarize \\r\\n //   Executions = count(),\\r\\n //   Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n //   Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n //   Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n //   SampleQID = any(RequestId),\\r\\n   // SampleSessionID = any(Session_ID)\\r\\n  //  by Command\\r\\n//| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Matching Autostats Queries\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"RequestId\",\n                  \"parameterName\": \"RequestId\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Root_Query_Id\",\n                  \"parameterName\": \"RootQueryId\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType !='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | where RequestId == '{RootQueryId}'\\r\\n    | summarize   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Statement that Triggered Selected Autostat\",\n              \"noDataMessage\": \"Select an autostats query above to see what query triggered it\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n| summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType)\\r\\n    by RequestId\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Root_Query_Id == '{RootQueryId}'\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"All Stats Statements Triggered by selected Query\",\n              \"noDataMessageStyle\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 13\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"Statistics\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"statistics\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<svg width=\\\"400\\\" viewBox=\\\"0 0 482 271\\\" class=\\\"ext-vm-onboarding-sample-image-svg\\\" role=\\\"presentation\\\" focusable=\\\"false\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" aria-hidden=\\\"true\\\"><g><path fill=\\\"#ABABAB\\\" d=\\\"M399 249H93a1 1 0 1 1 0-2h306a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M301.333 220.333h-47.526c-2.649 0-6.171-.622-6.171-6V88.5a1 1 0 1 1 2 0v125.833c0 2.953 1.091 4 4.171 4h47.526a1 1 0 1 1 0 2zm-73.17 0h-47.526a1 1 0 1 1 0-2h47.526c3.08 0 4.171-1.047 4.171-4V88.5a1 1 0 1 1 2 0v125.833c-.001 5.378-3.522 6-6.171 6z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M276.777 186.134H350v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M350 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H350a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H349v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M128.777 186.134H202v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M202 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H202a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H201v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M180.941 214.203l-10.817 12.98-17.547-28.124L142 216.366V238h47.594z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M188.685 238.513l-7.762-21.345-10.474 12.567-17.359-27.821-9.31 15.234-2.56-1.564 11.843-19.379 17.736 28.425 11.16-13.392 9.545 26.249z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path fill=\\\"#ABABAB\\\" d=\\\"M409 249h-3a1 1 0 1 1 0-2h3a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M322.667 113l4 4-4 4-4-4zm0 10a6 6 0 0 0-6-6m12 0a6 6 0 0 0-6 6m-6-6a6 6 0 0 0 6-6m0 0a6 6 0 0 0 6 6m.333 0h3m-18 0h3m6 6v3m0-15v-3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M159.667 98l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M159.667 103a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M155 100h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M201.667 27l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M197 29h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3m129 23l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M329 54h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><circle cx=\\\"150.667\\\" cy=\\\"128\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"264.667\\\" cy=\\\"136\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"257.667\\\" cy=\\\"19\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"153.667\\\" cy=\\\"35\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><path d=\\\"M324.667 73a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999zm-117 72a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999z\\\" class=\\\"msportalfx-svg-c15\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M152.667 60.429L157.238 65l-4.571 4.571L148.095 65z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M152.667 71.857A6.857 6.857 0 0 0 145.81 65m13.714 0a6.857 6.857 0 0 0-6.857 6.857M145.81 65a6.857 6.857 0 0 0 6.857-6.857m0 0A6.857 6.857 0 0 0 159.524 65m.476 0h1m-16 0h1m7 7v1m0-15v-1\\\"></path></g><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M307.667 29l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M307.667 34a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M303 31h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M311.597 102.771c0-8.961-7.194-16.222-16.078-16.222-.669 0-1.329.051-1.963.138a43.97 43.97 0 0 0 1.524-11.436C295.077 51.363 275.877 32 252.195 32c-18.921 0-34.965 12.355-40.66 29.509a28.744 28.744 0 0 0-9.573-1.652c-16.203 0-29.314 13.239-29.314 29.567 0 16.338 13.111 29.576 29.311 29.576 0 0 .029-.013.042-.013V119h94.821l-.016-.08c8.272-.653 14.791-7.623 14.791-16.149\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M228.837 38.985c-.588.386-1.168.783-1.735 1.197v5.429h1.735v-6.626zm15.805-3.021c2.155 0 3.626-1.343 4.26-3.834a42.1 42.1 0 0 0-1.826.178c-.42 1.439-1.19 2.269-2.332 2.269-.844 0-1.53-.532-2.001-1.513-.555.126-1.106.263-1.653.41.765 1.622 2.008 2.49 3.552 2.49zm49.184 33.227c.285 0 .555-.031.816-.077a42.162 42.162 0 0 0-.223-1.387 2.056 2.056 0 0 1-.491.075c-1.633 0-2.695-1.959-2.695-5.41 0-1.556.222-2.777.589-3.687a44.243 44.243 0 0 0-.8-1.822c-.99 1.161-1.585 3.015-1.585 5.49.04 4.389 1.796 6.818 4.389 6.818zm16.618 38.788c-1.633 0-2.695-1.959-2.695-5.41 0-3.613 1.143-5.533 2.715-5.533.03 0 .054.012.084.013a16.386 16.386 0 0 0-.578-1.354c-2.376.341-4.018 2.74-4.018 6.855.04 4.305 1.732 6.719 4.244 6.81.205-.465.389-.94.551-1.426-.101.013-.195.045-.303.045zM249.522 119v-2.246h-1.531l-2.899 1.551.176.695h1.417l1.061-.572h.041V119zm47.408-6.904h-1.531l-2.899 1.553.347 1.367 2.307-1.245h.041V119h1.627l-.016-.08c.042-.003.082-.012.124-.016v-6.808zm-79.597.647c-2.561 0-4.418 2.217-4.597 6.257h1.806c.136-3.171 1.218-4.869 2.688-4.869 1.75 0 2.585 1.917 2.676 4.869h1.804c-.112-3.943-1.684-6.257-4.377-6.257zm-22.241 3.562l.347 1.368 2.307-1.245h.041v2.269a29.97 29.97 0 0 0 1.735.194v-4.137h-1.531l-2.899 1.551zm10.296-49.701h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531V78.2h-1.735V66.604zm-24 30h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735V96.604zm5.074-30.312h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531v13.271h-1.735V66.292zm89.337-15.693h-.041l-2.307 1.245-.347-1.367 2.899-1.552h1.531v13.271h-1.735V50.599zm-18.544-7.286h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531V54.91h-1.735V43.313zm-16.276 38.636h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V81.949zm16-12h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V69.949zm-26.192 32.479h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735v-11.596zm28.936.032c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm27.74 2.297c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm-63.864-6.468c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm78.338-21.172c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.848 14.432c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.491 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm-60.061-7.927c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.918-2.715 5.532zm-26.441 5.81c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.208.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.571 0-2.715 1.919-2.715 5.532zm39.883-27.255c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.286-5.696c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M296.821 120H201v-.015c-16.272-.513-29.352-14.024-29.352-30.562 0-16.854 13.599-30.566 30.313-30.566 3.021 0 6.027.467 8.95 1.39C217.17 42.711 233.635 31 252.194 31c24.195 0 43.882 19.851 43.886 44.25 0 3.447-.407 6.91-1.209 10.313.218-.01.434-.015.648-.015 9.417 0 17.078 7.726 17.078 17.223 0 8.54-6.329 15.809-14.602 17.021l-1.174.208zM203 118h93.223l.504-.077c7.777-.614 13.87-7.27 13.87-15.151 0-8.394-6.764-15.223-15.078-15.223-.59 0-1.205.043-1.827.129l-1.493.204.391-1.455a43.047 43.047 0 0 0 1.49-11.177C294.077 51.953 275.287 33 252.194 33c-18.028 0-33.987 11.583-39.711 28.824l-.321.966-.96-.338a27.758 27.758 0 0 0-9.241-1.595c-15.612 0-28.313 12.814-28.313 28.566 0 15.69 12.593 28.468 28.114 28.575l1.238-.012V118z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M313.564 239.159c2.37 0 4.339-1.836 4.764-3.971h-9.532c.427 2.135 2.393 3.971 4.768 3.971zm17.121-10.081c-2.022-1.032-3.055-5.128-3.055-12.219 0-9.071-1.075-20.263-14.255-20.263s-14.255 11.191-14.255 20.263c0 7.091-1.018 11.201-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073h30.547c3.565 0 3.294-3.431 2.037-4.073z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path d=\\\"M312 196.644c-11.876.762-12.88 11.471-12.88 20.216 0 7.091-1.018 11.2-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073H312v-36.508z\\\" class=\\\"msportalfx-svg-c15\\\"></path></g></svg>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"showPin\": false,\n                  \"name\": \"Image\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<span style=\\\"color: #000000; font-family: Babas; font-size: 2em;\\\">Enable SQL Auditing to get additional visibility into user activity against your SQL Pool</span>\\r\\n\\r\\nThis section provides additional monitoring coverage that is based on SQL Audit logs.</br>\\r\\nIf you have not activated SQL Auditing for your dedeciated SQL Pool, you must enable them to go to the same Log Analytics workspace as the rest of your diagnostic settings for it to show up here. [Learn more](https://docs.microsoft.com/en-us/azure/azure-sql/database/auditing-overview)</div>\\r\\n\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"name\": \"text - 2\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"paragraph\",\n                    \"links\": [\n                      {\n                        \"id\": \"f4df7a1e-2124-4620-9005-f9b66e47f550\",\n                        \"cellValue\": \"{DatabaseResourceName}\",\n                        \"linkTarget\": \"Resource\",\n                        \"linkLabel\": \"Configure Logs for Auditing >\",\n                        \"subTarget\": \"auditing\",\n                        \"preText\": \"\",\n                        \"postText\": \"\",\n                        \"style\": \"primary\"\n                      }\n                    ]\n                  },\n                  \"customWidth\": \"70\",\n                  \"name\": \"links - 8\"\n                }\n              ]\n            },\n            \"customWidth\": \"90\",\n            \"name\": \"Onboarding Message - Not onboarded yet\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"AuditingState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"disabled\"\n        }\n      ],\n      \"name\": \"AuditingDisabledGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<svg width=\\\"400\\\" viewBox=\\\"0 0 482 271\\\" class=\\\"ext-vm-onboarding-sample-image-svg\\\" role=\\\"presentation\\\" focusable=\\\"false\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" aria-hidden=\\\"true\\\"><g><path fill=\\\"#ABABAB\\\" d=\\\"M399 249H93a1 1 0 1 1 0-2h306a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M301.333 220.333h-47.526c-2.649 0-6.171-.622-6.171-6V88.5a1 1 0 1 1 2 0v125.833c0 2.953 1.091 4 4.171 4h47.526a1 1 0 1 1 0 2zm-73.17 0h-47.526a1 1 0 1 1 0-2h47.526c3.08 0 4.171-1.047 4.171-4V88.5a1 1 0 1 1 2 0v125.833c-.001 5.378-3.522 6-6.171 6z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M276.777 186.134H350v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M350 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H350a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H349v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M128.777 186.134H202v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M202 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H202a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H201v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M180.941 214.203l-10.817 12.98-17.547-28.124L142 216.366V238h47.594z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M188.685 238.513l-7.762-21.345-10.474 12.567-17.359-27.821-9.31 15.234-2.56-1.564 11.843-19.379 17.736 28.425 11.16-13.392 9.545 26.249z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path fill=\\\"#ABABAB\\\" d=\\\"M409 249h-3a1 1 0 1 1 0-2h3a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M322.667 113l4 4-4 4-4-4zm0 10a6 6 0 0 0-6-6m12 0a6 6 0 0 0-6 6m-6-6a6 6 0 0 0 6-6m0 0a6 6 0 0 0 6 6m.333 0h3m-18 0h3m6 6v3m0-15v-3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M159.667 98l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M159.667 103a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M155 100h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M201.667 27l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M197 29h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3m129 23l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M329 54h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><circle cx=\\\"150.667\\\" cy=\\\"128\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"264.667\\\" cy=\\\"136\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"257.667\\\" cy=\\\"19\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"153.667\\\" cy=\\\"35\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><path d=\\\"M324.667 73a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999zm-117 72a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999z\\\" class=\\\"msportalfx-svg-c15\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M152.667 60.429L157.238 65l-4.571 4.571L148.095 65z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M152.667 71.857A6.857 6.857 0 0 0 145.81 65m13.714 0a6.857 6.857 0 0 0-6.857 6.857M145.81 65a6.857 6.857 0 0 0 6.857-6.857m0 0A6.857 6.857 0 0 0 159.524 65m.476 0h1m-16 0h1m7 7v1m0-15v-1\\\"></path></g><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M307.667 29l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M307.667 34a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M303 31h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M311.597 102.771c0-8.961-7.194-16.222-16.078-16.222-.669 0-1.329.051-1.963.138a43.97 43.97 0 0 0 1.524-11.436C295.077 51.363 275.877 32 252.195 32c-18.921 0-34.965 12.355-40.66 29.509a28.744 28.744 0 0 0-9.573-1.652c-16.203 0-29.314 13.239-29.314 29.567 0 16.338 13.111 29.576 29.311 29.576 0 0 .029-.013.042-.013V119h94.821l-.016-.08c8.272-.653 14.791-7.623 14.791-16.149\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M228.837 38.985c-.588.386-1.168.783-1.735 1.197v5.429h1.735v-6.626zm15.805-3.021c2.155 0 3.626-1.343 4.26-3.834a42.1 42.1 0 0 0-1.826.178c-.42 1.439-1.19 2.269-2.332 2.269-.844 0-1.53-.532-2.001-1.513-.555.126-1.106.263-1.653.41.765 1.622 2.008 2.49 3.552 2.49zm49.184 33.227c.285 0 .555-.031.816-.077a42.162 42.162 0 0 0-.223-1.387 2.056 2.056 0 0 1-.491.075c-1.633 0-2.695-1.959-2.695-5.41 0-1.556.222-2.777.589-3.687a44.243 44.243 0 0 0-.8-1.822c-.99 1.161-1.585 3.015-1.585 5.49.04 4.389 1.796 6.818 4.389 6.818zm16.618 38.788c-1.633 0-2.695-1.959-2.695-5.41 0-3.613 1.143-5.533 2.715-5.533.03 0 .054.012.084.013a16.386 16.386 0 0 0-.578-1.354c-2.376.341-4.018 2.74-4.018 6.855.04 4.305 1.732 6.719 4.244 6.81.205-.465.389-.94.551-1.426-.101.013-.195.045-.303.045zM249.522 119v-2.246h-1.531l-2.899 1.551.176.695h1.417l1.061-.572h.041V119zm47.408-6.904h-1.531l-2.899 1.553.347 1.367 2.307-1.245h.041V119h1.627l-.016-.08c.042-.003.082-.012.124-.016v-6.808zm-79.597.647c-2.561 0-4.418 2.217-4.597 6.257h1.806c.136-3.171 1.218-4.869 2.688-4.869 1.75 0 2.585 1.917 2.676 4.869h1.804c-.112-3.943-1.684-6.257-4.377-6.257zm-22.241 3.562l.347 1.368 2.307-1.245h.041v2.269a29.97 29.97 0 0 0 1.735.194v-4.137h-1.531l-2.899 1.551zm10.296-49.701h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531V78.2h-1.735V66.604zm-24 30h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735V96.604zm5.074-30.312h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531v13.271h-1.735V66.292zm89.337-15.693h-.041l-2.307 1.245-.347-1.367 2.899-1.552h1.531v13.271h-1.735V50.599zm-18.544-7.286h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531V54.91h-1.735V43.313zm-16.276 38.636h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V81.949zm16-12h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V69.949zm-26.192 32.479h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735v-11.596zm28.936.032c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm27.74 2.297c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm-63.864-6.468c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm78.338-21.172c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.848 14.432c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.491 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm-60.061-7.927c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.918-2.715 5.532zm-26.441 5.81c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.208.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.571 0-2.715 1.919-2.715 5.532zm39.883-27.255c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.286-5.696c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M296.821 120H201v-.015c-16.272-.513-29.352-14.024-29.352-30.562 0-16.854 13.599-30.566 30.313-30.566 3.021 0 6.027.467 8.95 1.39C217.17 42.711 233.635 31 252.194 31c24.195 0 43.882 19.851 43.886 44.25 0 3.447-.407 6.91-1.209 10.313.218-.01.434-.015.648-.015 9.417 0 17.078 7.726 17.078 17.223 0 8.54-6.329 15.809-14.602 17.021l-1.174.208zM203 118h93.223l.504-.077c7.777-.614 13.87-7.27 13.87-15.151 0-8.394-6.764-15.223-15.078-15.223-.59 0-1.205.043-1.827.129l-1.493.204.391-1.455a43.047 43.047 0 0 0 1.49-11.177C294.077 51.953 275.287 33 252.194 33c-18.028 0-33.987 11.583-39.711 28.824l-.321.966-.96-.338a27.758 27.758 0 0 0-9.241-1.595c-15.612 0-28.313 12.814-28.313 28.566 0 15.69 12.593 28.468 28.114 28.575l1.238-.012V118z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M313.564 239.159c2.37 0 4.339-1.836 4.764-3.971h-9.532c.427 2.135 2.393 3.971 4.768 3.971zm17.121-10.081c-2.022-1.032-3.055-5.128-3.055-12.219 0-9.071-1.075-20.263-14.255-20.263s-14.255 11.191-14.255 20.263c0 7.091-1.018 11.201-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073h30.547c3.565 0 3.294-3.431 2.037-4.073z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path d=\\\"M312 196.644c-11.876.762-12.88 11.471-12.88 20.216 0 7.091-1.018 11.2-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073H312v-36.508z\\\" class=\\\"msportalfx-svg-c15\\\"></path></g></svg>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"showPin\": false,\n                  \"name\": \"Image\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<span style=\\\"color: #000000; font-family: Babas; font-size: 2em;\\\">Get more visibility into the usage and performance of your Azure Synapse Dedicated SQL Pool</span>\\r\\n\\r\\nThis section provides additional monitoring coverage that is based on diagnostic logs.</br>\\r\\n\\r\\nIf you have not activated monitoring in diagnostic settings, you must enable the **ExecRequests** and **RequestSteps** logs and send them to a Log Analytics workspace. You may choose to enable the **SQLSecurityAuditEvents** table at the same time to take full advantage of this monitoring workbook. [Learn more](https://docs.microsoft.com/en-us/azure/synapse-analytics/monitoring/how-to-monitor-using-azure-monitor#logs)</div>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"name\": \"text - 2\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"paragraph\",\n                    \"links\": [\n                      {\n                        \"id\": \"f4df7a1e-2124-4620-9005-f9b66e47f550\",\n                        \"cellValue\": \"{DatabaseResourceName}\",\n                        \"linkTarget\": \"Resource\",\n                        \"linkLabel\": \"Configure Logs for Monitoring >\",\n                        \"subTarget\": \"diagnostics\",\n                        \"preText\": \"\",\n                        \"postText\": \"\",\n                        \"style\": \"primary\"\n                      }\n                    ]\n                  },\n                  \"customWidth\": \"70\",\n                  \"name\": \"links - 8\"\n                }\n              ]\n            },\n            \"customWidth\": \"90\",\n            \"name\": \"Onboarding Message - Not onboarded yet\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isNotEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"disabled\"\n        }\n      ],\n      \"name\": \"DiagnosticsDisabledGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"# Use this page to search the audit logs for a particular query\\r\\nYou can search using a combination of: \\r\\n* Date: Set the time range using the parameter at the top of the workbook\\r\\n* User: only show queries for the specified user\\r\\n* Application: only show queries submitted by the specified application\\r\\n* Query Text Snippet(s) - mutliple fields are provided, if you enter data into multiple fields then it will look for all of those values combined in the results\\r\\nYou can then sort your results in teh chart below by duration or affected rows to find what you are looking for.\\r\\n\\r\\nNOTE: query text is limited to the first 4,000 characters\"\n            },\n            \"name\": \"text - 3\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ServerPrincipalName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ApplicationName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"add4bc9a-505f-4d22-9ba2-882be91adde0\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"value\": \"\"\n                },\n                {\n                  \"id\": \"b78f8304-3dad-4b47-a624-380f6664dc35\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet2\",\n                  \"type\": 1,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"value\": \"\"\n                },\n                {\n                  \"id\": \"516249a7-52fe-4ec4-9826-6f1b756405a8\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet3\",\n                  \"type\": 1,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formHorizontal\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 7\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement has '{QueryTextSnippet}' and Statement has '{QueryTextSnippet2}' and Statement has '{QueryTextSnippet3}'\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, QueryEndTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), AffectedRows, Statement, QuerySource = ApplicationName \\r\\n    | project-reorder DatabaseName, UserName, Host, QueryEndTime, duration_seconds, AffectedRows,Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"showAnalytics\": true,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Statement\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"96.4286ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"AffectedRows\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"AffectedRows\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"showPin\": true,\n            \"name\": \"query - 0 - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"AuditSearch\"\n        },\n        {\n          \"parameterName\": \"AuditingState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"AuditSearchGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"Workbook version: v1.0\",\n        \"style\": \"info\"\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Overview\"\n      },\n      \"customWidth\": \"15\",\n      \"name\": \"version\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"Azure Monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/DedicatedSqlPool_Non-Workspace_v1.32.workbook",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{LogAnalyticsWorkspace}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| distinct ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 14400000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct Resource \",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 604800000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName_s\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n      },\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Overview\",\n            \"subTarget\": \"Workload\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Investigation\",\n            \"subTarget\": \"QueryInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"5ff681ee-e005-481f-b743-b66ab1b9d71d\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Session Investigation\",\n            \"subTarget\": \"SessionInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Audit\",\n            \"subTarget\": \"QueryAudit\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"db43bb45-1611-47ce-a2ad-517943f2aa1a\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"AutoStats\",\n            \"subTarget\": \"Statistics\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"DWU Percentage\"\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cpu_percent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-queued_queries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": \"WorkloadGroupName\"\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render barchart   \\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Query Completion Count by End Time - 5m buckets\",\n                    \"color\": \"redBright\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"name\": \"query - 4\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"Use the buttons below to filter the next chart for Success or Failed queries. In many cases a failed query may not have a 'Command' column populated depending on what stage the query failed in. \",\n                    \"style\": \"info\"\n                  },\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"8e89112f-c67f-42c0-9622-02fa306fb7a5\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Queries\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"6abe39c7-4d4e-4c45-aa54-dc9a4c5e876e\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"Completed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"e41b4a0b-8464-491e-92be-a57217d6dcac\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"Failed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 11\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=max(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=min(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n//| where End_Time > ago(365d)\\r\\n| where Status has '{QueryCompletionType}'\\r\\n| order by Submit_Time\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Query Completions - use above buttons to filter\",\n                    \"color\": \"redBright\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"name\": \"query - 4 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Query Completions\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_successful\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_failed\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents'  and  LogicalServerName_s == 'lasr-sqldwdb-eastus2-prd'\\r\\n    | where action_name_s in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | project SourceSystem,client_tls_version_d,succeeded_s,session_id_d,client_ip_s,session_server_principal_name_s,server_principal_name_s,database_principal_name_s,application_name_s,host_name_s,TimeGenerated\\r\\n    | summarize count() by succeeded_s,bin(TimeGenerated,1m)\\r\\n    | render barchart\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null\n                    }\n                  },\n                  \"name\": \"query - 8\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"2ed22e0a-2b53-4ed0-8f65-d2c621f34dad\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Authentications\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"2789ab13-ae8a-472e-bad4-9c9bdc934d4d\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"true\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"5cf4ddd4-e189-4b71-b456-0d4f1572a0a3\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"false\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 10\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents'  and  LogicalServerName_s == 'lasr-sqldwdb-eastus2-prd'\\r\\n    | where action_name_s in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | where succeeded_s has '{AuthResult}'\\r\\n    | project SourceSystem,client_tls_version_d,succeeded_s,session_id_d,client_ip_s,session_server_principal_name_s,server_principal_name_s,database_principal_name_s,application_name_s,host_name_s,TimeGenerated\\r\\n    | order by TimeGenerated\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"noDataMessage\": \"Please select a button above\",\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null,\n                      \"showLegend\": true\n                    }\n                  },\n                  \"name\": \"query - 8 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Database Authentication Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_used_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_hit_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Workload\"\n      },\n      \"name\": \"group - 1\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"TempDB \",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nAzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 0\\r\\n| summarize sum(RowCount_d) by RequestId_s, OperationType_s\\r\\n| order by sum_RowCount_d desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId_s\",\n                \"group\": \"OperationType_s\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = AzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 100000000\\r\\n| extend Step_Elapsed_Min = round((EndTime_t - StartTime_t)/1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType_s == 'BroadcastMoveOperation', (RowCount_d*20), RowCount_d)),RowCount_d)\\r\\n| project-rename StepStatus = Status_s, StepStart = StartTime_t, StepEnd = EndTime_t//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId_s,OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex_d,Resource;\\r\\nRequestSteps | join (AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder Session_ID, Request_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex_d, OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}'\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"showAnalytics\": true,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}' //Put your QueryID here\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"TempDB\"\n      },\n      \"name\": \"group - 3\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Investigation\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Search Criteria\\r\\nUse the following fields to search either using a query text snippet or using a Request ID. If using a query text snippet, try to keep it as simple as possible becuase minor changes in formatting may cause your queries not to show up in the results. It's best to pick something like a table name, then choose the proper query from the list that will populate. \"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0c2128d0-d979-4562-a28c-e7ceb955f126\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                },\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Command has '{QueryTextSnippet}'\\r\\nand RequestId_s has '{RequestIdSearch}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| order by elapsedTime_sec\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n    Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n    Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n    SampleQID = any(RequestId_s),\\r\\n    SampleSessionID = any(Session_ID)\\r\\n    by Command\\r\\n| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Matching Queries\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleSessionID\",\n                  \"parameterName\": \"Samp\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where RequestId_s == '{SampleQID}'\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=min(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| join kind=inner\\r\\n    (AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n    | extend elapsedTime_sec = (End_Time - Submit_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n    | extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Session_ID1,Submit_Time1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1,CompileTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),min(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"1191e58a-c1f9-4853-b36b-4be8eecbb48f\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_Submit_Time\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId}'\\r\\n    | summarize \\r\\n        Submit_Time=min(SubmitTime_t)\\r\\n        by RequestId_s\\r\\n        | project Submit_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"f6bcb2a4-3356-4110-ba13-99c7d13a26f0\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_End_Compile_Time\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId}'\\r\\n    | summarize \\r\\n        End_Compile_Time=max(EndCompileTime_t) \\r\\n        by RequestId_s\\r\\n        | project End_Compile_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == 'LASR-SQLDWDB-PRD'\\r\\n        | where StatementType_s =='CreateStatistics'\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n        | where Submit_Time > datetime('{Query_Submit_Time}') and End_Time < datetime('{Query_End_Compile_Time}')// or RequestId_s == '{RequestId}'\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"All possibly related auto-stats statements based on time\",\n              \"noDataMessage\": \"no auto stats statements found that could be related\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"All possibly related auto-stats statements\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryInvestigation\"\n      },\n      \"name\": \"group - 4\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Replicated Tables\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId_s) by Command_s\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command_s\",\n              \"exportParameterName\": \"QueryText\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s == \\\"{QueryText}\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s, bin(TimeGenerated,24h)\\r\\n| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"noDataMessage\": \" Only tables with more than 7 total rebuilds will show up. If no talbes with that many rebuilds are found this chart will be empty\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),      Request_ID=max(RequestId_s),      Submit_Time=max(SubmitTime_t),      Start_Time=max(StartTime_t),      End_Time=max(EndTime_t),      Command=max(Command_s),       Statement_Type=max(StatementType_s),     Resource_class=max(ResourceClass_s)      by RequestId_s\\r\\n| join kind= inner\\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    //| where StatementType_s !in ('Batch','Execute')\\r\\n    | where StatementType_s == 'BuildReplicatedTableCache'\\r\\n    | where EndTime_t > ago(7d)\\r\\n    | where StartTime_t > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime_t - StartTime_t)/1m\\r\\n    //| extend elapsedTime_min = elapsedTime/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project Request_ID=RequestId_s,elapsedTime_min \\r\\n)\\r\\non Request_ID\\r\\n| order by elapsedTime_min desc\\r\\n| project Request_ID,Submit_Time,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestId\",\n              \"exportDefaultValue\": \"999999\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"ReplicatedTables\"\n      },\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload Management\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook8d175f6c-427b-47fc-85ea-37edd0be707c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_queued_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Queued Queries by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"Queued Queries by Workload Group\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroupName\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\nand Resource == '{DatabaseName}'\\r\\n and ResourceClass_s != \\\"\\\"\\r\\n| distinct ResourceClass_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 604800000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_queued_queries\",\n                  \"aggregation\": 1\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"3\",\n                  \"key\": \"WorkloadGroupName\",\n                  \"operator\": 0,\n                  \"valueParam\": \"WorkloadGroupName\"\n                }\n              ],\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"WorkloadManagement\"\n      },\n      \"name\": \"group - 6\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Audit\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\\r\\nSQL Auditing must be enabled and sending to the same Log Analytics Workspace for this page to work. \"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by server_principal_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by application_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This next chart is a work in progress\\r\\nThe next chart uses an approximate join based on end time. If the Exec Requests Query Text and the Audit Log Query text don't match up, then it is likely not a real match and the data in teh row shoudl not be trusted. \",\n              \"style\": \"warning\"\n            },\n            \"name\": \"text - 7\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) ,\\r\\n    Query_ElapsedTime_s=round((max(EndTime_t) - max(StartTime_t))/1s)\\r\\n    by RequestId_s\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime_s,Status,Query = Query_Text,Resource_class\\r\\n| join kind = rightouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n   // | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, statement_s, QuerySource\\r\\n) on EventTime\\r\\n    | order by affected_rows_d desc\\r\\n| project Session_ID,RequestID=RequestId_s,Submit_time=Query_Submit_Time,Start_Time=Query_Start_Time,End_Time=EventTime,Status,Resource_class,UserName,Exec_request_text=Query,Audit_Query_text=statement_s,Host,QuerySource,Affected_rows=affected_rows_d,num_steps,max_step_rows,max_step_sec,Total_Duration_s=duration_seconds\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n| extend Duration = round(duration_milliseconds_d /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(event_time_t, 1d), TimeBin\",\n              \"size\": 0,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) ,\\r\\n    Query_ElapsedTime_s=round((max(EndTime_t) - max(StartTime_t))/1s)\\r\\n    by RequestId_s\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime_s,Status,Query = Query_Text,Resource_class\\r\\n| join kind = rightouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n   // | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, statement_s, QuerySource\\r\\n) on EventTime\\r\\n    | order by affected_rows_d desc\\r\\n| project Session_ID,RequestID=RequestId_s,Submit_time=Query_Submit_Time,Start_Time=Query_Start_Time,End_Time=EventTime,Status,Resource_class,UserName,Query_text=statement_s,Host,QuerySource,Affected_rows=affected_rows_d,num_steps,max_step_rows,max_step_sec,Total_Duration_s=duration_seconds\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Affected Rows By Session ID\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"linechart\",\n              \"chartSettings\": {\n                \"xAxis\": \"RequestID\",\n                \"yAxis\": [\n                  \"Affected_rows\"\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryAudit\"\n      },\n      \"name\": \"QueryAuditGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Comparison\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"7fa3187e-9225-4faa-8f80-dc1bc40c5aab\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId1\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"315fc476-469a-4d8d-b421-028d1113ab06\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId2\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute') and RequestId_s == '{RequestId1}'\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=min(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Session_ID,Request_ID,ElapsedTime_min,Command,Resource_class,Submit_Time,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute') and RequestId_s == '{RequestId2}'\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=min(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Session_ID,Request_ID,ElapsedTime_min,Command,Resource_class,Submit_Time,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId1}'\\r\\n| summarize StartTime=max(StartTime_t)\\r\\n    ,EndTime=max(EndTime_t)\\r\\n    ,RequestID=max(RequestId_s)\\r\\n    ,Operation=max(OperationType_s)\\r\\n    ,RowCount=max(RowCount_d)\\r\\n    ,Command=max(Command_s)\\r\\n    ,Status=max(Status_s)\\r\\n     by StepIndex_d\\r\\n| order by StepIndex_d asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex_d\",\n              \"size\": 3,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4\",\n            \"styleSettings\": {\n              \"margin\": \"0\",\n              \"padding\": \"10px\"\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId2}'\\r\\n| summarize StartTime=max(StartTime_t)\\r\\n    ,EndTime=max(EndTime_t)\\r\\n    ,RequestID=max(RequestId_s)\\r\\n    ,Operation=max(OperationType_s)\\r\\n    ,RowCount=max(RowCount_d)\\r\\n    ,Command=max(Command_s)\\r\\n    ,Status=max(Status_s)\\r\\n     by StepIndex_d\\r\\n| order by StepIndex_d asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex_d\",\n              \"size\": 3,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4 - Copy\",\n            \"styleSettings\": {\n              \"padding\": \"10px\"\n            }\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"03d1c3ba-0d28-4584-bb63-388f8477034a\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_Submit_Time1\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId1}'\\r\\n    | summarize \\r\\n        Submit_Time=min(SubmitTime_t)\\r\\n        by RequestId_s\\r\\n        | project Submit_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"af36efd7-c5a0-429e-8908-a24e22ee6087\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_End_Compile_Time1\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId1}'\\r\\n    | summarize \\r\\n        End_Compile_Time=max(EndCompileTime_t) \\r\\n        by RequestId_s\\r\\n        | project End_Compile_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_Submit_Time2\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId2}'\\r\\n    | summarize \\r\\n        Submit_Time=min(SubmitTime_t)\\r\\n        by RequestId_s\\r\\n        | project Submit_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                  \"id\": \"3e691c5e-2c25-4b1a-b845-032901fb08b6\"\n                },\n                {\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_End_Compile_Time2\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId2}'\\r\\n    | summarize \\r\\n        End_Compile_Time=max(EndCompileTime_t) \\r\\n        by RequestId_s\\r\\n        | project End_Compile_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                  \"id\": \"6dd3ddbe-09bd-485f-b202-296f391ede6d\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 6 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s =='CreateStatistics'\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        //Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        //Start_Time=max(StartTime_t),\\r\\n        //End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n        | where Submit_Time > datetime('{Query_Submit_Time1}') and End_Time < datetime('{Query_End_Compile_Time1}') and End_Time > ago(30d)\\r\\n| project Command, Status=Last_Status ,Submit_Time,End_Time,Session_ID,Request_ID=RequestId_s,Statement_Type\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All possibly related auto-stats statements based on time\",\n              \"noDataMessage\": \"no auto stats statements found that could be related\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"End_Time\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"End_Time\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"All possibly related auto-stats statements - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s =='CreateStatistics'\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        //Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        //Start_Time=max(StartTime_t),\\r\\n        //End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n        | where Submit_Time > datetime('{Query_Submit_Time2}') and End_Time < datetime('{Query_End_Compile_Time2}') and End_Time > ago(30d)\\r\\n| project Command, Status=Last_Status ,Submit_Time,End_Time,Session_ID,Request_ID=RequestId_s,Statement_Type\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All possibly related auto-stats statements based on time\",\n              \"noDataMessage\": \"no auto stats statements found that could be related\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"All possibly related auto-stats statements - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryComparison\"\n      },\n      \"name\": \"QueryComparison\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Session Investigation\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"feb2ac70-2555-456e-bfa6-6ad4a2dcad0f\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SessionID\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 0\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"The matching of the user information in the next chart is approximate. This information is a work in progress\",\n              \"style\": \"warning\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Query_End_Time = max(EndTime_t ) by SessionId_s\\r\\n| where SessionId_s == '{SessionID}'\\r\\n| join kind = rightouter \\r\\n(  \\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' \\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version' and statement_s != 'SELECT @@SPID;' and server_principal_name_s != '##MS_InstanceCertificate##'\\r\\n) on $left.Query_End_Time==$right.event_time_t \\r\\n| summarize DatabaseName= max(database_name_s)\\r\\n    , UserName= any(server_principal_name_s)\\r\\n    , Host= max(host_name_s)\\r\\n    , Application=max(application_name_s)\\r\\n     by SessionId_s\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"showAnalytics\": true,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"table\",\n              \"tileSettings\": {\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\"\n                },\n                \"subtitleContent\": {\n                  \"columnMatch\": \"SessionId_s\"\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Application\"\n                },\n                \"rightContent\": {\n                  \"columnMatch\": \"Host\"\n                },\n                \"secondaryContent\": {\n                  \"columnMatch\": \"DatabaseName\"\n                },\n                \"showBorder\": false,\n                \"size\": \"full\"\n              },\n              \"graphSettings\": {\n                \"type\": 0\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s),   \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Session_ID has '{SessionID}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| order by Submit_Time asc\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"RequestId_s\",\n              \"exportParameterName\": \"RequestID\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize Start_Time=max(StartTime_t),End_Time=max(EndTime_t),Request_ID=max(RequestId_s),Operation_Type=max(OperationType_s),Row_Count=max(RowCount_d),Statement=max(Command_s),Status=min(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"showExportToExcel\": true,\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 2\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"SessionInvestigation\"\n      },\n      \"name\": \"group - 9\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This tab is used to determine what statements triggerred autostats creation jobs. \\r\\nThe flow of autostats creation is as follows\\r\\n1. Query Submit Time\\r\\n2. \\tCreate Statistics submit Time\\r\\n3. \\tCreate Statistics end Time\\r\\n4. Query end_compile_time\\r\\n5. Query Start_Time\\r\\n6. Query End_Time\\r\\n\\r\\nFurther, if multiple stats are created, then the creation of all stats for this query will fall between query submit_time and end_compile_time. \\r\\n\\r\\nThe charts on this page allow you to search for an autostats job by requestID or my snippet of the autostats statement text, which can just be the schema, table, or column name. Then it will show you all commands that include that request ID or text. It will then show you all statements in the create stat statement because the query we are trying to identify will wait for all of those stats creations to complete before proceeding. \\r\\n\\r\\nThe last chart will list out all statements that could possibly have triggerred the stats creation job based on their submite/end_compile_time. \"\n            },\n            \"name\": \"text - 6\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0911bd4b-d471-480b-bdf4-1a2d4ba1ea6e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"RequestId for AutoStats Job\"\n                },\n                {\n                  \"id\": \"c12e6495-4fd1-473c-8ffc-0bf502f54706\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"label\": \"Snippet of autostats creation statement (Schema, table or column)\"\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Command has '{QueryTextSnippet}'\\r\\nand RequestId_s has '{RequestIdSearch}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| order by elapsedTime_sec\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n    Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n    Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n    SampleQID = any(RequestId_s),\\r\\n    SampleSessionID = any(Session_ID)\\r\\n    by Command\\r\\n| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Queries\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleSessionID\",\n                  \"parameterName\": \"Samp\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where RequestId_s == '{SampleQID}'\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=min(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| join kind=inner\\r\\n    (AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n    | extend elapsedTime_sec = (End_Time - Submit_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n    | extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Session_ID1,Submit_Time1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,elapsedTime_sec1,CompileTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"Request_ID1\",\n                  \"parameterName\": \"RequestId\"\n                },\n                {\n                  \"fieldName\": \"End_Time1\",\n                  \"parameterName\": \"StatEndTime\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Submit_Time1\",\n                  \"parameterName\": \"StatSubmitTime\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Session_ID1\",\n                  \"parameterName\": \"SessionId\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"End_Time1\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"End_Time1\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s !in ('Batch','Execute')\\r\\n        | where SessionId_s == '{SessionId}'\\r\\n        | summarize \\r\\n            Session_ID=max(SessionId_s), \\r\\n            Request_ID=max(RequestId_s),  \\r\\n            Submit_Time=min(SubmitTime_t), \\r\\n            Start_Time=max(StartTime_t),\\r\\n            End_Compile_Time=max(EndCompileTime_t), \\r\\n            End_Time=max(EndTime_t), \\r\\n            Command=max(Command_s), \\r\\n            Last_Status=min(Status_s),\\r\\n            Statement_Type=max(StatementType_s),\\r\\n            Resource_class=max(ResourceClass_s) \\r\\n            by RequestId_s\\r\\n| project Session_ID,Request_ID,Submit_Time,End_Compile_Time,Start_Time,End_Time,Last_Status,Statement_Type,Command\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Statements in Stats Statement Session\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"4e005821-785a-4246-aae8-de00987cba18\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Session_Submit_Time\",\n                  \"type\": 1,\n                  \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SessionId_s == '{SessionId}'\\r\\n| summarize \\r\\n    Session_Submit_Time=min(SubmitTime_t) \\r\\n    by SessionId_s\\r\\n| project Session_Submit_Time\\r\\n\\r\\n\\r\\n\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 259200000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"b046db56-e6b3-4f3d-afb3-9687240c21f1\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Session_End_Time\",\n                  \"type\": 1,\n                  \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SessionId_s == '{SessionId}'\\r\\n| summarize \\r\\n    Session_End_Time=max(EndTime_t) \\r\\n    by SessionId_s\\r\\n| project Session_End_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 259200000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 7\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SubmitTime_t < datetime('{Session_Submit_Time}') and EndCompileTime_t > datetime('{Session_End_Time}') or RequestId_s == '{RequestId}'\\r\\n| summarize by RequestId_s\\r\\n| join kind=inner\\r\\n    (\\r\\n        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s !in ('Batch','Execute')\\r\\n        | summarize \\r\\n            Session_ID=max(SessionId_s), \\r\\n            Request_ID=max(RequestId_s),  \\r\\n            Submit_Time=min(SubmitTime_t), \\r\\n            Start_Time=max(StartTime_t),\\r\\n            End_Compile_Time=max(EndCompileTime_t), \\r\\n            End_Time=max(EndTime_t), \\r\\n            Command=max(Command_s), \\r\\n            Last_Status=min(Status_s),\\r\\n            Statement_Type=max(StatementType_s),\\r\\n            Resource_class=max(ResourceClass_s) \\r\\n            by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by End_Compile_Time\\r\\n| project Session_ID,Request_ID,Submit_Time,End_Compile_Time,Start_Time,End_Time,Last_Status,Statement_Type,Command\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Query Executions that could have triggered Stats Statement based on Time of total session\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Statistics\"\n      },\n      \"name\": \"statistics\"\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"Azure Monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/StandaloneSqlPoolWorkbook_v1.31.json",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{LogAnalyticsWorkspace}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| distinct ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 14400000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct Resource \",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 604800000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName_s\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n      },\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload\",\n            \"subTarget\": \"Workload\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Investigation\",\n            \"subTarget\": \"QueryInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"5ff681ee-e005-481f-b743-b66ab1b9d71d\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Session Investigation\",\n            \"subTarget\": \"SessionInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Audit\",\n            \"subTarget\": \"QueryAudit\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"db43bb45-1611-47ce-a2ad-517943f2aa1a\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"AutoStats\",\n            \"subTarget\": \"Statistics\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"DWU Percentage\"\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cpu_percent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-queued_queries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": \"WorkloadGroupName\"\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render barchart   \\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Query Completion Count by End Time - 5m buckets\",\n                    \"color\": \"redBright\",\n                    \"timeContext\": {\n                      \"durationMs\": 14400000\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"name\": \"query - 4\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"Use the buttons below to filter the next chart for Success or Failed queries. In many cases a failed query may not have a 'Command' column populated depending on what stage the query failed in. \",\n                    \"style\": \"info\"\n                  },\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"8e89112f-c67f-42c0-9622-02fa306fb7a5\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Queries\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"6abe39c7-4d4e-4c45-aa54-dc9a4c5e876e\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"Completed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"e41b4a0b-8464-491e-92be-a57217d6dcac\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"Failed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 11\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=max(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=min(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n//| where End_Time > ago(365d)\\r\\n| where Status has '{QueryCompletionType}'\\r\\n| order by Submit_Time\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Query Completions - use above buttons to filter\",\n                    \"color\": \"redBright\",\n                    \"timeContext\": {\n                      \"durationMs\": 14400000\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"name\": \"query - 4 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Query Completions\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_successful\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_failed\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents'  and  LogicalServerName_s == 'lasr-sqldwdb-eastus2-prd'\\r\\n    | where action_name_s in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | project SourceSystem,client_tls_version_d,succeeded_s,session_id_d,client_ip_s,session_server_principal_name_s,server_principal_name_s,database_principal_name_s,application_name_s,host_name_s,TimeGenerated\\r\\n    | summarize count() by succeeded_s,bin(TimeGenerated,1m)\\r\\n    | render barchart\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"timeContext\": {\n                      \"durationMs\": 14400000\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null\n                    }\n                  },\n                  \"name\": \"query - 8\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"2ed22e0a-2b53-4ed0-8f65-d2c621f34dad\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Authentications\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"2789ab13-ae8a-472e-bad4-9c9bdc934d4d\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"true\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"5cf4ddd4-e189-4b71-b456-0d4f1572a0a3\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"false\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 10\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents'  and  LogicalServerName_s == 'lasr-sqldwdb-eastus2-prd'\\r\\n    | where action_name_s in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | where succeeded_s has '{AuthResult}'\\r\\n    | project SourceSystem,client_tls_version_d,succeeded_s,session_id_d,client_ip_s,session_server_principal_name_s,server_principal_name_s,database_principal_name_s,application_name_s,host_name_s,TimeGenerated\\r\\n    | order by TimeGenerated\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"noDataMessage\": \"Please select a button above\",\n                    \"timeContext\": {\n                      \"durationMs\": 14400000\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null,\n                      \"showLegend\": true\n                    }\n                  },\n                  \"name\": \"query - 8 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Database Authentication Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_used_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_hit_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Workload\"\n      },\n      \"name\": \"group - 1\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"TempDB \",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nAzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 0\\r\\n| summarize sum(RowCount_d) by RequestId_s, OperationType_s\\r\\n| order by sum_RowCount_d desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId_s\",\n                \"group\": \"OperationType_s\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = AzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 100000000\\r\\n| extend Step_Elapsed_Min = round((EndTime_t - StartTime_t)/1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType_s == 'BroadcastMoveOperation', (RowCount_d*20), RowCount_d)),RowCount_d)\\r\\n| project-rename StepStatus = Status_s, StepStart = StartTime_t, StepEnd = EndTime_t//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId_s,OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex_d,Resource;\\r\\nRequestSteps | join (AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder Session_ID, Request_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex_d, OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}'\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}' //Put your QueryID here\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"TempDB\"\n      },\n      \"name\": \"group - 3\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Investigation\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Search Criteria\\r\\nUse the following fields to search either using a query text snippet or using a Request ID. If using a query text snippet, try to keep it as simple as possible becuase minor changes in formatting may cause your queries not to show up in the results. It's best to pick something like a table name, then choose the proper query from the list that will populate. \"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0c2128d0-d979-4562-a28c-e7ceb955f126\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                },\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Command has '{QueryTextSnippet}'\\r\\nand RequestId_s has '{RequestIdSearch}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| order by elapsedTime_sec\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n    Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n    Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n    SampleQID = any(RequestId_s),\\r\\n    SampleSessionID = any(Session_ID)\\r\\n    by Command\\r\\n| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Queries\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleSessionID\",\n                  \"parameterName\": \"Samp\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where RequestId_s == '{SampleQID}'\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=min(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| join kind=inner\\r\\n    (AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n    | extend elapsedTime_sec = (End_Time - Submit_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n    | extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Session_ID1,Submit_Time1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1,CompileTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),min(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"1191e58a-c1f9-4853-b36b-4be8eecbb48f\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_Submit_Time\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId}'\\r\\n    | summarize \\r\\n        Submit_Time=min(SubmitTime_t)\\r\\n        by RequestId_s\\r\\n        | project Submit_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"f6bcb2a4-3356-4110-ba13-99c7d13a26f0\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_End_Compile_Time\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId}'\\r\\n    | summarize \\r\\n        End_Compile_Time=max(EndCompileTime_t) \\r\\n        by RequestId_s\\r\\n        | project End_Compile_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == 'LASR-SQLDWDB-PRD'\\r\\n        | where StatementType_s =='CreateStatistics'\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n        | where Submit_Time > datetime('{Query_Submit_Time}') and End_Time < datetime('{Query_End_Compile_Time}')// or RequestId_s == '{RequestId}'\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All possibly related auto-stats statements based on time\",\n              \"noDataMessage\": \"no auto stats statements found that could be related\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"All possibly related auto-stats statements\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryInvestigation\"\n      },\n      \"name\": \"group - 4\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Replicated Tables\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId_s) by Command_s\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command_s\",\n              \"exportParameterName\": \"QueryText\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s == \\\"{QueryText}\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s, bin(TimeGenerated,24h)\\r\\n| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"noDataMessage\": \" Only tables with more than 7 total rebuilds will show up. If no talbes with that many rebuilds are found this chart will be empty\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),      Request_ID=max(RequestId_s),      Submit_Time=max(SubmitTime_t),      Start_Time=max(StartTime_t),      End_Time=max(EndTime_t),      Command=max(Command_s),       Statement_Type=max(StatementType_s),     Resource_class=max(ResourceClass_s)      by RequestId_s\\r\\n| join kind= inner\\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    //| where StatementType_s !in ('Batch','Execute')\\r\\n    | where StatementType_s == 'BuildReplicatedTableCache'\\r\\n    | where EndTime_t > ago(7d)\\r\\n    | where StartTime_t > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime_t - StartTime_t)/1m\\r\\n    //| extend elapsedTime_min = elapsedTime/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project Request_ID=RequestId_s,elapsedTime_min \\r\\n)\\r\\non Request_ID\\r\\n| order by elapsedTime_min desc\\r\\n| project Request_ID,Submit_Time,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestId\",\n              \"exportDefaultValue\": \"999999\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"ReplicatedTables\"\n      },\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload Management\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook8d175f6c-427b-47fc-85ea-37edd0be707c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_queued_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Queued Queries by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"Queued Queries by Workload Group\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroupName\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\nand Resource == '{DatabaseName}'\\r\\n and ResourceClass_s != \\\"\\\"\\r\\n| distinct ResourceClass_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 604800000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_queued_queries\",\n                  \"aggregation\": 1\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"3\",\n                  \"key\": \"WorkloadGroupName\",\n                  \"operator\": 0,\n                  \"valueParam\": \"WorkloadGroupName\"\n                }\n              ],\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"WorkloadManagement\"\n      },\n      \"name\": \"group - 6\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Audit\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\\r\\nSQL Auditing must be enabled and sending to the same Log Analytics Workspace for this page to work. \"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by server_principal_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by application_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This next chart is a work in progress\\r\\nThe next chart uses an approximate join based on end time. If the Exec Requests Query Text and the Audit Log Query text don't match up, then it is likely not a real match and the data in teh row shoudl not be trusted. \",\n              \"style\": \"warning\"\n            },\n            \"name\": \"text - 7\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) ,\\r\\n    Query_ElapsedTime_s=round((max(EndTime_t) - max(StartTime_t))/1s)\\r\\n    by RequestId_s\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime_s,Status,Query = Query_Text,Resource_class\\r\\n| join kind = rightouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n   // | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, statement_s, QuerySource\\r\\n) on EventTime\\r\\n    | order by affected_rows_d desc\\r\\n| project Session_ID,RequestID=RequestId_s,Submit_time=Query_Submit_Time,Start_Time=Query_Start_Time,End_Time=EventTime,Status,Resource_class,UserName,Exec_request_text=Query,Audit_Query_text=statement_s,Host,QuerySource,Affected_rows=affected_rows_d,num_steps,max_step_rows,max_step_sec,Total_Duration_s=duration_seconds\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n| extend Duration = round(duration_milliseconds_d /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(event_time_t, 1d), TimeBin\",\n              \"size\": 0,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) ,\\r\\n    Query_ElapsedTime_s=round((max(EndTime_t) - max(StartTime_t))/1s)\\r\\n    by RequestId_s\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime_s,Status,Query = Query_Text,Resource_class\\r\\n| join kind = rightouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n   // | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, statement_s, QuerySource\\r\\n) on EventTime\\r\\n    | order by affected_rows_d desc\\r\\n| project Session_ID,RequestID=RequestId_s,Submit_time=Query_Submit_Time,Start_Time=Query_Start_Time,End_Time=EventTime,Status,Resource_class,UserName,Query_text=statement_s,Host,QuerySource,Affected_rows=affected_rows_d,num_steps,max_step_rows,max_step_sec,Total_Duration_s=duration_seconds\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Affected Rows By Session ID\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"linechart\",\n              \"chartSettings\": {\n                \"xAxis\": \"RequestID\",\n                \"yAxis\": [\n                  \"Affected_rows\"\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryAudit\"\n      },\n      \"name\": \"QueryAuditGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Comparison\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"7fa3187e-9225-4faa-8f80-dc1bc40c5aab\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId1\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"315fc476-469a-4d8d-b421-028d1113ab06\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId2\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute') and RequestId_s == '{RequestId1}'\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=min(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Session_ID,Request_ID,ElapsedTime_min,Command,Resource_class,Submit_Time,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute') and RequestId_s == '{RequestId2}'\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=min(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Session_ID,Request_ID,ElapsedTime_min,Command,Resource_class,Submit_Time,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId1}'\\r\\n| summarize StartTime=max(StartTime_t)\\r\\n    ,EndTime=max(EndTime_t)\\r\\n    ,RequestID=max(RequestId_s)\\r\\n    ,Operation=max(OperationType_s)\\r\\n    ,RowCount=max(RowCount_d)\\r\\n    ,Command=max(Command_s)\\r\\n    ,Status=max(Status_s)\\r\\n     by StepIndex_d\\r\\n| order by StepIndex_d asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex_d\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4\",\n            \"styleSettings\": {\n              \"margin\": \"0\",\n              \"padding\": \"10px\"\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId2}'\\r\\n| summarize StartTime=max(StartTime_t)\\r\\n    ,EndTime=max(EndTime_t)\\r\\n    ,RequestID=max(RequestId_s)\\r\\n    ,Operation=max(OperationType_s)\\r\\n    ,RowCount=max(RowCount_d)\\r\\n    ,Command=max(Command_s)\\r\\n    ,Status=max(Status_s)\\r\\n     by StepIndex_d\\r\\n| order by StepIndex_d asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex_d\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4 - Copy\",\n            \"styleSettings\": {\n              \"padding\": \"10px\"\n            }\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"03d1c3ba-0d28-4584-bb63-388f8477034a\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_Submit_Time1\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId1}'\\r\\n    | summarize \\r\\n        Submit_Time=min(SubmitTime_t)\\r\\n        by RequestId_s\\r\\n        | project Submit_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"af36efd7-c5a0-429e-8908-a24e22ee6087\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_End_Compile_Time1\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId1}'\\r\\n    | summarize \\r\\n        End_Compile_Time=max(EndCompileTime_t) \\r\\n        by RequestId_s\\r\\n        | project End_Compile_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"03d1c3ba-0d28-4584-bb63-388f8477034a\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_Submit_Time2\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId2}'\\r\\n    | summarize \\r\\n        Submit_Time=min(SubmitTime_t)\\r\\n        by RequestId_s\\r\\n        | project Submit_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"af36efd7-c5a0-429e-8908-a24e22ee6087\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_End_Compile_Time2\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId2}'\\r\\n    | summarize \\r\\n        End_Compile_Time=max(EndCompileTime_t) \\r\\n        by RequestId_s\\r\\n        | project End_Compile_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 6 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s =='CreateStatistics'\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        //Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        //Start_Time=max(StartTime_t),\\r\\n        //End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n        | where Submit_Time > datetime('{Query_Submit_Time1}') and End_Time < datetime('{Query_End_Compile_Time1}') and End_Time > ago(30d)\\r\\n| project Command, Status=Last_Status ,Submit_Time,End_Time,Session_ID,Request_ID=RequestId_s,Statement_Type\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All possibly related auto-stats statements based on time\",\n              \"noDataMessage\": \"no auto stats statements found that could be related\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"End_Time\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"End_Time\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"All possibly related auto-stats statements - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s =='CreateStatistics'\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        //Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        //Start_Time=max(StartTime_t),\\r\\n        //End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n        | where Submit_Time > datetime('{Query_Submit_Time2}') and End_Time < datetime('{Query_End_Compile_Time2}') and End_Time > ago(30d)\\r\\n| project Command, Status=Last_Status ,Submit_Time,End_Time,Session_ID,Request_ID=RequestId_s,Statement_Type\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All possibly related auto-stats statements based on time\",\n              \"noDataMessage\": \"no auto stats statements found that could be related\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"All possibly related auto-stats statements - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryComparison\"\n      },\n      \"name\": \"QueryComparison\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Session Investigation\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"feb2ac70-2555-456e-bfa6-6ad4a2dcad0f\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SessionID\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 0\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"The matching of the user information in the next chart is approximate. This information is a work in progress\",\n              \"style\": \"warning\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Query_End_Time = max(EndTime_t ) by SessionId_s\\r\\n| where SessionId_s == '{SessionID}'\\r\\n| join kind = rightouter \\r\\n(  \\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' \\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version' and statement_s != 'SELECT @@SPID;' and server_principal_name_s != '##MS_InstanceCertificate##'\\r\\n) on $left.Query_End_Time==$right.event_time_t \\r\\n| summarize DatabaseName= max(database_name_s)\\r\\n    , UserName= any(server_principal_name_s)\\r\\n    , Host= max(host_name_s)\\r\\n    , Application=max(application_name_s)\\r\\n     by SessionId_s\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"table\",\n              \"tileSettings\": {\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\"\n                },\n                \"subtitleContent\": {\n                  \"columnMatch\": \"SessionId_s\"\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Application\"\n                },\n                \"rightContent\": {\n                  \"columnMatch\": \"Host\"\n                },\n                \"secondaryContent\": {\n                  \"columnMatch\": \"DatabaseName\"\n                },\n                \"showBorder\": false,\n                \"size\": \"full\"\n              },\n              \"graphSettings\": {\n                \"type\": 0\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s),   \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Session_ID has '{SessionID}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| order by Submit_Time asc\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"RequestId_s\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize Start_Time=max(StartTime_t),End_Time=max(EndTime_t),Request_ID=max(RequestId_s),Operation_Type=max(OperationType_s),Row_Count=max(RowCount_d),Statement=max(Command_s),Status=min(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 2\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"SessionInvestigation\"\n      },\n      \"name\": \"group - 9\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This tab is used to determine what statements triggerred autostats creation jobs. \\r\\nThe flow of autostats creation is as follows\\r\\n1. Query Submit Time\\r\\n2. \\tCreate Statistics submit Time\\r\\n3. \\tCreate Statistics end Time\\r\\n4. Query end_compile_time\\r\\n5. Query Start_Time\\r\\n6. Query End_Time\\r\\n\\r\\nFurther, if multiple stats are created, then the creation of all stats for this query will fall between query submit_time and end_compile_time. \\r\\n\\r\\nThe charts on this page allow you to search for an autostats job by requestID or my snippet of the autostats statement text, which can just be the schema, table, or column name. Then it will show you all commands that include that request ID or text. It will then show you all statements in the create stat statement because the query we are trying to identify will wait for all of those stats creations to complete before proceeding. \\r\\n\\r\\nThe last chart will list out all statements that could possibly have triggerred the stats creation job based on their submite/end_compile_time. \"\n            },\n            \"name\": \"text - 6\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0911bd4b-d471-480b-bdf4-1a2d4ba1ea6e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"RequestId for AutoStats Job\"\n                },\n                {\n                  \"id\": \"c12e6495-4fd1-473c-8ffc-0bf502f54706\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"label\": \"Snippet of autostats creation statement (Schema, table or column)\"\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Command has '{QueryTextSnippet}'\\r\\nand RequestId_s has '{RequestIdSearch}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| order by elapsedTime_sec\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n    Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n    Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n    SampleQID = any(RequestId_s),\\r\\n    SampleSessionID = any(Session_ID)\\r\\n    by Command\\r\\n| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Queries\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleSessionID\",\n                  \"parameterName\": \"Samp\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where RequestId_s == '{SampleQID}'\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=min(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| join kind=inner\\r\\n    (AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n    | extend elapsedTime_sec = (End_Time - Submit_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n    | extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Session_ID1,Submit_Time1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,elapsedTime_sec1,CompileTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"Request_ID1\",\n                  \"parameterName\": \"RequestId\"\n                },\n                {\n                  \"fieldName\": \"End_Time1\",\n                  \"parameterName\": \"StatEndTime\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Submit_Time1\",\n                  \"parameterName\": \"StatSubmitTime\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Session_ID1\",\n                  \"parameterName\": \"SessionId\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"End_Time1\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"End_Time1\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s !in ('Batch','Execute')\\r\\n        | where SessionId_s == '{SessionId}'\\r\\n        | summarize \\r\\n            Session_ID=max(SessionId_s), \\r\\n            Request_ID=max(RequestId_s),  \\r\\n            Submit_Time=min(SubmitTime_t), \\r\\n            Start_Time=max(StartTime_t),\\r\\n            End_Compile_Time=max(EndCompileTime_t), \\r\\n            End_Time=max(EndTime_t), \\r\\n            Command=max(Command_s), \\r\\n            Last_Status=min(Status_s),\\r\\n            Statement_Type=max(StatementType_s),\\r\\n            Resource_class=max(ResourceClass_s) \\r\\n            by RequestId_s\\r\\n| project Session_ID,Request_ID,Submit_Time,End_Compile_Time,Start_Time,End_Time,Last_Status,Statement_Type,Command\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Statements in Stats Statement Session\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"4e005821-785a-4246-aae8-de00987cba18\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Session_Submit_Time\",\n                  \"type\": 1,\n                  \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SessionId_s == '{SessionId}'\\r\\n| summarize \\r\\n    Session_Submit_Time=min(SubmitTime_t) \\r\\n    by SessionId_s\\r\\n| project Session_Submit_Time\\r\\n\\r\\n\\r\\n\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 259200000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"b046db56-e6b3-4f3d-afb3-9687240c21f1\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Session_End_Time\",\n                  \"type\": 1,\n                  \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SessionId_s == '{SessionId}'\\r\\n| summarize \\r\\n    Session_End_Time=max(EndTime_t) \\r\\n    by SessionId_s\\r\\n| project Session_End_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 259200000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 7\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SubmitTime_t < datetime('{Session_Submit_Time}') and EndCompileTime_t > datetime('{Session_End_Time}') or RequestId_s == '{RequestId}'\\r\\n| summarize by RequestId_s\\r\\n| join kind=inner\\r\\n    (\\r\\n        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s !in ('Batch','Execute')\\r\\n        | summarize \\r\\n            Session_ID=max(SessionId_s), \\r\\n            Request_ID=max(RequestId_s),  \\r\\n            Submit_Time=min(SubmitTime_t), \\r\\n            Start_Time=max(StartTime_t),\\r\\n            End_Compile_Time=max(EndCompileTime_t), \\r\\n            End_Time=max(EndTime_t), \\r\\n            Command=max(Command_s), \\r\\n            Last_Status=min(Status_s),\\r\\n            Statement_Type=max(StatementType_s),\\r\\n            Resource_class=max(ResourceClass_s) \\r\\n            by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by End_Compile_Time\\r\\n| project Session_ID,Request_ID,Submit_Time,End_Compile_Time,Start_Time,End_Time,Last_Status,Statement_Type,Command\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Query Executions that could have triggered Stats Statement based on Time of total session\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Statistics\"\n      },\n      \"name\": \"statistics\"\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"azure monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/SynapsePipelines.workbook",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"parameters\": [\n          {\n            \"id\": \"d49554d4-694d-4606-89aa-510d92eb95cd\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"value\": {\n              \"durationMs\": 604800000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                },\n                {\n                  \"durationMs\": 5184000000\n                },\n                {\n                  \"durationMs\": 7776000000\n                }\n              ]\n            },\n            \"label\": \"Time Range\"\n          },\n          {\n            \"id\": \"d0ad178a-e2af-4157-a902-86c94e4dad29\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 7776000000\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"label\": \"Log Analytics Subsciption\"\n          },\n          {\n            \"id\": \"fe0740a1-545a-47d0-9b91-acbd7034a551\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 7776000000\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\",\n            \"label\": \"Log Analytics Workspace\"\n          },\n          {\n            \"id\": \"fd3f9b36-6e8f-4396-8478-1c9c46174057\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DataFactory\",\n            \"label\": \"Synpase/Data Factory\",\n            \"type\": 5,\n            \"isGlobal\": true,\n            \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| distinct ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"resourceTypeFilter\": {\n                \"microsoft.datafactory/factories\": true,\n                \"microsoft.datafactory/datafactories\": true,\n                \"microsoft.synapse/workspaces\": true,\n                \"Microsoft.Synapse/workspaces\": true,\n                \"Microsoft.Synapse/workspaces/bigDataPools\": true,\n                \"Microsoft.Synapse/workspaces/kustopools\": true,\n                \"Microsoft.Synapse/workspaces/kustopools/databases\": true,\n                \"Microsoft.Synapse/workspaces/scopePools\": true,\n                \"Microsoft.Synapse/workspaces/sqlPools\": true\n              },\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 7776000000\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8dd2023d-6684-44e2-b910-82a0c0fbf879\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"pipeline\",\n            \"label\": \"Pipeline\",\n            \"type\": 2,\n            \"isGlobal\": true,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\")\\r\\n| project pipeId= strcat(ResourceId , PipelineName) , PipelineName\\r\\n//| distinct pipeId, PipelineName\\r\\n| distinct PipelineName\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::all\"\n              ],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"defaultValue\": \"value::all\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.resourcegraph/resources\"\n      },\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"e870a3f7-acab-4aac-93b8-35b8bab51c1c\",\n            \"cellValue\": \"selectedTab\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Overview Dashboard\",\n            \"subTarget\": \"overview\",\n            \"preText\": \"Overview Dashboard\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a773b8fc-30b4-480a-b1b2-a73653aa1fe5\",\n            \"cellValue\": \"selectedTab\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Pipeline Details\",\n            \"subTarget\": \"pipeline\",\n            \"preText\": \"Pipeline Details \",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 7\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| extend Resource = tostring(split(ResourceId, \\\"/\\\")[8])\\r\\n| summarize dcount(RunId) by Resource, ResourceId\\r\\n\",\n              \"size\": 1,\n              \"title\": \"⚙ Runs per Synapse/Datafactory\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"ResourceId\",\n              \"exportParameterName\": \"DataFactory\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"piechart\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"ResourceId\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"dcount_RunId\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"ySettings\": {}\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 2\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nlet T= allPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\")\\r\\n| where PipelineName in ({pipeline}) \\r\\n|summarize arg_max(TimeGenerated,* ) by RunId;\\r\\n\\r\\nT\\r\\n| summarize  Succeeded=dcountif(RunId, Status startswith \\\"Succeeded\\\"),Failed=dcountif(RunId, Status startswith \\\"Failed\\\"), Cancelled = dcountif(RunId, Status startswith \\\"Cancelled\\\") by PipelineName\\r\\n|render barchart with (series = PipelineName)\\r\\n\",\n              \"size\": 1,\n              \"title\": \"🎯 Runs per pipeline grouped by status\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Succeeded\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"green\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Failed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"red\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Cancelled\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"orange\"\n                    },\n                    \"numberFormat\": {\n                      \"unit\": 17,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  }\n                ]\n              },\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"dcount_RunId\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"dcount_RunId\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"PipelineName\",\n                \"seriesLabelSettings\": [\n                  {\n                    \"seriesName\": \"Succeeded\",\n                    \"color\": \"green\"\n                  },\n                  {\n                    \"seriesName\": \"Failed\",\n                    \"color\": \"red\"\n                  },\n                  {\n                    \"seriesName\": \"Cancelled\",\n                    \"color\": \"orange\"\n                  },\n                  {\n                    \"seriesName\": \"Total\",\n                    \"color\": \"blue\"\n                  }\n                ],\n                \"xSettings\": {},\n                \"ySettings\": {}\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 4 - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| extend endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend Duration = datetime_diff('Second',endd, Start) \\r\\n| summarize avg(Duration) by PipelineName\",\n              \"size\": 1,\n              \"aggregation\": 3,\n              \"title\": \"⏲ Average duration per pipeline\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Duration\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0\n              },\n              \"chartSettings\": {\n                \"showMetrics\": false,\n                \"showLegend\": true\n              }\n            },\n            \"customWidth\": \"34\",\n            \"name\": \"query - 5\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId, Link1 = \\\"https://ms.web.azuresynapse.net/en-us/monitoring/pipelineruns?workspace=\\\" , Link2 = \\\"https://ms.web.azuresynapse.net/en-us/monitoring/pipelineruns/\\\";\\r\\n\\r\\nlet df = ADFPipelineRun\\r\\n|extend Link1 = \\\"https://ms-adf.azure.com/monitoring/pipelineruns?factory=\\\", Link2 = \\\"https://ms-adf.azure.com/en-us/monitoring/pipelineruns/\\\", Link3= \\\"?factory=\\\";\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nlet allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\n\\r\\nlet T = allPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| extend StatusIcon = case(Status == \\\"Succeeded\\\", '🟢', \\r\\n                       Status == \\\"InProgress\\\", '🟡', \\r\\n                       Status == \\\"Queued\\\", '🔵',\\r\\n                       Status == \\\"Cancelled\\\",'🟠', \\r\\n                       Status == \\\"Failed\\\", '🔴', \\r\\n                       '0')\\r\\n|order by TimeGenerated;\\r\\n\\r\\n\\r\\n\\r\\n\\r\\nlet T2 = T\\r\\n| summarize commands_details = make_list(pack('status', StatusIcon, 'TimeGenerated', TimeGenerated)) by PipelineName\\r\\n| mv-apply command_details = commands_details on\\r\\n(\\r\\n    order by todatetime(command_details['TimeGenerated']) asc\\r\\n    | summarize make_list(command_details['status'])\\r\\n)\\r\\n| project-away commands_details \\r\\n| extend ['Last runs'] = strcat_array(list_command_details_status,'');\\r\\n\\r\\n\\r\\n\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by PipelineName\\r\\n| extend ParentId = ''\\r\\n        , Id = PipelineName\\r\\n        ,Link =  strcat(Link1, ResourceId)\\r\\n        , Resource = ResourceId\\r\\n        , endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend Duration = format_timespan(endd- Start,'hh:mm:ss') ,Pipeline =  strcat('🗜️ ', PipelineName) \\r\\n| join  T2 on PipelineName\\r\\n|project ParentId, Id , Resource, Pipeline, Status, Start, Duration, ['Last runs'], Link,TimeGenerated\\r\\n\\r\\n|union (T\\r\\n| extend ParentId = PipelineName\\r\\n        ,Id = RunId\\r\\n        ,Link = strcat(Link2,CorrelationId,\\\"?factory=\\\",ResourceId)\\r\\n        , endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n|extend Duration = format_timespan(endd- Start,'hh:mm:ss')  \\r\\n|project ParentId,Id, Status,Start,Duration,Link,TimeGenerated)\\r\\n|union (allActivites \\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by ActivityRunId\\r\\n| extend endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend  ParentId = PipelineRunId,Id = ActivityRunId,Link=\\\"\\\",Duration = format_timespan(endd- Start,'hh:mm:ss')  , Resource = ActivityName\\r\\n| order by TimeGenerated desc \\r\\n| project ParentId,Id, Status,Start,Duration,Link,TimeGenerated, Resource)\\r\\n| union (allActivites \\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by ActivityRunId\\r\\n| where Status ==\\\"Failed\\\"\\r\\n| extend  ParentId = ActivityRunId, Id = \\\"*\\\", ['Last runs'] = ErrorMessage\\r\\n| project ParentId, Id, ['Last runs']);\\r\\n\",\n              \"size\": 0,\n              \"title\": \"📑 Last runs\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"PipelineName\",\n                  \"parameterName\": \"pipeline\",\n                  \"parameterType\": 5\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"ParentId\",\n                    \"formatter\": 5,\n                    \"formatOptions\": {}\n                  },\n                  {\n                    \"columnMatch\": \"Id\",\n                    \"formatter\": 5,\n                    \"formatOptions\": {}\n                  },\n                  {\n                    \"columnMatch\": \"Resource\",\n                    \"formatter\": 13,\n                    \"formatOptions\": {\n                      \"linkTarget\": null,\n                      \"showIcon\": true\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Status\",\n                    \"formatter\": 18,\n                    \"formatOptions\": {\n                      \"thresholdsOptions\": \"icons\",\n                      \"thresholdsGrid\": [\n                        {\n                          \"operator\": \"==\",\n                          \"thresholdValue\": \"Failed\",\n                          \"representation\": \"critical\",\n                          \"text\": \"{0}{1}\"\n                        },\n                        {\n                          \"operator\": \"==\",\n                          \"thresholdValue\": \"Succeeded\",\n                          \"representation\": \"success\",\n                          \"text\": \"{0}{1}\"\n                        },\n                        {\n                          \"operator\": \"==\",\n                          \"thresholdValue\": \"InProgress\",\n                          \"representation\": \"pending\"\n                        },\n                        {\n                          \"operator\": \"==\",\n                          \"thresholdValue\": \"Queued\",\n                          \"representation\": \"1\",\n                          \"text\": \"{0}{1}\"\n                        },\n                        {\n                          \"operator\": \"==\",\n                          \"thresholdValue\": \"Cancelled\",\n                          \"representation\": \"2\",\n                          \"text\": \"{0}{1}\"\n                        },\n                        {\n                          \"operator\": \"Default\",\n                          \"thresholdValue\": null,\n                          \"representation\": \"more\",\n                          \"text\": \"{0}{1}\"\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Start\",\n                    \"formatter\": 6,\n                    \"formatOptions\": {}\n                  },\n                  {\n                    \"columnMatch\": \"Link\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"Url\",\n                      \"linkLabel\": \"🌐 (url)\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"TimeGenerated\",\n                    \"formatter\": 5,\n                    \"formatOptions\": {}\n                  }\n                ],\n                \"hierarchySettings\": {\n                  \"idColumn\": \"Id\",\n                  \"parentColumn\": \"ParentId\",\n                  \"treeType\": 0,\n                  \"expanderColumn\": \"Pipeline\"\n                },\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Last runs\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Last runs\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 3\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| summarize count() by ResourceId, PipelineName, format_datetime(bin(TimeGenerated, 1d),'yyyy-MM-dd')\",\n              \"size\": 1,\n              \"aggregation\": 3,\n              \"showAnnotations\": true,\n              \"title\": \"🗓 Number of runs by date\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"graphSettings\": {\n                \"type\": 0\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"TimeGenerated\",\n                \"group\": \"PipelineName\",\n                \"createOtherGroup\": null,\n                \"showMetrics\": false,\n                \"showLegend\": true,\n                \"xSettings\": {\n                  \"numberFormatSettings\": {\n                    \"unit\": 0,\n                    \"options\": {\n                      \"style\": \"decimal\",\n                      \"useGrouping\": false\n                    }\n                  }\n                }\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 5 - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| summarize count() by ResourceId, PipelineName, format_datetime(bin(TimeGenerated, 1h),'HH:mm')\\r\\n|order by TimeGenerated asc\",\n              \"size\": 1,\n              \"aggregation\": 3,\n              \"showAnnotations\": true,\n              \"title\": \"🕓 Number of runs over time\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"graphSettings\": {\n                \"type\": 0\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"TimeGenerated\",\n                \"group\": \"PipelineName\",\n                \"createOtherGroup\": null,\n                \"showMetrics\": false,\n                \"showLegend\": true,\n                \"xSettings\": {\n                  \"numberFormatSettings\": {\n                    \"unit\": 0,\n                    \"options\": {\n                      \"style\": \"decimal\",\n                      \"useGrouping\": false\n                    }\n                  }\n                }\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 5 - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"selectedTab\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"overview\"\n      },\n      \"name\": \"group - 8\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| extend endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend Duration = datetime_diff('Second',endd, Start) \\r\\n| summarize avg(Duration) by PipelineName, Start\",\n              \"size\": 1,\n              \"aggregation\": 3,\n              \"title\": \"⏱ Duration over time \",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"linechart\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Duration\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0\n              },\n              \"chartSettings\": {\n                \"showMetrics\": false,\n                \"showLegend\": true,\n                \"ySettings\": {\n                  \"numberFormatSettings\": {\n                    \"unit\": 24,\n                    \"options\": {\n                      \"style\": \"decimal\",\n                      \"useGrouping\": true\n                    }\n                  }\n                }\n              }\n            },\n            \"name\": \"query - 5 - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nlet Activites =  allActivites\\r\\n| extend a = todynamic(Output)\\r\\n| summarize Rows=  sum(toint(a.rowsCopied)) by CorrelationId ;\\r\\n//, sum(toint(a.dataWritten)), sum(toint(a.filesRead)), sum(toint(a.rowsCopied))\\r\\n\\r\\n\\r\\nlet synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| join Activites on CorrelationId\\r\\n| project PipelineName, TimeGenerated, Rows\",\n              \"size\": 1,\n              \"title\": \"💾 Rows copied over time\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"areachart\"\n            },\n            \"customWidth\": \"32\",\n            \"name\": \"query - 1 - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nlet Activites =  allActivites\\r\\n| extend a = todynamic(Output)\\r\\n| summarize Read=  sum(toint(a.dataRead)),Written =  sum(toint(a.dataWritten)) by CorrelationId ;\\r\\n//, sum(toint(a.dataWritten)), sum(toint(a.filesRead)), sum(toint(a.rowsCopied))\\r\\n\\r\\n\\r\\nlet synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| join Activites on CorrelationId\\r\\n| project PipelineName, TimeGenerated, Read, Written\",\n              \"size\": 1,\n              \"title\": \"💻 Data read/written over time\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"areachart\"\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 1 - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nlet Activites =  allActivites\\r\\n| extend a = todynamic(Output)\\r\\n| summarize Read=  sum(toint(a.filesRead)),Written =  sum(toint(a.filesWritten)) by CorrelationId ;\\r\\n//, sum(toint(a.dataWritten)), sum(toint(a.filesRead)), sum(toint(a.rowsCopied))\\r\\n\\r\\n\\r\\nlet synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| join Activites on CorrelationId\\r\\n| project PipelineName, TimeGenerated, Read, Written\",\n              \"size\": 1,\n              \"title\": \"📄  Files read / written over time\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"areachart\"\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 1 - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by TimeGenerated; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n              \"size\": 1,\n              \"title\": \"🛑 Errors over time\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"showMetrics\": false,\n                \"seriesLabelSettings\": [\n                  {\n                    \"seriesName\": \"count_\",\n                    \"color\": \"redBright\"\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 1 - Copy - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by ActivityType; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n              \"size\": 1,\n              \"title\": \"🛑 Errors per Activity type\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 1 - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by FailureType; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n              \"size\": 1,\n              \"title\": \"🛑 Errors per failure type\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 1 - Copy - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by ActivityName; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n              \"size\": 1,\n              \"title\": \"🛑 Errors per activity name\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 1 - Copy - Copy - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| project TimeGenerated, PipelineName, ErrorCode, ErrorMessage, FailureType, ActivityName, ActivityType\\r\\n| order by TimeGenerated desc;\",\n              \"size\": 0,\n              \"title\": \"❗ Last failing activites\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"rowLimit\": 1000\n              }\n            },\n            \"name\": \"query - 7\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"selectedTab\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"pipeline\"\n      },\n      \"name\": \"PipelineGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"Azure Monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/SynapsePipelines.workbook.bak",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"parameters\": [\n          {\n            \"id\": \"d49554d4-694d-4606-89aa-510d92eb95cd\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"value\": {\n              \"durationMs\": 604800000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                },\n                {\n                  \"durationMs\": 5184000000\n                },\n                {\n                  \"durationMs\": 7776000000\n                }\n              ]\n            },\n            \"label\": \"Time Range\"\n          },\n          {\n            \"id\": \"d0ad178a-e2af-4157-a902-86c94e4dad29\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 7776000000\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"label\": \"Log Analytics Subsciption\"\n          },\n          {\n            \"id\": \"fe0740a1-545a-47d0-9b91-acbd7034a551\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 7776000000\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\",\n            \"label\": \"Log Analytics Workspace\"\n          },\n          {\n            \"id\": \"fd3f9b36-6e8f-4396-8478-1c9c46174057\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DataFactory\",\n            \"label\": \"Synpase/Data Factory\",\n            \"type\": 5,\n            \"isGlobal\": true,\n            \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| distinct ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"resourceTypeFilter\": {\n                \"microsoft.datafactory/factories\": true,\n                \"microsoft.datafactory/datafactories\": true,\n                \"microsoft.synapse/workspaces\": true,\n                \"Microsoft.Synapse/workspaces\": true,\n                \"Microsoft.Synapse/workspaces/bigDataPools\": true,\n                \"Microsoft.Synapse/workspaces/kustopools\": true,\n                \"Microsoft.Synapse/workspaces/kustopools/databases\": true,\n                \"Microsoft.Synapse/workspaces/scopePools\": true,\n                \"Microsoft.Synapse/workspaces/sqlPools\": true\n              },\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 7776000000\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8dd2023d-6684-44e2-b910-82a0c0fbf879\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"pipeline\",\n            \"label\": \"Pipeline\",\n            \"type\": 2,\n            \"isGlobal\": true,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\")\\r\\n| project pipeId= strcat(ResourceId , PipelineName) , PipelineName\\r\\n//| distinct pipeId, PipelineName\\r\\n| distinct PipelineName\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::all\"\n              ],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"defaultValue\": \"value::all\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.resourcegraph/resources\"\n      },\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"e870a3f7-acab-4aac-93b8-35b8bab51c1c\",\n            \"cellValue\": \"selectedTab\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Overview Dashboard\",\n            \"subTarget\": \"overview\",\n            \"preText\": \"Overview Dashboard\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a773b8fc-30b4-480a-b1b2-a73653aa1fe5\",\n            \"cellValue\": \"selectedTab\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Pipeline Details\",\n            \"subTarget\": \"pipeline\",\n            \"preText\": \"Pipeline Details \",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 7\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| extend Resource = tostring(split(ResourceId, \\\"/\\\")[8])\\r\\n| summarize dcount(RunId) by Resource, ResourceId\\r\\n\",\n              \"size\": 1,\n              \"title\": \"⚙ Runs per Synapse/Datafactory\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"ResourceId\",\n              \"exportParameterName\": \"DataFactory\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"piechart\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"ResourceId\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"dcount_RunId\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"ySettings\": {}\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 2\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nlet T= allPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\")\\r\\n| where PipelineName in ({pipeline}) \\r\\n|summarize arg_max(TimeGenerated,* ) by RunId;\\r\\n\\r\\nT\\r\\n| summarize  Succeeded=dcountif(RunId, Status startswith \\\"Succeeded\\\"),Failed=dcountif(RunId, Status startswith \\\"Failed\\\"), Cancelled = dcountif(RunId, Status startswith \\\"Cancelled\\\") by PipelineName\\r\\n|render barchart with (series = PipelineName)\\r\\n\",\n              \"size\": 1,\n              \"title\": \"🎯 Runs per pipeline grouped by status\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Succeeded\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"green\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Failed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"red\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Cancelled\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"orange\"\n                    },\n                    \"numberFormat\": {\n                      \"unit\": 17,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  }\n                ]\n              },\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"dcount_RunId\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"dcount_RunId\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"PipelineName\",\n                \"seriesLabelSettings\": [\n                  {\n                    \"seriesName\": \"Succeeded\",\n                    \"color\": \"green\"\n                  },\n                  {\n                    \"seriesName\": \"Failed\",\n                    \"color\": \"red\"\n                  },\n                  {\n                    \"seriesName\": \"Cancelled\",\n                    \"color\": \"orange\"\n                  },\n                  {\n                    \"seriesName\": \"Total\",\n                    \"color\": \"blue\"\n                  }\n                ],\n                \"xSettings\": {},\n                \"ySettings\": {}\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 4 - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| extend endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend Duration = datetime_diff('Second',endd, Start) \\r\\n| summarize avg(Duration) by PipelineName\",\n              \"size\": 1,\n              \"aggregation\": 3,\n              \"title\": \"⏲ Average duration per pipeline\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Duration\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0\n              },\n              \"chartSettings\": {\n                \"showMetrics\": false,\n                \"showLegend\": true\n              }\n            },\n            \"customWidth\": \"34\",\n            \"name\": \"query - 5\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId, Link1 = \\\"https://ms.web.azuresynapse.net/en-us/monitoring/pipelineruns?workspace=\\\" , Link2 = \\\"https://ms.web.azuresynapse.net/en-us/monitoring/pipelineruns/\\\";\\r\\n\\r\\nlet df = ADFPipelineRun\\r\\n|extend Link1 = \\\"https://ms-adf.azure.com/monitoring/pipelineruns?factory=\\\", Link2 = \\\"https://ms-adf.azure.com/en-us/monitoring/pipelineruns/\\\", Link3= \\\"?factory=\\\";\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nlet allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\n\\r\\nlet T = allPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| extend StatusIcon = case(Status == \\\"Succeeded\\\", '🟢', \\r\\n                       Status == \\\"InProgress\\\", '🟡', \\r\\n                       Status == \\\"Queued\\\", '🔵',\\r\\n                       Status == \\\"Cancelled\\\",'🟠', \\r\\n                       Status == \\\"Failed\\\", '🔴', \\r\\n                       '0')\\r\\n|order by TimeGenerated;\\r\\n\\r\\n\\r\\n\\r\\n\\r\\nlet T2 = T\\r\\n| summarize commands_details = make_list(pack('status', StatusIcon, 'TimeGenerated', TimeGenerated)) by PipelineName\\r\\n| mv-apply command_details = commands_details on\\r\\n(\\r\\n    order by todatetime(command_details['TimeGenerated']) asc\\r\\n    | summarize make_list(command_details['status'])\\r\\n)\\r\\n| project-away commands_details \\r\\n| extend ['Last runs'] = strcat_array(list_command_details_status,'');\\r\\n\\r\\n\\r\\n\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by PipelineName\\r\\n| extend ParentId = ''\\r\\n        , Id = PipelineName\\r\\n        ,Link =  strcat(Link1, ResourceId)\\r\\n        , Resource = ResourceId\\r\\n        , endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend Duration = format_timespan(endd- Start,'hh:mm:ss') ,Pipeline =  strcat('🗜️ ', PipelineName) \\r\\n| join  T2 on PipelineName\\r\\n|project ParentId, Id , Resource, Pipeline, Status, Start, Duration, ['Last runs'], Link,TimeGenerated\\r\\n\\r\\n|union (T\\r\\n| extend ParentId = PipelineName\\r\\n        ,Id = RunId\\r\\n        ,Link = strcat(Link2,CorrelationId,\\\"?factory=\\\",ResourceId)\\r\\n        , endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n|extend Duration = format_timespan(endd- Start,'hh:mm:ss')  \\r\\n|project ParentId,Id, Status,Start,Duration,Link,TimeGenerated)\\r\\n|union (allActivites \\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by ActivityRunId\\r\\n| extend endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend  ParentId = PipelineRunId,Id = ActivityRunId,Link=\\\"\\\",Duration = format_timespan(endd- Start,'hh:mm:ss')  , Resource = ActivityName\\r\\n| order by TimeGenerated desc \\r\\n| project ParentId,Id, Status,Start,Duration,Link,TimeGenerated, Resource)\\r\\n| union (allActivites \\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by ActivityRunId\\r\\n| where Status ==\\\"Failed\\\"\\r\\n| extend  ParentId = ActivityRunId, Id = \\\"*\\\", ['Last runs'] = ErrorMessage\\r\\n| project ParentId, Id, ['Last runs']);\\r\\n\",\n              \"size\": 0,\n              \"title\": \"📑 Last runs\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"PipelineName\",\n                  \"parameterName\": \"pipeline\",\n                  \"parameterType\": 5\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"ParentId\",\n                    \"formatter\": 5,\n                    \"formatOptions\": {}\n                  },\n                  {\n                    \"columnMatch\": \"Id\",\n                    \"formatter\": 5,\n                    \"formatOptions\": {}\n                  },\n                  {\n                    \"columnMatch\": \"Resource\",\n                    \"formatter\": 13,\n                    \"formatOptions\": {\n                      \"linkTarget\": null,\n                      \"showIcon\": true\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Status\",\n                    \"formatter\": 18,\n                    \"formatOptions\": {\n                      \"thresholdsOptions\": \"icons\",\n                      \"thresholdsGrid\": [\n                        {\n                          \"operator\": \"==\",\n                          \"thresholdValue\": \"Failed\",\n                          \"representation\": \"critical\",\n                          \"text\": \"{0}{1}\"\n                        },\n                        {\n                          \"operator\": \"==\",\n                          \"thresholdValue\": \"Succeeded\",\n                          \"representation\": \"success\",\n                          \"text\": \"{0}{1}\"\n                        },\n                        {\n                          \"operator\": \"==\",\n                          \"thresholdValue\": \"InProgress\",\n                          \"representation\": \"pending\"\n                        },\n                        {\n                          \"operator\": \"==\",\n                          \"thresholdValue\": \"Queued\",\n                          \"representation\": \"1\",\n                          \"text\": \"{0}{1}\"\n                        },\n                        {\n                          \"operator\": \"==\",\n                          \"thresholdValue\": \"Cancelled\",\n                          \"representation\": \"2\",\n                          \"text\": \"{0}{1}\"\n                        },\n                        {\n                          \"operator\": \"Default\",\n                          \"thresholdValue\": null,\n                          \"representation\": \"more\",\n                          \"text\": \"{0}{1}\"\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Start\",\n                    \"formatter\": 6,\n                    \"formatOptions\": {}\n                  },\n                  {\n                    \"columnMatch\": \"Link\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"Url\",\n                      \"linkLabel\": \"🌐 (url)\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"TimeGenerated\",\n                    \"formatter\": 5,\n                    \"formatOptions\": {}\n                  }\n                ],\n                \"hierarchySettings\": {\n                  \"idColumn\": \"Id\",\n                  \"parentColumn\": \"ParentId\",\n                  \"treeType\": 0,\n                  \"expanderColumn\": \"Pipeline\"\n                },\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Last runs\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Last runs\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 3\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| summarize count() by ResourceId, PipelineName, format_datetime(bin(TimeGenerated, 1d),'yyyy-MM-dd')\",\n              \"size\": 1,\n              \"aggregation\": 3,\n              \"showAnnotations\": true,\n              \"title\": \"🗓 Number of runs by date\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"graphSettings\": {\n                \"type\": 0\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"TimeGenerated\",\n                \"group\": \"PipelineName\",\n                \"createOtherGroup\": null,\n                \"showMetrics\": false,\n                \"showLegend\": true,\n                \"xSettings\": {\n                  \"numberFormatSettings\": {\n                    \"unit\": 0,\n                    \"options\": {\n                      \"style\": \"decimal\",\n                      \"useGrouping\": false\n                    }\n                  }\n                }\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 5 - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| summarize count() by ResourceId, PipelineName, format_datetime(bin(TimeGenerated, 1h),'HH:mm')\\r\\n|order by TimeGenerated asc\",\n              \"size\": 1,\n              \"aggregation\": 3,\n              \"showAnnotations\": true,\n              \"title\": \"🕓 Number of runs over time\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"graphSettings\": {\n                \"type\": 0\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"TimeGenerated\",\n                \"group\": \"PipelineName\",\n                \"createOtherGroup\": null,\n                \"showMetrics\": false,\n                \"showLegend\": true,\n                \"xSettings\": {\n                  \"numberFormatSettings\": {\n                    \"unit\": 0,\n                    \"options\": {\n                      \"style\": \"decimal\",\n                      \"useGrouping\": false\n                    }\n                  }\n                }\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 5 - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"selectedTab\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"overview\"\n      },\n      \"name\": \"group - 8\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| extend endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend Duration = datetime_diff('Second',endd, Start) \\r\\n| summarize avg(Duration) by PipelineName, Start\",\n              \"size\": 1,\n              \"aggregation\": 3,\n              \"title\": \"⏱ Duration over time \",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"linechart\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Duration\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0\n              },\n              \"chartSettings\": {\n                \"showMetrics\": false,\n                \"showLegend\": true,\n                \"ySettings\": {\n                  \"numberFormatSettings\": {\n                    \"unit\": 24,\n                    \"options\": {\n                      \"style\": \"decimal\",\n                      \"useGrouping\": true\n                    }\n                  }\n                }\n              }\n            },\n            \"name\": \"query - 5 - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nlet Activites =  allActivites\\r\\n| extend a = todynamic(Output)\\r\\n| summarize Rows=  sum(toint(a.rowsCopied)) by CorrelationId ;\\r\\n//, sum(toint(a.dataWritten)), sum(toint(a.filesRead)), sum(toint(a.rowsCopied))\\r\\n\\r\\n\\r\\nlet synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| join Activites on CorrelationId\\r\\n| project PipelineName, TimeGenerated, Rows\",\n              \"size\": 1,\n              \"title\": \"💾 Rows copied over time\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"areachart\"\n            },\n            \"customWidth\": \"32\",\n            \"name\": \"query - 1 - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nlet Activites =  allActivites\\r\\n| extend a = todynamic(Output)\\r\\n| summarize Read=  sum(toint(a.dataRead)),Written =  sum(toint(a.dataWritten)) by CorrelationId ;\\r\\n//, sum(toint(a.dataWritten)), sum(toint(a.filesRead)), sum(toint(a.rowsCopied))\\r\\n\\r\\n\\r\\nlet synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| join Activites on CorrelationId\\r\\n| project PipelineName, TimeGenerated, Read, Written\",\n              \"size\": 1,\n              \"title\": \"💻 Data read/written over time\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"areachart\"\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 1 - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nlet Activites =  allActivites\\r\\n| extend a = todynamic(Output)\\r\\n| summarize Read=  sum(toint(a.filesRead)),Written =  sum(toint(a.filesWritten)) by CorrelationId ;\\r\\n//, sum(toint(a.dataWritten)), sum(toint(a.filesRead)), sum(toint(a.rowsCopied))\\r\\n\\r\\n\\r\\nlet synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| join Activites on CorrelationId\\r\\n| project PipelineName, TimeGenerated, Read, Written\",\n              \"size\": 1,\n              \"title\": \"📄  Files read / written over time\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"areachart\"\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 1 - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by TimeGenerated; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n              \"size\": 1,\n              \"title\": \"🛑 Errors over time\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"showMetrics\": false,\n                \"seriesLabelSettings\": [\n                  {\n                    \"seriesName\": \"count_\",\n                    \"color\": \"redBright\"\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 1 - Copy - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by ActivityType; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n              \"size\": 1,\n              \"title\": \"🛑 Errors per Activity type\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 1 - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by FailureType; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n              \"size\": 1,\n              \"title\": \"🛑 Errors per failure type\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 1 - Copy - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by ActivityName; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n              \"size\": 1,\n              \"title\": \"🛑 Errors per activity name\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 1 - Copy - Copy - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| project TimeGenerated, PipelineName, ErrorCode, ErrorMessage, FailureType, ActivityName, ActivityType\\r\\n| order by TimeGenerated desc;\",\n              \"size\": 0,\n              \"title\": \"❗ Last failing activites\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"rowLimit\": 1000\n              }\n            },\n            \"name\": \"query - 7\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"selectedTab\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"pipeline\"\n      },\n      \"name\": \"PipelineGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"Azure Monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/SynapsePipelines_v1.1.workbook.bak",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"parameters\": [\n          {\n            \"id\": \"d49554d4-694d-4606-89aa-510d92eb95cd\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"value\": {\n              \"durationMs\": 604800000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                },\n                {\n                  \"durationMs\": 5184000000\n                },\n                {\n                  \"durationMs\": 7776000000\n                }\n              ]\n            },\n            \"label\": \"Time Range\"\n          },\n          {\n            \"id\": \"d0ad178a-e2af-4157-a902-86c94e4dad29\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 7776000000\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"label\": \"Log Analytics Subsciption\"\n          },\n          {\n            \"id\": \"fe0740a1-545a-47d0-9b91-acbd7034a551\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 7776000000\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\",\n            \"label\": \"Log Analytics Workspace\"\n          },\n          {\n            \"id\": \"fd3f9b36-6e8f-4396-8478-1c9c46174057\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DataFactory\",\n            \"label\": \"Synpase/Data Factory\",\n            \"type\": 5,\n            \"isGlobal\": true,\n            \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| distinct ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"resourceTypeFilter\": {\n                \"microsoft.datafactory/factories\": true,\n                \"microsoft.datafactory/datafactories\": true,\n                \"microsoft.synapse/workspaces\": true,\n                \"Microsoft.Synapse/workspaces\": true,\n                \"Microsoft.Synapse/workspaces/bigDataPools\": true,\n                \"Microsoft.Synapse/workspaces/kustopools\": true,\n                \"Microsoft.Synapse/workspaces/kustopools/databases\": true,\n                \"Microsoft.Synapse/workspaces/scopePools\": true,\n                \"Microsoft.Synapse/workspaces/sqlPools\": true\n              },\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 7776000000\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8dd2023d-6684-44e2-b910-82a0c0fbf879\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"pipeline\",\n            \"label\": \"Pipeline\",\n            \"type\": 2,\n            \"isGlobal\": true,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\")\\r\\n| project pipeId= strcat(ResourceId , PipelineName) , PipelineName\\r\\n//| distinct pipeId, PipelineName\\r\\n| distinct PipelineName\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::all\"\n              ],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"defaultValue\": \"value::all\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.resourcegraph/resources\"\n      },\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"e870a3f7-acab-4aac-93b8-35b8bab51c1c\",\n            \"cellValue\": \"selectedTab\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Overview Dashboard\",\n            \"subTarget\": \"overview\",\n            \"preText\": \"Overview Dashboard\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a773b8fc-30b4-480a-b1b2-a73653aa1fe5\",\n            \"cellValue\": \"selectedTab\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Pipeline Details\",\n            \"subTarget\": \"pipeline\",\n            \"preText\": \"Pipeline Details \",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 7\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| extend Resource = tostring(split(ResourceId, \\\"/\\\")[8])\\r\\n| summarize dcount(RunId) by Resource, ResourceId\\r\\n\",\n              \"size\": 1,\n              \"title\": \"⚙ Runs per Synapse/Datafactory\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"ResourceId\",\n              \"exportParameterName\": \"DataFactory\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"piechart\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"ResourceId\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"dcount_RunId\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"ySettings\": {}\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 2\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nlet T= allPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\")\\r\\n| where PipelineName in ({pipeline}) \\r\\n|summarize arg_max(TimeGenerated,* ) by RunId;\\r\\n\\r\\nT\\r\\n| summarize  Succeeded=dcountif(RunId, Status startswith \\\"Succeeded\\\"),Failed=dcountif(RunId, Status startswith \\\"Failed\\\"), Cancelled = dcountif(RunId, Status startswith \\\"Cancelled\\\") by PipelineName\\r\\n|render barchart with (series = PipelineName)\\r\\n\",\n              \"size\": 1,\n              \"title\": \"🎯 Runs per pipeline grouped by status\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Succeeded\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"green\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Failed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"red\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Cancelled\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"orange\"\n                    },\n                    \"numberFormat\": {\n                      \"unit\": 17,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  }\n                ]\n              },\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"dcount_RunId\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"dcount_RunId\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"PipelineName\",\n                \"seriesLabelSettings\": [\n                  {\n                    \"seriesName\": \"Succeeded\",\n                    \"color\": \"green\"\n                  },\n                  {\n                    \"seriesName\": \"Failed\",\n                    \"color\": \"red\"\n                  },\n                  {\n                    \"seriesName\": \"Cancelled\",\n                    \"color\": \"orange\"\n                  },\n                  {\n                    \"seriesName\": \"Total\",\n                    \"color\": \"blue\"\n                  }\n                ],\n                \"xSettings\": {},\n                \"ySettings\": {}\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 4 - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| extend endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend Duration = datetime_diff('Second',endd, Start) \\r\\n| summarize avg(Duration) by PipelineName\",\n              \"size\": 1,\n              \"aggregation\": 3,\n              \"title\": \"⏲ Average duration per pipeline\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Duration\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0\n              },\n              \"chartSettings\": {\n                \"showMetrics\": false,\n                \"showLegend\": true\n              }\n            },\n            \"customWidth\": \"34\",\n            \"name\": \"query - 5\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId, Link1 = \\\"https://web.azuresynapse.net/en-us/monitoring/pipelineruns?workspace=\\\" , Link2 = \\\"https://web.azuresynapse.net/en-us/monitoring/pipelineruns/\\\";\\r\\n\\r\\nlet df = ADFPipelineRun\\r\\n|extend Link1 = \\\"https://ms-adf.azure.com/monitoring/pipelineruns?factory=\\\", Link2 = \\\"https://ms-adf.azure.com/en-us/monitoring/pipelineruns/\\\", Link3= \\\"?factory=\\\";\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nlet allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\n\\r\\nlet T = allPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| extend StatusIcon = case(Status == \\\"Succeeded\\\", '🟢', \\r\\n                       Status == \\\"InProgress\\\", '🟡', \\r\\n                       Status == \\\"Queued\\\", '🔵',\\r\\n                       Status == \\\"Cancelled\\\",'🟠', \\r\\n                       Status == \\\"Failed\\\", '🔴', \\r\\n                       '0')\\r\\n|order by TimeGenerated;\\r\\n\\r\\n\\r\\n\\r\\n\\r\\nlet T2 = T\\r\\n| summarize commands_details = make_list(pack('status', StatusIcon, 'TimeGenerated', TimeGenerated)) by PipelineName\\r\\n| mv-apply command_details = commands_details on\\r\\n(\\r\\n    order by todatetime(command_details['TimeGenerated']) asc\\r\\n    | summarize make_list(command_details['status'])\\r\\n)\\r\\n| project-away commands_details \\r\\n| extend ['Last runs'] = strcat_array(list_command_details_status,'');\\r\\n\\r\\n\\r\\n\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by PipelineName\\r\\n| extend ParentId = ''\\r\\n        , Id = PipelineName\\r\\n        ,Link =  strcat(Link1, ResourceId)\\r\\n        , Resource = ResourceId\\r\\n        , endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend Duration = format_timespan(endd- Start,'hh:mm:ss') ,Pipeline =  strcat('🗜️ ', PipelineName) \\r\\n| join  T2 on PipelineName\\r\\n|project ParentId, Id , Resource, Pipeline, Status, Start, Duration, ['Last runs'], Link,TimeGenerated\\r\\n\\r\\n|union (T\\r\\n| extend ParentId = PipelineName\\r\\n        ,Id = RunId\\r\\n        ,Link = strcat(Link2,CorrelationId,\\\"?factory=\\\",ResourceId)\\r\\n        , endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n|extend Duration = format_timespan(endd- Start,'hh:mm:ss')  \\r\\n|project ParentId,Id, Status,Start,Duration,Link,TimeGenerated)\\r\\n|union (allActivites \\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by ActivityRunId\\r\\n| extend endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend  ParentId = PipelineRunId,Id = ActivityRunId,Link=\\\"\\\",Duration = format_timespan(endd- Start,'hh:mm:ss')  , Resource = ActivityName\\r\\n| order by TimeGenerated desc \\r\\n| project ParentId,Id, Status,Start,Duration,Link,TimeGenerated, Resource)\\r\\n| union (allActivites \\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by ActivityRunId\\r\\n| where Status ==\\\"Failed\\\"\\r\\n| extend  ParentId = ActivityRunId, Id = \\\"*\\\", ['Last runs'] = ErrorMessage\\r\\n| project ParentId, Id, ['Last runs']);\\r\\n\",\n              \"size\": 0,\n              \"title\": \"📑 Last runs\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"PipelineName\",\n                  \"parameterName\": \"pipeline\",\n                  \"parameterType\": 5\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"ParentId\",\n                    \"formatter\": 5,\n                    \"formatOptions\": {}\n                  },\n                  {\n                    \"columnMatch\": \"Id\",\n                    \"formatter\": 5,\n                    \"formatOptions\": {}\n                  },\n                  {\n                    \"columnMatch\": \"Resource\",\n                    \"formatter\": 13,\n                    \"formatOptions\": {\n                      \"linkTarget\": null,\n                      \"showIcon\": true\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Status\",\n                    \"formatter\": 18,\n                    \"formatOptions\": {\n                      \"thresholdsOptions\": \"icons\",\n                      \"thresholdsGrid\": [\n                        {\n                          \"operator\": \"==\",\n                          \"thresholdValue\": \"Failed\",\n                          \"representation\": \"critical\",\n                          \"text\": \"{0}{1}\"\n                        },\n                        {\n                          \"operator\": \"==\",\n                          \"thresholdValue\": \"Succeeded\",\n                          \"representation\": \"success\",\n                          \"text\": \"{0}{1}\"\n                        },\n                        {\n                          \"operator\": \"==\",\n                          \"thresholdValue\": \"InProgress\",\n                          \"representation\": \"pending\"\n                        },\n                        {\n                          \"operator\": \"==\",\n                          \"thresholdValue\": \"Queued\",\n                          \"representation\": \"1\",\n                          \"text\": \"{0}{1}\"\n                        },\n                        {\n                          \"operator\": \"==\",\n                          \"thresholdValue\": \"Cancelled\",\n                          \"representation\": \"2\",\n                          \"text\": \"{0}{1}\"\n                        },\n                        {\n                          \"operator\": \"Default\",\n                          \"thresholdValue\": null,\n                          \"representation\": \"more\",\n                          \"text\": \"{0}{1}\"\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Start\",\n                    \"formatter\": 6,\n                    \"formatOptions\": {}\n                  },\n                  {\n                    \"columnMatch\": \"Link\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"Url\",\n                      \"linkLabel\": \"🌐 (url)\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"TimeGenerated\",\n                    \"formatter\": 5,\n                    \"formatOptions\": {}\n                  }\n                ],\n                \"hierarchySettings\": {\n                  \"idColumn\": \"Id\",\n                  \"parentColumn\": \"ParentId\",\n                  \"treeType\": 0,\n                  \"expanderColumn\": \"Pipeline\"\n                },\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Last runs\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Last runs\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 3\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| summarize count() by ResourceId, PipelineName, format_datetime(bin(TimeGenerated, 1d),'yyyy-MM-dd')\",\n              \"size\": 1,\n              \"aggregation\": 3,\n              \"showAnnotations\": true,\n              \"title\": \"🗓 Number of runs by date\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"graphSettings\": {\n                \"type\": 0\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"TimeGenerated\",\n                \"group\": \"PipelineName\",\n                \"createOtherGroup\": null,\n                \"showMetrics\": false,\n                \"showLegend\": true,\n                \"xSettings\": {\n                  \"numberFormatSettings\": {\n                    \"unit\": 0,\n                    \"options\": {\n                      \"style\": \"decimal\",\n                      \"useGrouping\": false\n                    }\n                  }\n                }\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 5 - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| summarize count() by ResourceId, PipelineName, format_datetime(bin(TimeGenerated, 1h),'HH:mm')\\r\\n|order by TimeGenerated asc\",\n              \"size\": 1,\n              \"aggregation\": 3,\n              \"showAnnotations\": true,\n              \"title\": \"🕓 Number of runs over time\",\n              \"timeContext\": {\n                \"durationMs\": 7776000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"graphSettings\": {\n                \"type\": 0\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"TimeGenerated\",\n                \"group\": \"PipelineName\",\n                \"createOtherGroup\": null,\n                \"showMetrics\": false,\n                \"showLegend\": true,\n                \"xSettings\": {\n                  \"numberFormatSettings\": {\n                    \"unit\": 0,\n                    \"options\": {\n                      \"style\": \"decimal\",\n                      \"useGrouping\": false\n                    }\n                  }\n                }\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 5 - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"selectedTab\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"overview\"\n      },\n      \"name\": \"group - 8\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status in ('Failed', 'Succeeded')\\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| extend endd = iff(End == todatetime('1601-01-01T00:00:00Z'),now(),End)\\r\\n| extend Duration = datetime_diff('Second',endd, Start) \\r\\n| summarize avg(Duration) by PipelineName, Start\",\n              \"size\": 1,\n              \"aggregation\": 3,\n              \"title\": \"⏱ Duration over time \",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"linechart\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Duration\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0\n              },\n              \"chartSettings\": {\n                \"showMetrics\": false,\n                \"showLegend\": true,\n                \"ySettings\": {\n                  \"numberFormatSettings\": {\n                    \"unit\": 24,\n                    \"options\": {\n                      \"style\": \"decimal\",\n                      \"useGrouping\": true\n                    }\n                  }\n                }\n              }\n            },\n            \"name\": \"query - 5 - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nlet Activites =  allActivites\\r\\n| extend a = todynamic(Output)\\r\\n| summarize Rows=  sum(toint(a.rowsCopied)) by CorrelationId ;\\r\\n//, sum(toint(a.dataWritten)), sum(toint(a.filesRead)), sum(toint(a.rowsCopied))\\r\\n\\r\\n\\r\\nlet synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| join Activites on CorrelationId\\r\\n| project PipelineName, TimeGenerated, Rows\",\n              \"size\": 1,\n              \"title\": \"💾 Rows copied over time\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"areachart\"\n            },\n            \"customWidth\": \"32\",\n            \"name\": \"query - 1 - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nlet Activites =  allActivites\\r\\n| extend a = todynamic(Output)\\r\\n| summarize Read=  sum(toint(a.dataRead)),Written =  sum(toint(a.dataWritten)) by CorrelationId ;\\r\\n//, sum(toint(a.dataWritten)), sum(toint(a.filesRead)), sum(toint(a.rowsCopied))\\r\\n\\r\\n\\r\\nlet synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| join Activites on CorrelationId\\r\\n| project PipelineName, TimeGenerated, Read, Written\",\n              \"size\": 1,\n              \"title\": \"💻 Data read/written over time\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"areachart\"\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 1 - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nlet Activites =  allActivites\\r\\n| extend a = todynamic(Output)\\r\\n| summarize Read=  sum(toint(a.filesRead)),Written =  sum(toint(a.filesWritten)) by CorrelationId ;\\r\\n//, sum(toint(a.dataWritten)), sum(toint(a.filesRead)), sum(toint(a.rowsCopied))\\r\\n\\r\\n\\r\\nlet synape = SynapseIntegrationPipelineRuns\\r\\n| extend ResourceId = _ResourceId;\\r\\n\\r\\nlet df = ADFPipelineRun;\\r\\n\\r\\nlet allPipelines =  df \\r\\n| union synape;\\r\\n\\r\\nallPipelines\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| summarize arg_max(TimeGenerated,* ) by RunId\\r\\n| join Activites on CorrelationId\\r\\n| project PipelineName, TimeGenerated, Read, Written\",\n              \"size\": 1,\n              \"title\": \"📄  Files read / written over time\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"areachart\"\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 1 - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by TimeGenerated; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n              \"size\": 1,\n              \"title\": \"🛑 Errors over time\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"showMetrics\": false,\n                \"seriesLabelSettings\": [\n                  {\n                    \"seriesName\": \"count_\",\n                    \"color\": \"redBright\"\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 1 - Copy - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by ActivityType; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n              \"size\": 1,\n              \"title\": \"🛑 Errors per Activity type\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 1 - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by FailureType; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n              \"size\": 1,\n              \"title\": \"🛑 Errors per failure type\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 1 - Copy - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| summarize count() by ActivityName; //, ErrorMessage, FailureType, ActivityName, ActivityType;\\r\\n\",\n              \"size\": 1,\n              \"title\": \"🛑 Errors per activity name\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"PipelineName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"ErrorCode\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"query - 1 - Copy - Copy - Copy - Copy - Copy\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let allActivites = ADFActivityRun\\r\\n| union (SynapseIntegrationActivityRuns | extend ResourceId = _ResourceId) ;\\r\\n\\r\\nallActivites\\r\\n| where ResourceId in (\\\"{DataFactory}\\\") \\r\\n| where PipelineName in ({pipeline}) \\r\\n| where Status == \\\"Failed\\\"\\r\\n| extend a = todynamic(Output)\\r\\n| project TimeGenerated, PipelineName, ErrorCode, ErrorMessage, FailureType, ActivityName, ActivityType\\r\\n| order by TimeGenerated desc;\",\n              \"size\": 0,\n              \"title\": \"❗ Last failing activites\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"rowLimit\": 1000\n              }\n            },\n            \"name\": \"query - 7\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"selectedTab\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"pipeline\"\n      },\n      \"name\": \"PipelineGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"Azure Monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/SynapseServerlessWorkbook.workbook",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"value::all\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"c4475a86-95ea-46b8-a5c0-3ee1c3f528bc\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"value\": {\n              \"durationMs\": 86400000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                },\n                {\n                  \"durationMs\": 5184000000\n                },\n                {\n                  \"durationMs\": 7776000000\n                }\n              ]\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"94b22c78-91c8-47e6-8833-70d458e199c3\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"Subscriptions\",\n            \"type\": 6,\n            \"isRequired\": true,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"value\": [\n              \"value::all\"\n            ],\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::1\",\n                \"value::all\"\n              ],\n              \"includeAll\": false,\n              \"showDefault\": false\n            },\n            \"defaultValue\": \"value::all\"\n          },\n          {\n            \"id\": \"3dbc1029-1a17-4a4d-a133-2d47c1e7844e\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"Synapse\",\n            \"type\": 5,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.synapse/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{Subscriptions}\"\n            ],\n            \"value\": [\n              \"value::all\"\n            ],\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::1\",\n                \"value::all\"\n              ],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"defaultValue\": \"value::all\",\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"4d1459db-354e-4019-8e86-015d946ce892\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"value::all\"\n            ],\n            \"value\": [\n              \"value::all\"\n            ],\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::1\",\n                \"value::all\"\n              ],\n              \"showDefault\": false\n            },\n            \"defaultValue\": \"value::all\",\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 1,\n        \"resourceType\": \"microsoft.resourcegraph/resources\"\n      },\n      \"name\": \"parameters - 1\"\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"All costs listed in this workbook are approximate based on $5/TB. The cost listed here has not yet been extensively validated.\",\n        \"style\": \"warning\"\n      },\n      \"name\": \"text - 4\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"4ee15681-1a46-4207-ac59-efab22cd6d9b\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Summary\",\n            \"subTarget\": \"Summary\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"82d489b0-87d6-4875-a5de-c7eb2d1c8c4f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Data Processed\",\n            \"subTarget\": \"DataProcessed\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 4\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook9cfd0268-d682-40bb-870c-61e05013f973\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 4,\n              \"chartType\": -1,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolLoginAttempts\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Login Attempts\",\n              \"gridFormatType\": 1,\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Name\",\n                  \"formatter\": 13\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Value\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"LoginAttemptsChart - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookdc90b0c5-4f40-4242-89b8-87eac7b9acaf\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 4,\n              \"chartType\": -1,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolRequestsEnded\",\n                  \"aggregation\": 1,\n                  \"columnName\": \"Requests Completed\"\n                }\n              ],\n              \"title\": \"Completed Requests\",\n              \"gridFormatType\": 1,\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Name\",\n                  \"formatter\": 13\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Value\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"CompletedRequestCountTile\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1f0054e6-9715-47bb-a7fc-e92812c07403\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 4,\n              \"chartType\": -1,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolDataProcessedBytes\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Data Processed\",\n              \"gridFormatType\": 1,\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Name\",\n                  \"formatter\": 13\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Value\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"DataProcessed - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookdc90b0c5-4f40-4242-89b8-87eac7b9acaf\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolRequestsEnded\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null,\n                  \"columnName\": \"Requests Completed\"\n                }\n              ],\n              \"title\": \"Completed Requests\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"CompletedRequestCount\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1f0054e6-9715-47bb-a7fc-e92812c07403\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolDataProcessedBytes\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Data Processed\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"DataProcessed\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook9cfd0268-d682-40bb-870c-61e05013f973\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolLoginAttempts\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Login Attempts\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"LoginAttemptsChart\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Queries by completion type\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| summarize count() by ResultType\\r\\n| render piechart \",\n              \"size\": 3,\n              \"title\": \"Queries by Result Type\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"$gen_link_Properties_9\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"$gen_link_Properties_9\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"QueriesByResultType\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Queries by query type\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project CommandType=tostring(Properties.command)\\r\\n| summarize count() by CommandType\\r\\n| render piechart \\r\\n\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Queries by Query Type\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"Queries by Query Type\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Queries by completion type\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project BytesProcessed=Properties.dataProcessedBytes,tostring(Identity)\\r\\n| summarize sum(toint(BytesProcessed)) by Identity\\r\\n| render piechart \\r\\n\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Data Processed By User\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"33\",\n            \"name\": \"Data Processed By User\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Most Recent Query Runs\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| order by TimeGenerated\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project \\r\\n    StartTime=Properties.startTime,\\r\\n    EndTime=Properties.endTime, \\r\\n    Identity,\\r\\n    CommandType=Properties.command,\\r\\n    Result=ResultType,\\r\\n    MbProcessed=(Properties.dataProcessedBytes/1024/1024),\\r\\n    QueryText=Properties.queryText,\\r\\n    _ResourceId\\r\\n| extend elapsedTime_sec =(todatetime(EndTime) - StartTime)/1s\\r\\n| extend Approx_Cost=((MbProcessed)*0.000476837158203125)/100 //multiply by price per mb ($5 per TB from Microsoft Docs: https://azure.microsoft.com/en-us/pricing/details/synapse-analytics/)\\r\\n| project-reorder StartTime,EndTime,elapsedTime_sec,Identity,CommandType,Result,MbProcessed,Approx_Cost\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Recent Queries\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"StartTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"EndTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"elapsedTime_sec\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Result\",\n                    \"formatter\": 18,\n                    \"formatOptions\": {\n                      \"thresholdsOptions\": \"icons\",\n                      \"thresholdsGrid\": [\n                        {\n                          \"operator\": \"Default\",\n                          \"thresholdValue\": null,\n                          \"representation\": \"success\",\n                          \"text\": \"{0}{1}\"\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MbProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Approx_Cost\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"yellow\"\n                    },\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\",\n                        \"minimumFractionDigits\": 2,\n                        \"maximumFractionDigits\": 6\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"QueryText\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"CellDetails\",\n                      \"linkIsContextBlade\": true,\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"BytesProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"red\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"Recent Queries\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Summary\"\n      },\n      \"name\": \"SummaryGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1f0054e6-9715-47bb-a7fc-e92812c07403\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 4,\n              \"chartType\": -1,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolDataProcessedBytes\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Total Data Processed\",\n              \"gridFormatType\": 1,\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Name\",\n                  \"formatter\": 13\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Value\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"DataProcessed\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1f0054e6-9715-47bb-a7fc-e92812c07403\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolDataProcessedBytes\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Data Processed and Request Completed Count\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"DataProcessed - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Queries by completion type\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project \\r\\n    BytesProcessed=Properties.dataProcessedBytes,\\r\\n    tostring(Identity),\\r\\n    QueryHash=tostring(Properties.queryHash),\\r\\n    QueryText=tostring(Properties.queryText)\\r\\n| summarize \\r\\n    MaxSingleQueryMBProcessed=max(toint(BytesProcessed)/1024/1024),\\r\\n    TotalMBProcessed=sum(toint(BytesProcessed)/1024/1024),\\r\\n    QueryCount=count(),\\r\\n    QueryHash=any(QueryHash) \\r\\n    by QueryText //using queryText because queryHash doesn't seem to be different between queries\\r\\n| extend Approx_Accumulated_Cost=((TotalMBProcessed)*0.000476837158203125)/100 //multiply by price per mb ($5 per TB from Microsoft Docs: https://azure.microsoft.com/en-us/pricing/details/synapse-analytics/)\\r\\n| extend Approx_Cost_Per_Execution=((TotalMBProcessed)*0.000476837158203125)/100/QueryCount\\r\\n| order by TotalMBProcessed\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Data Processed By Query\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"table\",\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"QueryText\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"CellDetails\",\n                      \"linkIsContextBlade\": true\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MaxSingleQueryMBProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"orange\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"TotalMBProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"QueryCount\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"min\": 0,\n                      \"palette\": \"turquoise\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Approx_Accumulated_Cost\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"yellow\"\n                    },\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\",\n                        \"minimumFractionDigits\": 2,\n                        \"maximumFractionDigits\": 4\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Approx_Cost_Per_Execution\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\",\n                        \"minimumFractionDigits\": 2,\n                        \"maximumFractionDigits\": 6\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MaxSingleQueryBytesProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"orange\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"TotalBytesProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\",\n                      \"compositeBarSettings\": {\n                        \"labelText\": \"\",\n                        \"columnSettings\": []\n                      },\n                      \"customColumnWidthSetting\": \"866.007px\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"I\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"any_QueryText\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"CellDetails\",\n                      \"linkIsContextBlade\": true\n                    }\n                  }\n                ]\n              },\n              \"sortBy\": []\n            },\n            \"name\": \"Data Processed By Query\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Queries by completion type\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project BytesProcessed=Properties.dataProcessedBytes,tostring(Identity)\\r\\n| summarize TotalMBProcessed=sum(toint(BytesProcessed)/1024/1024),QueryCount=count(),MaxSingleQueryMBProcessed=max(toint(BytesProcessed)/1024/1024) by Identity\\r\\n| extend Approx_Cost=((TotalMBProcessed)*0.000476837158203125)/100 //multiply by price per mb ($5 per TB from Microsoft Docs: https://azure.microsoft.com/en-us/pricing/details/synapse-analytics/)\\r\\n| order by TotalMBProcessed\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Data Processed By User with $5 per TB cost\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Identity\",\n              \"exportParameterName\": \"Identity\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"table\",\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"TotalMBProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"QueryCount\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"min\": 0,\n                      \"palette\": \"turquoise\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MaxSingleQueryMBProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"orange\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Approx_Cost\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\",\n                        \"useGrouping\": true,\n                        \"minimumFractionDigits\": 2,\n                        \"maximumFractionDigits\": 4\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"TotalBytesProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"min\": 0,\n                      \"palette\": \"blue\",\n                      \"compositeBarSettings\": {\n                        \"labelText\": \"\",\n                        \"columnSettings\": []\n                      },\n                      \"customColumnWidthSetting\": \"866.007px\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MaxSingleQueryBytesProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"min\": 0,\n                      \"palette\": \"orange\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"Data Processed By User - With Cost\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Query runs by user sorted by bytes processed\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| where Identity == '{Identity}'\\r\\n| project \\r\\n    StartTime=Properties.startTime,\\r\\n    EndTime=Properties.endTime, \\r\\n    Identity,\\r\\n    CommandType=Properties.command,\\r\\n    Result=ResultType,\\r\\n    BytesProcessed=Properties.dataProcessedBytes,\\r\\n    QueryText=Properties.queryText\\r\\n| order by toint(BytesProcessed)\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Query Summary for User by Data Processed\",\n              \"noDataMessage\": \"Select a user to see their query history\",\n              \"timeContext\": {\n                \"durationMs\": 86400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"StartTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"EndTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"Result\",\n                    \"formatter\": 18,\n                    \"formatOptions\": {\n                      \"thresholdsOptions\": \"icons\",\n                      \"thresholdsGrid\": [\n                        {\n                          \"operator\": \"Default\",\n                          \"thresholdValue\": null,\n                          \"representation\": \"success\",\n                          \"text\": \"{0}{1}\"\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"BytesProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"min\": 0,\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"QueryText\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"CellDetails\",\n                      \"linkIsContextBlade\": true,\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"Identity\",\n              \"comparison\": \"isNotEqualTo\"\n            },\n            \"name\": \"Query Summary for User by Data Processed\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"DataProcessed\"\n      },\n      \"name\": \"DataProcessed\"\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"azure monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/SynapseServerlessWorkbook.workbook.bak",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"value::all\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"c4475a86-95ea-46b8-a5c0-3ee1c3f528bc\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"value\": {\n              \"durationMs\": 259200000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                },\n                {\n                  \"durationMs\": 5184000000\n                },\n                {\n                  \"durationMs\": 7776000000\n                }\n              ]\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"94b22c78-91c8-47e6-8833-70d458e199c3\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"Subscriptions\",\n            \"type\": 6,\n            \"isRequired\": true,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::1\",\n                \"value::all\"\n              ],\n              \"includeAll\": false,\n              \"showDefault\": false\n            },\n            \"defaultValue\": \"value::all\"\n          },\n          {\n            \"id\": \"3dbc1029-1a17-4a4d-a133-2d47c1e7844e\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"Synapse\",\n            \"type\": 5,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.synapse/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{Subscriptions}\"\n            ],\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::1\",\n                \"value::all\"\n              ],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"defaultValue\": \"value::all\",\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"4d1459db-354e-4019-8e86-015d946ce892\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"multiSelect\": true,\n            \"quote\": \"'\",\n            \"delimiter\": \",\",\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"value::all\"\n            ],\n            \"value\": [\n              \"value::all\"\n            ],\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [\n                \"value::1\",\n                \"value::all\"\n              ],\n              \"showDefault\": false\n            },\n            \"defaultValue\": \"value::all\",\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 1,\n        \"resourceType\": \"microsoft.resourcegraph/resources\"\n      },\n      \"name\": \"parameters - 1\"\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"All costs listed in this workbook are approximate based on $5/TB. The cost listed here has not yet been extensively validated.\",\n        \"style\": \"warning\"\n      },\n      \"name\": \"text - 4\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"4ee15681-1a46-4207-ac59-efab22cd6d9b\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Summary\",\n            \"subTarget\": \"Summary\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"82d489b0-87d6-4875-a5de-c7eb2d1c8c4f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Data Processed\",\n            \"subTarget\": \"DataProcessed\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 4\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook9cfd0268-d682-40bb-870c-61e05013f973\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 4,\n              \"chartType\": -1,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolLoginAttempts\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Login Attempts\",\n              \"gridFormatType\": 1,\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Name\",\n                  \"formatter\": 13\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Value\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"33\",\n            \"showPin\": true,\n            \"name\": \"LoginAttemptsChart - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookdc90b0c5-4f40-4242-89b8-87eac7b9acaf\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 4,\n              \"chartType\": -1,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolRequestsEnded\",\n                  \"aggregation\": 1,\n                  \"columnName\": \"Requests Completed\"\n                }\n              ],\n              \"title\": \"Completed Requests\",\n              \"gridFormatType\": 1,\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Name\",\n                  \"formatter\": 13\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Value\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"33\",\n            \"showPin\": true,\n            \"name\": \"CompletedRequestCountTile\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1f0054e6-9715-47bb-a7fc-e92812c07403\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 4,\n              \"chartType\": -1,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolDataProcessedBytes\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Data Processed\",\n              \"gridFormatType\": 1,\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Name\",\n                  \"formatter\": 13\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Value\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"33\",\n            \"showPin\": true,\n            \"name\": \"DataProcessed - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookdc90b0c5-4f40-4242-89b8-87eac7b9acaf\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolRequestsEnded\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null,\n                  \"columnName\": \"Requests Completed\"\n                }\n              ],\n              \"title\": \"Completed Requests\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"CompletedRequestCount\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1f0054e6-9715-47bb-a7fc-e92812c07403\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolDataProcessedBytes\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Data Processed\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"DataProcessed\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook9cfd0268-d682-40bb-870c-61e05013f973\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolLoginAttempts\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Login Attempts\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"LoginAttemptsChart\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Queries by completion type\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| summarize count() by ResultType\\r\\n| render piechart \",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Queries by Result Type\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"$gen_link_Properties_9\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"$gen_link_Properties_9\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"customWidth\": \"33\",\n            \"showPin\": true,\n            \"name\": \"QueriesByResultType\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Queries by query type\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project CommandType=tostring(Properties.command)\\r\\n| summarize count() by CommandType\\r\\n| render piechart \\r\\n\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Queries by Query Type\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"33\",\n            \"showPin\": true,\n            \"name\": \"Queries by Query Type\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Queries by completion type\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project BytesProcessed=Properties.dataProcessedBytes,tostring(Identity)\\r\\n| summarize sum(toint(BytesProcessed)) by Identity\\r\\n| render piechart \\r\\n\\r\\n\",\n              \"size\": 3,\n              \"showAnalytics\": true,\n              \"title\": \"Data Processed By User\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"33\",\n            \"showPin\": true,\n            \"name\": \"Data Processed By User\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Most Recent Query Runs\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| order by TimeGenerated\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project \\r\\n    StartTime=Properties.startTime,\\r\\n    EndTime=Properties.endTime, \\r\\n    Identity,\\r\\n    CommandType=Properties.command,\\r\\n    Result=ResultType,\\r\\n    MbProcessed=(Properties.dataProcessedBytes/1024/1024),\\r\\n    QueryText=Properties.queryText,\\r\\n    _ResourceId\\r\\n| extend elapsedTime_sec =(todatetime(EndTime) - StartTime)/1s\\r\\n| extend Approx_Cost=((MbProcessed)*0.000476837158203125)/100 //multiply by price per mb ($5 per TB from Microsoft Docs: https://azure.microsoft.com/en-us/pricing/details/synapse-analytics/)\\r\\n| project-reorder StartTime,EndTime,elapsedTime_sec,Identity,CommandType,Result,MbProcessed,Approx_Cost\\r\\n\",\n              \"size\": 2,\n              \"showAnalytics\": true,\n              \"title\": \"Recent Queries\",\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"StartTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"EndTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"elapsedTime_sec\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Result\",\n                    \"formatter\": 18,\n                    \"formatOptions\": {\n                      \"thresholdsOptions\": \"icons\",\n                      \"thresholdsGrid\": [\n                        {\n                          \"operator\": \"Default\",\n                          \"thresholdValue\": null,\n                          \"representation\": \"success\",\n                          \"text\": \"{0}{1}\"\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MbProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Approx_Cost\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"yellow\"\n                    },\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\",\n                        \"minimumFractionDigits\": 2,\n                        \"maximumFractionDigits\": 6\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"QueryText\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"CellDetails\",\n                      \"linkIsContextBlade\": true,\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"BytesProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"red\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"Recent Queries\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Summary\"\n      },\n      \"name\": \"SummaryGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1f0054e6-9715-47bb-a7fc-e92812c07403\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 4,\n              \"chartType\": -1,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolDataProcessedBytes\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Total Data Processed\",\n              \"gridFormatType\": 1,\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Name\",\n                  \"formatter\": 13\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Value\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"DataProcessed\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1f0054e6-9715-47bb-a7fc-e92812c07403\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"Synapse\",\n              \"resourceIds\": [\n                \"{Synapse}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces\",\n                  \"metric\": \"microsoft.synapse/workspaces-Builtin SQL Pool-BuiltinSqlPoolDataProcessedBytes\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Data Processed and Request Completed Count\",\n              \"showOpenInMe\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"DataProcessed - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Queries by completion type\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project \\r\\n    BytesProcessed=Properties.dataProcessedBytes,\\r\\n    tostring(Identity),\\r\\n    QueryHash=tostring(Properties.queryHash),\\r\\n    QueryText=tostring(Properties.queryText)\\r\\n| summarize \\r\\n    MaxSingleQueryMBProcessed=max(toint(BytesProcessed)/1024/1024),\\r\\n    TotalMBProcessed=sum(toint(BytesProcessed)/1024/1024),\\r\\n    QueryCount=count(),\\r\\n    QueryHash=any(QueryHash) \\r\\n    by QueryText //using queryText because queryHash doesn't seem to be different between queries\\r\\n| extend Approx_Accumulated_Cost=((TotalMBProcessed)*0.000476837158203125)/100 //multiply by price per mb ($5 per TB from Microsoft Docs: https://azure.microsoft.com/en-us/pricing/details/synapse-analytics/)\\r\\n| extend Approx_Cost_Per_Execution=((TotalMBProcessed)*0.000476837158203125)/100/QueryCount\\r\\n| order by TotalMBProcessed\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Data Processed By Query\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"table\",\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"QueryText\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"CellDetails\",\n                      \"linkIsContextBlade\": true\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MaxSingleQueryMBProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"orange\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"TotalMBProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"QueryCount\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"min\": 0,\n                      \"palette\": \"turquoise\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Approx_Accumulated_Cost\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"yellow\"\n                    },\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\",\n                        \"minimumFractionDigits\": 2,\n                        \"maximumFractionDigits\": 4\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Approx_Cost_Per_Execution\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\",\n                        \"minimumFractionDigits\": 2,\n                        \"maximumFractionDigits\": 6\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MaxSingleQueryBytesProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"orange\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"TotalBytesProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\",\n                      \"compositeBarSettings\": {\n                        \"labelText\": \"\",\n                        \"columnSettings\": []\n                      },\n                      \"customColumnWidthSetting\": \"866.007px\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"I\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"any_QueryText\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"CellDetails\",\n                      \"linkIsContextBlade\": true\n                    }\n                  }\n                ]\n              },\n              \"sortBy\": []\n            },\n            \"showPin\": true,\n            \"name\": \"Data Processed By Query\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Queries by completion type\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| project BytesProcessed=Properties.dataProcessedBytes,tostring(Identity)\\r\\n| summarize TotalMBProcessed=sum(toint(BytesProcessed)/1024/1024),QueryCount=count(),MaxSingleQueryMBProcessed=max(toint(BytesProcessed)/1024/1024) by Identity\\r\\n| extend Approx_Cost=((TotalMBProcessed)*0.000476837158203125)/100 //multiply by price per mb ($5 per TB from Microsoft Docs: https://azure.microsoft.com/en-us/pricing/details/synapse-analytics/)\\r\\n| order by TotalMBProcessed\\r\\n\",\n              \"size\": 0,\n              \"showAnalytics\": true,\n              \"title\": \"Data Processed By User with $5 per TB cost\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Identity\",\n              \"exportParameterName\": \"Identity\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"table\",\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"TotalMBProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"QueryCount\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"min\": 0,\n                      \"palette\": \"turquoise\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MaxSingleQueryMBProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"palette\": \"orange\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Approx_Cost\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\",\n                        \"useGrouping\": true,\n                        \"minimumFractionDigits\": 2,\n                        \"maximumFractionDigits\": 4\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"TotalBytesProcessed\",\n                    \"formatter\": 3,\n                    \"formatOptions\": {\n                      \"min\": 0,\n                      \"palette\": \"blue\",\n                      \"compositeBarSettings\": {\n                        \"labelText\": \"\",\n                        \"columnSettings\": []\n                      },\n                      \"customColumnWidthSetting\": \"866.007px\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"MaxSingleQueryBytesProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"min\": 0,\n                      \"palette\": \"orange\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"showPin\": true,\n            \"name\": \"Data Processed By User - With Cost\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Query runs by user sorted by bytes processed\\r\\nSynapseBuiltinSqlPoolRequestsEnded\\r\\n| where _ResourceId in~ ({Synapse})\\r\\n| where Identity == '{Identity}'\\r\\n| project \\r\\n    StartTime=Properties.startTime,\\r\\n    EndTime=Properties.endTime, \\r\\n    Identity,\\r\\n    CommandType=Properties.command,\\r\\n    Result=ResultType,\\r\\n    BytesProcessed=Properties.dataProcessedBytes,\\r\\n    QueryText=Properties.queryText\\r\\n| order by toint(BytesProcessed)\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Query Summary for User by Data Processed\",\n              \"noDataMessage\": \"Select a user to see their query history\",\n              \"timeContext\": {\n                \"durationMs\": 1209600000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"StartTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"EndTime\",\n                    \"formatter\": 6\n                  },\n                  {\n                    \"columnMatch\": \"Result\",\n                    \"formatter\": 18,\n                    \"formatOptions\": {\n                      \"thresholdsOptions\": \"icons\",\n                      \"thresholdsGrid\": [\n                        {\n                          \"operator\": \"Default\",\n                          \"thresholdValue\": null,\n                          \"representation\": \"success\",\n                          \"text\": \"{0}{1}\"\n                        }\n                      ]\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"BytesProcessed\",\n                    \"formatter\": 8,\n                    \"formatOptions\": {\n                      \"min\": 0,\n                      \"palette\": \"blue\"\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"QueryText\",\n                    \"formatter\": 7,\n                    \"formatOptions\": {\n                      \"linkTarget\": \"CellDetails\",\n                      \"linkIsContextBlade\": true,\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"Identity\",\n              \"comparison\": \"isNotEqualTo\"\n            },\n            \"name\": \"Query Summary for User by Data Processed\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"DataProcessed\"\n      },\n      \"name\": \"DataProcessed\"\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"Azure Monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/SynapseWorkbook_WIP_v01.json",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{LogAnalyticsWorkspace}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": false,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| distinct ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 14400000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct Resource \",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName_s\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.resourcegraph/resources\"\n      },\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload\",\n            \"subTarget\": \"Workload\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Investigate Query by Query Text\",\n            \"subTarget\": \"QueryByQueryText\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Activity\",\n            \"subTarget\": \"QueryActivity\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent\",\n                  \"aggregation\": 3,\n                  \"columnName\": \"DWU Percentage\"\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cpu_percent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-queued_queries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render timechart   \\r\\n\",\n              \"size\": 0,\n              \"title\": \"Query Completion Count by End Time - 5m buckets\",\n              \"color\": \"redBright\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"seriesLabelSettings\": [\n                  {\n                    \"seriesName\": \"Completed\",\n                    \"color\": \"green\"\n                  },\n                  {\n                    \"seriesName\": \"Failed\",\n                    \"color\": \"red\"\n                  },\n                  {\n                    \"seriesName\": \"Cancelled\",\n                    \"color\": \"yellow\"\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \" AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == '{LogicalServerName}'\\r\\n    //| where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | summarize sum(affected_rows_d) by bin(TimeGenerated,1h)\",\n              \"size\": 0,\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\"\n            },\n            \"name\": \"query - 7\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_successful\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_failed\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_used_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_hit_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Workload\"\n      },\n      \"name\": \"group - 1\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"TempDB \",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 4,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nAzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 0\\r\\n| summarize sum(RowCount_d) by RequestId_s, OperationType_s\\r\\n| order by sum_RowCount_d desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId_s\",\n                \"group\": \"OperationType_s\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = AzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 100000000\\r\\n| extend Step_Elapsed_Min = round((EndTime_t - StartTime_t)/1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType_s == 'BroadcastMoveOperation', (RowCount_d*20), RowCount_d)),RowCount_d)\\r\\n| project-rename StepStatus = Status_s, StepStart = StartTime_t, StepEnd = EndTime_t//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId_s,OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex_d,Resource;\\r\\nRequestSteps | join (AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder Session_ID, Request_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex_d, OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}'\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}' //Put your QueryID here\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"TempDB\"\n      },\n      \"name\": \"group - 3\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query By Query Text\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"isRequired\": true,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Command contains '{QueryTextSnippet}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| order by elapsedTime_sec\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n    Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n    Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n    SampleQID = any(RequestId_s)\\r\\n    by Command\\r\\n| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Queries Containing that text\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"SampleQID\",\n              \"exportParameterName\": \"SampleQID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where RequestId_s == '{SampleQID}'\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| join kind=inner\\r\\n    (AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=max(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n    | extend elapsedTime_sec = (End_Time - Submit_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n    | extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Session_ID1,Submit_Time1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1,CompileTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryByQueryText\"\n      },\n      \"name\": \"group - 4\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Replicated Tables\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId_s) by Command_s\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command_s\",\n              \"exportParameterName\": \"QueryText\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s == \\\"{QueryText}\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s, bin(TimeGenerated,24h)\\r\\n| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),      Request_ID=max(RequestId_s),      Submit_Time=max(SubmitTime_t),      Start_Time=max(StartTime_t),      End_Time=max(EndTime_t),      Command=max(Command_s),       Statement_Type=max(StatementType_s),     Resource_class=max(ResourceClass_s)      by RequestId_s\\r\\n| join kind= inner\\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    //| where StatementType_s !in ('Batch','Execute')\\r\\n    | where StatementType_s == 'BuildReplicatedTableCache'\\r\\n    | where EndTime_t > ago(7d)\\r\\n    | where StartTime_t > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime_t - StartTime_t)/1m\\r\\n    //| extend elapsedTime_min = elapsedTime/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project Request_ID=RequestId_s,elapsedTime_min \\r\\n)\\r\\non Request_ID\\r\\n| order by elapsedTime_min desc\\r\\n| project Request_ID,Submit_Time,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"ReplicatedTables\"\n      },\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroup\",\n                  \"type\": 10,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n and ResourceClass_s != \\\"\\\"\\r\\n| distinct ResourceClass_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": []\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                  \"value\": \"wg_batch_M\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_queued_queries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"1\",\n                  \"key\": \"WorkloadGroupName\",\n                  \"operator\": 0,\n                  \"values\": [\n                    \"WorkloadGroup\"\n                  ]\n                }\n              ],\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"WorkloadManagement\"\n      },\n      \"name\": \"group - 6\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by server_principal_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by application_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": []\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n//| where Last_Status == \\\"Completed\\\"\\r\\n//| where Query_Text contains \\\"\\\" //Uncomment to search by query text\\r\\n| join kind = inner \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s,\\r\\n    Query_ElapsedTime=(max(EndTime_t) - min(StartTime_t))/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime,Status,Query = Query_Text,Resource_class\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n    | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), Query = statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, Query, QuerySource\\r\\n) on Query,EventTime\\r\\n    | order by affected_rows_d desc\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n| extend Duration = round(duration_milliseconds_d /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(event_time_t, 1d), TimeBin\",\n              \"size\": 0,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"name\": \"query - 0 - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryActivity\"\n      },\n      \"name\": \"QueryActivityGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"azure monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/SynapseWorkbook_WIP_v02.json",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{LogAnalyticsWorkspace}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": false,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| distinct ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 14400000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct Resource \",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName_s\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.resourcegraph/resources\"\n      },\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload\",\n            \"subTarget\": \"Workload\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Investigation\",\n            \"subTarget\": \"QueryInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Activity\",\n            \"subTarget\": \"QueryActivity\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent\",\n                  \"aggregation\": 3,\n                  \"columnName\": \"DWU Percentage\"\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cpu_percent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-queued_queries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render timechart   \\r\\n\",\n              \"size\": 0,\n              \"title\": \"Query Completion Count by End Time - 5m buckets\",\n              \"color\": \"redBright\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"seriesLabelSettings\": [\n                  {\n                    \"seriesName\": \"Completed\",\n                    \"color\": \"green\"\n                  },\n                  {\n                    \"seriesName\": \"Failed\",\n                    \"color\": \"red\"\n                  },\n                  {\n                    \"seriesName\": \"Cancelled\",\n                    \"color\": \"yellow\"\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \" AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == '{LogicalServerName}'\\r\\n    //| where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | summarize sum(affected_rows_d) by bin(TimeGenerated,1h)\",\n              \"size\": 0,\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\"\n            },\n            \"name\": \"query - 7\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_successful\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_failed\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_used_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_hit_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Workload\"\n      },\n      \"name\": \"group - 1\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"TempDB \",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 4,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nAzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 0\\r\\n| summarize sum(RowCount_d) by RequestId_s, OperationType_s\\r\\n| order by sum_RowCount_d desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId_s\",\n                \"group\": \"OperationType_s\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = AzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 100000000\\r\\n| extend Step_Elapsed_Min = round((EndTime_t - StartTime_t)/1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType_s == 'BroadcastMoveOperation', (RowCount_d*20), RowCount_d)),RowCount_d)\\r\\n| project-rename StepStatus = Status_s, StepStart = StartTime_t, StepEnd = EndTime_t//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId_s,OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex_d,Resource;\\r\\nRequestSteps | join (AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder Session_ID, Request_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex_d, OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}'\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}' //Put your QueryID here\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"TempDB\"\n      },\n      \"name\": \"group - 3\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Investigation\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Use the following fields to search either using a query text snippet or using a Request ID. \"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"0c2128d0-d979-4562-a28c-e7ceb955f126\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Command has '{QueryTextSnippet}'\\r\\nand RequestId_s has '{RequestIdSearch}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| order by elapsedTime_sec\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n    Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n    Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n    SampleQID = any(RequestId_s)\\r\\n    by Command\\r\\n| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Queries\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"SampleQID\",\n              \"exportParameterName\": \"SampleQID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where RequestId_s == '{SampleQID}'\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| join kind=inner\\r\\n    (AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=max(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n    | extend elapsedTime_sec = (End_Time - Submit_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n    | extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Session_ID1,Submit_Time1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1,CompileTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryInvestigation\"\n      },\n      \"name\": \"group - 4\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Replicated Tables\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId_s) by Command_s\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command_s\",\n              \"exportParameterName\": \"QueryText\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s == \\\"{QueryText}\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s, bin(TimeGenerated,24h)\\r\\n| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),      Request_ID=max(RequestId_s),      Submit_Time=max(SubmitTime_t),      Start_Time=max(StartTime_t),      End_Time=max(EndTime_t),      Command=max(Command_s),       Statement_Type=max(StatementType_s),     Resource_class=max(ResourceClass_s)      by RequestId_s\\r\\n| join kind= inner\\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    //| where StatementType_s !in ('Batch','Execute')\\r\\n    | where StatementType_s == 'BuildReplicatedTableCache'\\r\\n    | where EndTime_t > ago(7d)\\r\\n    | where StartTime_t > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime_t - StartTime_t)/1m\\r\\n    //| extend elapsedTime_min = elapsedTime/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project Request_ID=RequestId_s,elapsedTime_min \\r\\n)\\r\\non Request_ID\\r\\n| order by elapsedTime_min desc\\r\\n| project Request_ID,Submit_Time,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"ReplicatedTables\"\n      },\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": \"WorkloadGroupName\"\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroup\",\n                  \"type\": 10,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n and ResourceClass_s != \\\"\\\"\\r\\n| distinct ResourceClass_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": []\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                  \"value\": \"wg_batch_M\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_queued_queries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"1\",\n                  \"key\": \"WorkloadGroupName\",\n                  \"operator\": 0,\n                  \"values\": [\n                    \"WorkloadGroup\"\n                  ]\n                }\n              ],\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"WorkloadManagement\"\n      },\n      \"name\": \"group - 6\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by server_principal_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by application_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": []\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n//| where Last_Status == \\\"Completed\\\"\\r\\n//| where Query_Text contains \\\"\\\" //Uncomment to search by query text\\r\\n| join kind = inner \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s,\\r\\n    Query_ElapsedTime=(max(EndTime_t) - min(StartTime_t))/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime,Status,Query = Query_Text,Resource_class\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n    | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), Query = statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, Query, QuerySource\\r\\n) on Query,EventTime\\r\\n    | order by affected_rows_d desc\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n| extend Duration = round(duration_milliseconds_d /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(event_time_t, 1d), TimeBin\",\n              \"size\": 0,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"name\": \"query - 0 - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryActivity\"\n      },\n      \"name\": \"QueryActivityGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"azure monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/SynapseWorkbook_v1.00.json",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"parameters\": [\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| distinct ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 14400000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct Resource \",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName_s\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n      },\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload\",\n            \"subTarget\": \"Workload\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Investigation\",\n            \"subTarget\": \"QueryInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Activity\",\n            \"subTarget\": \"QueryActivity\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"5ff681ee-e005-481f-b743-b66ab1b9d71d\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Session Investigation\",\n            \"subTarget\": \"SessionInvestigation\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"DWU Percentage\"\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cpu_percent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 43200000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-queued_queries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 43200000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 43200000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": \"WorkloadGroupName\"\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render timechart   \\r\\n\",\n              \"size\": 0,\n              \"title\": \"Query Completion Count by End Time - 5m buckets\",\n              \"color\": \"redBright\",\n              \"timeContext\": {\n                \"durationMs\": 43200000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"seriesLabelSettings\": [\n                  {\n                    \"seriesName\": \"Completed\",\n                    \"color\": \"green\"\n                  },\n                  {\n                    \"seriesName\": \"Failed\",\n                    \"color\": \"red\"\n                  },\n                  {\n                    \"seriesName\": \"Cancelled\",\n                    \"color\": \"yellow\"\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \" AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == '{LogicalServerName}'\\r\\n    //| where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | summarize sum(affected_rows_d) by bin(TimeGenerated,1h)\",\n              \"size\": 0,\n              \"title\": \"Rows Processed by End Time - 1h buckets\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\"\n            },\n            \"name\": \"query - 7\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 43200000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_successful\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_failed\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 43200000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_used_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_hit_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Workload\"\n      },\n      \"name\": \"group - 1\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"TempDB \",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nAzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 0\\r\\n| summarize sum(RowCount_d) by RequestId_s, OperationType_s\\r\\n| order by sum_RowCount_d desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId_s\",\n                \"group\": \"OperationType_s\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = AzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 100000000\\r\\n| extend Step_Elapsed_Min = round((EndTime_t - StartTime_t)/1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType_s == 'BroadcastMoveOperation', (RowCount_d*20), RowCount_d)),RowCount_d)\\r\\n| project-rename StepStatus = Status_s, StepStart = StartTime_t, StepEnd = EndTime_t//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId_s,OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex_d,Resource;\\r\\nRequestSteps | join (AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder Session_ID, Request_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex_d, OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}'\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}' //Put your QueryID here\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"TempDB\"\n      },\n      \"name\": \"group - 3\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Investigation\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Search Criteria\\r\\nUse the following fields to search either using a query text snippet or using a Request ID. If using a query text snippet, try to keep it as simple as possible becuase minor changes in formatting may cause your queries not to show up in the results. It's best to pick something like a table name, then choose the proper query from the list that will populate. \"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0c2128d0-d979-4562-a28c-e7ceb955f126\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                },\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Command has '{QueryTextSnippet}'\\r\\nand RequestId_s has '{RequestIdSearch}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| order by elapsedTime_sec\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n    Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n    Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n    SampleQID = any(RequestId_s),\\r\\n    SampleSessionID = any(Session_ID)\\r\\n    by Command\\r\\n| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Queries\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleSessionID\",\n                  \"parameterName\": \"Samp\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where RequestId_s == '{SampleQID}'\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| join kind=inner\\r\\n    (AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=max(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n    | extend elapsedTime_sec = (End_Time - Submit_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n    | extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Session_ID1,Submit_Time1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1,CompileTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryInvestigation\"\n      },\n      \"name\": \"group - 4\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Replicated Tables\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId_s) by Command_s\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command_s\",\n              \"exportParameterName\": \"QueryText\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s == \\\"{QueryText}\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s, bin(TimeGenerated,24h)\\r\\n| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),      Request_ID=max(RequestId_s),      Submit_Time=max(SubmitTime_t),      Start_Time=max(StartTime_t),      End_Time=max(EndTime_t),      Command=max(Command_s),       Statement_Type=max(StatementType_s),     Resource_class=max(ResourceClass_s)      by RequestId_s\\r\\n| join kind= inner\\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    //| where StatementType_s !in ('Batch','Execute')\\r\\n    | where StatementType_s == 'BuildReplicatedTableCache'\\r\\n    | where EndTime_t > ago(7d)\\r\\n    | where StartTime_t > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime_t - StartTime_t)/1m\\r\\n    //| extend elapsedTime_min = elapsedTime/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project Request_ID=RequestId_s,elapsedTime_min \\r\\n)\\r\\non Request_ID\\r\\n| order by elapsedTime_min desc\\r\\n| project Request_ID,Submit_Time,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"ReplicatedTables\"\n      },\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload Management\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroupName\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n and ResourceClass_s != \\\"\\\"\\r\\n| distinct ResourceClass_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_queued_queries\",\n                  \"aggregation\": 1\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"3\",\n                  \"key\": \"WorkloadGroupName\",\n                  \"operator\": 0,\n                  \"valueParam\": \"WorkloadGroupName\"\n                }\n              ],\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"WorkloadManagement\"\n      },\n      \"name\": \"group - 6\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Activity\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\\r\\nSQL Auditing must be enabled and sending to the same Log Analytics Workspace for this page to work. \"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by server_principal_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by application_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) ,\\r\\n    Query_ElapsedTime_s=round((max(EndTime_t) - max(StartTime_t))/1s)\\r\\n    by RequestId_s\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime_s,Status,Query = Query_Text,Resource_class\\r\\n| join kind = rightouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n   // | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, statement_s, QuerySource\\r\\n) on EventTime\\r\\n    | order by affected_rows_d desc\\r\\n| project Session_ID,RequestID=RequestId_s,Submit_time=Query_Submit_Time,Start_Time=Query_Start_Time,End_Time=EventTime,Status,Resource_class,UserName,Query_text=statement_s,Host,QuerySource,Affected_rows=affected_rows_d,num_steps,max_step_rows,max_step_sec,Total_Duration_s=duration_seconds\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n| extend Duration = round(duration_milliseconds_d /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(event_time_t, 1d), TimeBin\",\n              \"size\": 0,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) ,\\r\\n    Query_ElapsedTime_s=round((max(EndTime_t) - max(StartTime_t))/1s)\\r\\n    by RequestId_s\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime_s,Status,Query = Query_Text,Resource_class\\r\\n| join kind = rightouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n   // | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, statement_s, QuerySource\\r\\n) on EventTime\\r\\n    | order by affected_rows_d desc\\r\\n| project Session_ID,RequestID=RequestId_s,Submit_time=Query_Submit_Time,Start_Time=Query_Start_Time,End_Time=EventTime,Status,Resource_class,UserName,Query_text=statement_s,Host,QuerySource,Affected_rows=affected_rows_d,num_steps,max_step_rows,max_step_sec,Total_Duration_s=duration_seconds\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Affected Rows By Session ID\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"linechart\",\n              \"chartSettings\": {\n                \"xAxis\": \"RequestID\",\n                \"yAxis\": [\n                  \"Affected_rows\"\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryActivity\"\n      },\n      \"name\": \"QueryActivityGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Comparison\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"7fa3187e-9225-4faa-8f80-dc1bc40c5aab\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId1\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"315fc476-469a-4d8d-b421-028d1113ab06\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId2\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute') and RequestId_s == '{RequestId1}'\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Session_ID,Request_ID,ElapsedTime_min,Command,Resource_class,Submit_Time,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute') and RequestId_s == '{RequestId2}'\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Session_ID,Request_ID,ElapsedTime_min,Command,Resource_class,Submit_Time,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId1}'\\r\\n| summarize StartTime=max(StartTime_t)\\r\\n    ,EndTime=max(EndTime_t)\\r\\n    ,RequestID=max(RequestId_s)\\r\\n    ,Operation=max(OperationType_s)\\r\\n    ,RowCount=max(RowCount_d)\\r\\n    ,Command=max(Command_s)\\r\\n    ,Status=max(Status_s)\\r\\n     by StepIndex_d\\r\\n| order by StepIndex_d asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex_d\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4\",\n            \"styleSettings\": {\n              \"margin\": \"0\",\n              \"padding\": \"10px\"\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId2}'\\r\\n| summarize StartTime=max(StartTime_t)\\r\\n    ,EndTime=max(EndTime_t)\\r\\n    ,RequestID=max(RequestId_s)\\r\\n    ,Operation=max(OperationType_s)\\r\\n    ,RowCount=max(RowCount_d)\\r\\n    ,Command=max(Command_s)\\r\\n    ,Status=max(Status_s)\\r\\n     by StepIndex_d\\r\\n| order by StepIndex_d asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex_d\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4 - Copy\",\n            \"styleSettings\": {\n              \"padding\": \"10px\"\n            }\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryComparison\"\n      },\n      \"name\": \"QueryComparison\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Session Investigation\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"feb2ac70-2555-456e-bfa6-6ad4a2dcad0f\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SessionID\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Query_End_Time = max(EndTime_t ) by SessionId_s\\r\\n| where SessionId_s == '{SessionID}'\\r\\n| join kind = rightouter \\r\\n(  \\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' \\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version' and statement_s != 'SELECT @@SPID;' and server_principal_name_s != '##MS_InstanceCertificate##'\\r\\n) on $left.Query_End_Time==$right.event_time_t \\r\\n| summarize DatabaseName= max(database_name_s)\\r\\n    , UserName= any(server_principal_name_s)\\r\\n    , Host= max(host_name_s)\\r\\n    , Application=max(application_name_s)\\r\\n     by SessionId_s\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"tiles\",\n              \"tileSettings\": {\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\"\n                },\n                \"subtitleContent\": {\n                  \"columnMatch\": \"SessionId_s\"\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Application\"\n                },\n                \"rightContent\": {\n                  \"columnMatch\": \"Host\"\n                },\n                \"secondaryContent\": {\n                  \"columnMatch\": \"DatabaseName\"\n                },\n                \"showBorder\": false,\n                \"size\": \"full\"\n              },\n              \"graphSettings\": {\n                \"type\": 0\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s),   \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Session_ID has '{SessionID}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| order by Submit_Time asc\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"RequestId_s\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 2\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"SessionInvestigation\"\n      },\n      \"name\": \"group - 9\"\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"azure monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/SynapseWorkbook_v1.01.json",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{LogAnalyticsWorkspace}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| distinct ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 604800000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 14400000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct Resource \",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 604800000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName_s\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n      },\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload\",\n            \"subTarget\": \"Workload\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Investigation\",\n            \"subTarget\": \"QueryInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"5ff681ee-e005-481f-b743-b66ab1b9d71d\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Session Investigation\",\n            \"subTarget\": \"SessionInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Audit\",\n            \"subTarget\": \"QueryAudit\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"DWU Percentage\"\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cpu_percent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-queued_queries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": \"WorkloadGroupName\"\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render timechart   \\r\\n\",\n              \"size\": 0,\n              \"title\": \"Query Completion Count by End Time - 5m buckets\",\n              \"color\": \"redBright\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"seriesLabelSettings\": [\n                  {\n                    \"seriesName\": \"Completed\",\n                    \"color\": \"green\"\n                  },\n                  {\n                    \"seriesName\": \"Failed\",\n                    \"color\": \"red\"\n                  },\n                  {\n                    \"seriesName\": \"Cancelled\",\n                    \"color\": \"yellow\"\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \" AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == '{LogicalServerName}'\\r\\n    //| where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | summarize sum(affected_rows_d) by bin(TimeGenerated,1h)\",\n              \"size\": 0,\n              \"title\": \"Rows Processed by End Time - 1h buckets\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\"\n            },\n            \"name\": \"query - 7\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_successful\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_failed\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_used_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_hit_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Workload\"\n      },\n      \"name\": \"group - 1\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"TempDB \",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nAzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 0\\r\\n| summarize sum(RowCount_d) by RequestId_s, OperationType_s\\r\\n| order by sum_RowCount_d desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId_s\",\n                \"group\": \"OperationType_s\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = AzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 100000000\\r\\n| extend Step_Elapsed_Min = round((EndTime_t - StartTime_t)/1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType_s == 'BroadcastMoveOperation', (RowCount_d*20), RowCount_d)),RowCount_d)\\r\\n| project-rename StepStatus = Status_s, StepStart = StartTime_t, StepEnd = EndTime_t//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId_s,OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex_d,Resource;\\r\\nRequestSteps | join (AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder Session_ID, Request_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex_d, OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}'\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}' //Put your QueryID here\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"TempDB\"\n      },\n      \"name\": \"group - 3\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Investigation\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Search Criteria\\r\\nUse the following fields to search either using a query text snippet or using a Request ID. If using a query text snippet, try to keep it as simple as possible becuase minor changes in formatting may cause your queries not to show up in the results. It's best to pick something like a table name, then choose the proper query from the list that will populate. \"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0c2128d0-d979-4562-a28c-e7ceb955f126\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                },\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Command has '{QueryTextSnippet}'\\r\\nand RequestId_s has '{RequestIdSearch}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| order by elapsedTime_sec\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n    Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n    Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n    SampleQID = any(RequestId_s),\\r\\n    SampleSessionID = any(Session_ID)\\r\\n    by Command\\r\\n| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Queries\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleSessionID\",\n                  \"parameterName\": \"Samp\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where RequestId_s == '{SampleQID}'\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| join kind=inner\\r\\n    (AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=max(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n    | extend elapsedTime_sec = (End_Time - Submit_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n    | extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Session_ID1,Submit_Time1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1,CompileTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryInvestigation\"\n      },\n      \"name\": \"group - 4\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Replicated Tables\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId_s) by Command_s\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command_s\",\n              \"exportParameterName\": \"QueryText\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s == \\\"{QueryText}\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s, bin(TimeGenerated,24h)\\r\\n| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),      Request_ID=max(RequestId_s),      Submit_Time=max(SubmitTime_t),      Start_Time=max(StartTime_t),      End_Time=max(EndTime_t),      Command=max(Command_s),       Statement_Type=max(StatementType_s),     Resource_class=max(ResourceClass_s)      by RequestId_s\\r\\n| join kind= inner\\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    //| where StatementType_s !in ('Batch','Execute')\\r\\n    | where StatementType_s == 'BuildReplicatedTableCache'\\r\\n    | where EndTime_t > ago(7d)\\r\\n    | where StartTime_t > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime_t - StartTime_t)/1m\\r\\n    //| extend elapsedTime_min = elapsedTime/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project Request_ID=RequestId_s,elapsedTime_min \\r\\n)\\r\\non Request_ID\\r\\n| order by elapsedTime_min desc\\r\\n| project Request_ID,Submit_Time,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"ReplicatedTables\"\n      },\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload Management\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroupName\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\nand Resource == '{DatabaseName}'\\r\\n and ResourceClass_s != \\\"\\\"\\r\\n| distinct ResourceClass_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 604800000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_queued_queries\",\n                  \"aggregation\": 1\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"3\",\n                  \"key\": \"WorkloadGroupName\",\n                  \"operator\": 0,\n                  \"valueParam\": \"WorkloadGroupName\"\n                }\n              ],\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"WorkloadManagement\"\n      },\n      \"name\": \"group - 6\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Audit\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\\r\\nSQL Auditing must be enabled and sending to the same Log Analytics Workspace for this page to work. \"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by server_principal_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by application_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) ,\\r\\n    Query_ElapsedTime_s=round((max(EndTime_t) - max(StartTime_t))/1s)\\r\\n    by RequestId_s\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime_s,Status,Query = Query_Text,Resource_class\\r\\n| join kind = rightouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n   // | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, statement_s, QuerySource\\r\\n) on EventTime\\r\\n    | order by affected_rows_d desc\\r\\n| project Session_ID,RequestID=RequestId_s,Submit_time=Query_Submit_Time,Start_Time=Query_Start_Time,End_Time=EventTime,Status,Resource_class,UserName,Query_text=statement_s,Host,QuerySource,Affected_rows=affected_rows_d,num_steps,max_step_rows,max_step_sec,Total_Duration_s=duration_seconds\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n| extend Duration = round(duration_milliseconds_d /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(event_time_t, 1d), TimeBin\",\n              \"size\": 0,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) ,\\r\\n    Query_ElapsedTime_s=round((max(EndTime_t) - max(StartTime_t))/1s)\\r\\n    by RequestId_s\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime_s,Status,Query = Query_Text,Resource_class\\r\\n| join kind = rightouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n   // | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, statement_s, QuerySource\\r\\n) on EventTime\\r\\n    | order by affected_rows_d desc\\r\\n| project Session_ID,RequestID=RequestId_s,Submit_time=Query_Submit_Time,Start_Time=Query_Start_Time,End_Time=EventTime,Status,Resource_class,UserName,Query_text=statement_s,Host,QuerySource,Affected_rows=affected_rows_d,num_steps,max_step_rows,max_step_sec,Total_Duration_s=duration_seconds\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Affected Rows By Session ID\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"linechart\",\n              \"chartSettings\": {\n                \"xAxis\": \"RequestID\",\n                \"yAxis\": [\n                  \"Affected_rows\"\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryAudit\"\n      },\n      \"name\": \"QueryAuditGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Comparison\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"7fa3187e-9225-4faa-8f80-dc1bc40c5aab\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId1\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"315fc476-469a-4d8d-b421-028d1113ab06\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId2\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute') and RequestId_s == '{RequestId1}'\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Session_ID,Request_ID,ElapsedTime_min,Command,Resource_class,Submit_Time,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute') and RequestId_s == '{RequestId2}'\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Session_ID,Request_ID,ElapsedTime_min,Command,Resource_class,Submit_Time,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId1}'\\r\\n| summarize StartTime=max(StartTime_t)\\r\\n    ,EndTime=max(EndTime_t)\\r\\n    ,RequestID=max(RequestId_s)\\r\\n    ,Operation=max(OperationType_s)\\r\\n    ,RowCount=max(RowCount_d)\\r\\n    ,Command=max(Command_s)\\r\\n    ,Status=max(Status_s)\\r\\n     by StepIndex_d\\r\\n| order by StepIndex_d asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex_d\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4\",\n            \"styleSettings\": {\n              \"margin\": \"0\",\n              \"padding\": \"10px\"\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId2}'\\r\\n| summarize StartTime=max(StartTime_t)\\r\\n    ,EndTime=max(EndTime_t)\\r\\n    ,RequestID=max(RequestId_s)\\r\\n    ,Operation=max(OperationType_s)\\r\\n    ,RowCount=max(RowCount_d)\\r\\n    ,Command=max(Command_s)\\r\\n    ,Status=max(Status_s)\\r\\n     by StepIndex_d\\r\\n| order by StepIndex_d asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex_d\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4 - Copy\",\n            \"styleSettings\": {\n              \"padding\": \"10px\"\n            }\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryComparison\"\n      },\n      \"name\": \"QueryComparison\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Session Investigation\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"feb2ac70-2555-456e-bfa6-6ad4a2dcad0f\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SessionID\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Query_End_Time = max(EndTime_t ) by SessionId_s\\r\\n| where SessionId_s == '{SessionID}'\\r\\n| join kind = rightouter \\r\\n(  \\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' \\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version' and statement_s != 'SELECT @@SPID;' and server_principal_name_s != '##MS_InstanceCertificate##'\\r\\n) on $left.Query_End_Time==$right.event_time_t \\r\\n| summarize DatabaseName= max(database_name_s)\\r\\n    , UserName= any(server_principal_name_s)\\r\\n    , Host= max(host_name_s)\\r\\n    , Application=max(application_name_s)\\r\\n     by SessionId_s\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"tiles\",\n              \"tileSettings\": {\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\"\n                },\n                \"subtitleContent\": {\n                  \"columnMatch\": \"SessionId_s\"\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Application\"\n                },\n                \"rightContent\": {\n                  \"columnMatch\": \"Host\"\n                },\n                \"secondaryContent\": {\n                  \"columnMatch\": \"DatabaseName\"\n                },\n                \"showBorder\": false,\n                \"size\": \"full\"\n              },\n              \"graphSettings\": {\n                \"type\": 0\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s),   \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Session_ID has '{SessionID}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| order by Submit_Time asc\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"RequestId_s\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 2\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"SessionInvestigation\"\n      },\n      \"name\": \"group - 9\"\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"azure monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/SynapseWorkbook_v1.1.json",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{LogAnalyticsWorkspace}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| distinct ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 604800000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 14400000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct Resource \",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 604800000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName_s\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n      },\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload\",\n            \"subTarget\": \"Workload\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Investigation\",\n            \"subTarget\": \"QueryInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"5ff681ee-e005-481f-b743-b66ab1b9d71d\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Session Investigation\",\n            \"subTarget\": \"SessionInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Audit\",\n            \"subTarget\": \"QueryAudit\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"db43bb45-1611-47ce-a2ad-517943f2aa1a\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"AutoStats\",\n            \"subTarget\": \"Statistics\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"DWU Percentage\"\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cpu_percent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-queued_queries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": \"WorkloadGroupName\"\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render timechart   \\r\\n\",\n              \"size\": 0,\n              \"title\": \"Query Completion Count by End Time - 5m buckets\",\n              \"color\": \"redBright\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"seriesLabelSettings\": [\n                  {\n                    \"seriesName\": \"Completed\",\n                    \"color\": \"green\"\n                  },\n                  {\n                    \"seriesName\": \"Failed\",\n                    \"color\": \"red\"\n                  },\n                  {\n                    \"seriesName\": \"Cancelled\",\n                    \"color\": \"yellow\"\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \" AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == '{LogicalServerName}'\\r\\n    //| where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | summarize sum(affected_rows_d) by bin(TimeGenerated,1h)\",\n              \"size\": 0,\n              \"title\": \"Rows Processed by End Time - 1h buckets\",\n              \"timeContext\": {\n                \"durationMs\": 259200000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\"\n            },\n            \"name\": \"query - 7\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_successful\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_failed\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_used_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_hit_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Workload\"\n      },\n      \"name\": \"group - 1\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"TempDB \",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nAzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 0\\r\\n| summarize sum(RowCount_d) by RequestId_s, OperationType_s\\r\\n| order by sum_RowCount_d desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId_s\",\n                \"group\": \"OperationType_s\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = AzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 100000000\\r\\n| extend Step_Elapsed_Min = round((EndTime_t - StartTime_t)/1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType_s == 'BroadcastMoveOperation', (RowCount_d*20), RowCount_d)),RowCount_d)\\r\\n| project-rename StepStatus = Status_s, StepStart = StartTime_t, StepEnd = EndTime_t//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId_s,OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex_d,Resource;\\r\\nRequestSteps | join (AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder Session_ID, Request_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex_d, OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}'\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}' //Put your QueryID here\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"TempDB\"\n      },\n      \"name\": \"group - 3\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Investigation\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Search Criteria\\r\\nUse the following fields to search either using a query text snippet or using a Request ID. If using a query text snippet, try to keep it as simple as possible becuase minor changes in formatting may cause your queries not to show up in the results. It's best to pick something like a table name, then choose the proper query from the list that will populate. \"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0c2128d0-d979-4562-a28c-e7ceb955f126\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                },\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Command has '{QueryTextSnippet}'\\r\\nand RequestId_s has '{RequestIdSearch}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| order by elapsedTime_sec\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n    Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n    Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n    SampleQID = any(RequestId_s),\\r\\n    SampleSessionID = any(Session_ID)\\r\\n    by Command\\r\\n| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Queries\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleSessionID\",\n                  \"parameterName\": \"Samp\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where RequestId_s == '{SampleQID}'\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=min(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| join kind=inner\\r\\n    (AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n    | extend elapsedTime_sec = (End_Time - Submit_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n    | extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Session_ID1,Submit_Time1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1,CompileTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),min(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryInvestigation\"\n      },\n      \"name\": \"group - 4\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Replicated Tables\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId_s) by Command_s\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command_s\",\n              \"exportParameterName\": \"QueryText\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s == \\\"{QueryText}\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s, bin(TimeGenerated,24h)\\r\\n| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),      Request_ID=max(RequestId_s),      Submit_Time=max(SubmitTime_t),      Start_Time=max(StartTime_t),      End_Time=max(EndTime_t),      Command=max(Command_s),       Statement_Type=max(StatementType_s),     Resource_class=max(ResourceClass_s)      by RequestId_s\\r\\n| join kind= inner\\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    //| where StatementType_s !in ('Batch','Execute')\\r\\n    | where StatementType_s == 'BuildReplicatedTableCache'\\r\\n    | where EndTime_t > ago(7d)\\r\\n    | where StartTime_t > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime_t - StartTime_t)/1m\\r\\n    //| extend elapsedTime_min = elapsedTime/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project Request_ID=RequestId_s,elapsedTime_min \\r\\n)\\r\\non Request_ID\\r\\n| order by elapsedTime_min desc\\r\\n| project Request_ID,Submit_Time,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"ReplicatedTables\"\n      },\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload Management\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroupName\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\nand Resource == '{DatabaseName}'\\r\\n and ResourceClass_s != \\\"\\\"\\r\\n| distinct ResourceClass_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 604800000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_queued_queries\",\n                  \"aggregation\": 1\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"3\",\n                  \"key\": \"WorkloadGroupName\",\n                  \"operator\": 0,\n                  \"valueParam\": \"WorkloadGroupName\"\n                }\n              ],\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"WorkloadManagement\"\n      },\n      \"name\": \"group - 6\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Audit\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\\r\\nSQL Auditing must be enabled and sending to the same Log Analytics Workspace for this page to work. \"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by server_principal_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by application_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This next chart is a work in progress\\r\\nThe next chart uses an approximate join based on end time. If the Exec Requests Query Text and the Audit Log Query text don't match up, then it is likely not a real match and the data in teh row shoudl not be trusted. \",\n              \"style\": \"warning\"\n            },\n            \"name\": \"text - 7\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) ,\\r\\n    Query_ElapsedTime_s=round((max(EndTime_t) - max(StartTime_t))/1s)\\r\\n    by RequestId_s\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime_s,Status,Query = Query_Text,Resource_class\\r\\n| join kind = rightouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n   // | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, statement_s, QuerySource\\r\\n) on EventTime\\r\\n    | order by affected_rows_d desc\\r\\n| project Session_ID,RequestID=RequestId_s,Submit_time=Query_Submit_Time,Start_Time=Query_Start_Time,End_Time=EventTime,Status,Resource_class,UserName,Exec_request_text=Query,Audit_Query_text=statement_s,Host,QuerySource,Affected_rows=affected_rows_d,num_steps,max_step_rows,max_step_sec,Total_Duration_s=duration_seconds\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n| extend Duration = round(duration_milliseconds_d /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(event_time_t, 1d), TimeBin\",\n              \"size\": 0,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) ,\\r\\n    Query_ElapsedTime_s=round((max(EndTime_t) - max(StartTime_t))/1s)\\r\\n    by RequestId_s\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime_s,Status,Query = Query_Text,Resource_class\\r\\n| join kind = rightouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n   // | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, statement_s, QuerySource\\r\\n) on EventTime\\r\\n    | order by affected_rows_d desc\\r\\n| project Session_ID,RequestID=RequestId_s,Submit_time=Query_Submit_Time,Start_Time=Query_Start_Time,End_Time=EventTime,Status,Resource_class,UserName,Query_text=statement_s,Host,QuerySource,Affected_rows=affected_rows_d,num_steps,max_step_rows,max_step_sec,Total_Duration_s=duration_seconds\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Affected Rows By Session ID\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"linechart\",\n              \"chartSettings\": {\n                \"xAxis\": \"RequestID\",\n                \"yAxis\": [\n                  \"Affected_rows\"\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryAudit\"\n      },\n      \"name\": \"QueryAuditGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Comparison\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"7fa3187e-9225-4faa-8f80-dc1bc40c5aab\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId1\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"315fc476-469a-4d8d-b421-028d1113ab06\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId2\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute') and RequestId_s == '{RequestId1}'\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Session_ID,Request_ID,ElapsedTime_min,Command,Resource_class,Submit_Time,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute') and RequestId_s == '{RequestId2}'\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Session_ID,Request_ID,ElapsedTime_min,Command,Resource_class,Submit_Time,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId1}'\\r\\n| summarize StartTime=max(StartTime_t)\\r\\n    ,EndTime=max(EndTime_t)\\r\\n    ,RequestID=max(RequestId_s)\\r\\n    ,Operation=max(OperationType_s)\\r\\n    ,RowCount=max(RowCount_d)\\r\\n    ,Command=max(Command_s)\\r\\n    ,Status=max(Status_s)\\r\\n     by StepIndex_d\\r\\n| order by StepIndex_d asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex_d\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4\",\n            \"styleSettings\": {\n              \"margin\": \"0\",\n              \"padding\": \"10px\"\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId2}'\\r\\n| summarize StartTime=max(StartTime_t)\\r\\n    ,EndTime=max(EndTime_t)\\r\\n    ,RequestID=max(RequestId_s)\\r\\n    ,Operation=max(OperationType_s)\\r\\n    ,RowCount=max(RowCount_d)\\r\\n    ,Command=max(Command_s)\\r\\n    ,Status=max(Status_s)\\r\\n     by StepIndex_d\\r\\n| order by StepIndex_d asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex_d\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4 - Copy\",\n            \"styleSettings\": {\n              \"padding\": \"10px\"\n            }\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryComparison\"\n      },\n      \"name\": \"QueryComparison\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Session Investigation\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"feb2ac70-2555-456e-bfa6-6ad4a2dcad0f\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SessionID\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 0\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"The matching of the user information in the next chart is approximate. This information is a work in progress\",\n              \"style\": \"warning\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Query_End_Time = max(EndTime_t ) by SessionId_s\\r\\n| where SessionId_s == '{SessionID}'\\r\\n| join kind = rightouter \\r\\n(  \\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' \\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version' and statement_s != 'SELECT @@SPID;' and server_principal_name_s != '##MS_InstanceCertificate##'\\r\\n) on $left.Query_End_Time==$right.event_time_t \\r\\n| summarize DatabaseName= max(database_name_s)\\r\\n    , UserName= any(server_principal_name_s)\\r\\n    , Host= max(host_name_s)\\r\\n    , Application=max(application_name_s)\\r\\n     by SessionId_s\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"table\",\n              \"tileSettings\": {\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\"\n                },\n                \"subtitleContent\": {\n                  \"columnMatch\": \"SessionId_s\"\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Application\"\n                },\n                \"rightContent\": {\n                  \"columnMatch\": \"Host\"\n                },\n                \"secondaryContent\": {\n                  \"columnMatch\": \"DatabaseName\"\n                },\n                \"showBorder\": false,\n                \"size\": \"full\"\n              },\n              \"graphSettings\": {\n                \"type\": 0\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s),   \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Session_ID has '{SessionID}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| order by Submit_Time asc\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"RequestId_s\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 2\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"SessionInvestigation\"\n      },\n      \"name\": \"group - 9\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This tab is used to determine what statements triggerred autostats creation jobs. \\r\\nThe flow of autostats creation is as follows\\r\\n1. Query Submit Time\\r\\n2. \\tCreate Statistics submit Time\\r\\n3. \\tCreate Statistics end Time\\r\\n4. Query end_compile_time\\r\\n5. Query Start_Time\\r\\n6. Query End_Time\\r\\n\\r\\nFurther, if multiple stats are created, then the creation of all stats for this query will fall between query submit_time and end_compile_time. \\r\\n\\r\\nThe charts on this page allow you to search for an autostats job by requestID or my snippet of the autostats statement text, which can just be the schema, table, or column name. Then it will show you all commands that include that request ID or text. It will then show you all statements in the create stat statement because the query we are trying to identify will wait for all of those stats creations to complete before proceeding. \\r\\n\\r\\nThe last chart will list out all statements that could possibly have triggerred the stats creation job based on their submite/end_compile_time. \"\n            },\n            \"name\": \"text - 6\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0911bd4b-d471-480b-bdf4-1a2d4ba1ea6e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"RequestId for AutoStats Job\"\n                },\n                {\n                  \"id\": \"c12e6495-4fd1-473c-8ffc-0bf502f54706\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"label\": \"Snippet of autostats creation statement (Schema, table or column)\"\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Command has '{QueryTextSnippet}'\\r\\nand RequestId_s has '{RequestIdSearch}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| order by elapsedTime_sec\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n    Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n    Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n    SampleQID = any(RequestId_s),\\r\\n    SampleSessionID = any(Session_ID)\\r\\n    by Command\\r\\n| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Queries\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleSessionID\",\n                  \"parameterName\": \"Samp\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where RequestId_s == '{SampleQID}'\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=min(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| join kind=inner\\r\\n    (AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n    | extend elapsedTime_sec = (End_Time - Submit_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n    | extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Session_ID1,Submit_Time1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,elapsedTime_sec1,CompileTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"Request_ID1\",\n                  \"parameterName\": \"RequestId\"\n                },\n                {\n                  \"fieldName\": \"End_Time1\",\n                  \"parameterName\": \"StatEndTime\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Submit_Time1\",\n                  \"parameterName\": \"StatSubmitTime\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Session_ID1\",\n                  \"parameterName\": \"SessionId\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"End_Time1\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"End_Time1\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s !in ('Batch','Execute')\\r\\n        | where SessionId_s == '{SessionId}'\\r\\n        | summarize \\r\\n            Session_ID=max(SessionId_s), \\r\\n            Request_ID=max(RequestId_s),  \\r\\n            Submit_Time=min(SubmitTime_t), \\r\\n            Start_Time=max(StartTime_t),\\r\\n            End_Compile_Time=max(EndCompileTime_t), \\r\\n            End_Time=max(EndTime_t), \\r\\n            Command=max(Command_s), \\r\\n            Last_Status=min(Status_s),\\r\\n            Statement_Type=max(StatementType_s),\\r\\n            Resource_class=max(ResourceClass_s) \\r\\n            by RequestId_s\\r\\n| project Session_ID,Request_ID,Submit_Time,End_Compile_Time,Start_Time,End_Time,Last_Status,Statement_Type,Command\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Statements in Stats Statement Session\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"4e005821-785a-4246-aae8-de00987cba18\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Session_Submit_Time\",\n                  \"type\": 1,\n                  \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SessionId_s == '{SessionId}'\\r\\n| summarize \\r\\n    Session_Submit_Time=min(SubmitTime_t) \\r\\n    by SessionId_s\\r\\n| project Session_Submit_Time\\r\\n\\r\\n\\r\\n\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 259200000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"b046db56-e6b3-4f3d-afb3-9687240c21f1\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Session_End_Time\",\n                  \"type\": 1,\n                  \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SessionId_s == '{SessionId}'\\r\\n| summarize \\r\\n    Session_End_Time=max(EndTime_t) \\r\\n    by SessionId_s\\r\\n| project Session_End_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 259200000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 7\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SubmitTime_t < datetime('{Session_Submit_Time}') and EndCompileTime_t > datetime('{Session_End_Time}') or RequestId_s == '{RequestId}'\\r\\n| summarize by RequestId_s\\r\\n| join kind=inner\\r\\n    (\\r\\n        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s !in ('Batch','Execute')\\r\\n        | summarize \\r\\n            Session_ID=max(SessionId_s), \\r\\n            Request_ID=max(RequestId_s),  \\r\\n            Submit_Time=min(SubmitTime_t), \\r\\n            Start_Time=max(StartTime_t),\\r\\n            End_Compile_Time=max(EndCompileTime_t), \\r\\n            End_Time=max(EndTime_t), \\r\\n            Command=max(Command_s), \\r\\n            Last_Status=min(Status_s),\\r\\n            Statement_Type=max(StatementType_s),\\r\\n            Resource_class=max(ResourceClass_s) \\r\\n            by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by End_Compile_Time\\r\\n| project Session_ID,Request_ID,Submit_Time,End_Compile_Time,Start_Time,End_Time,Last_Status,Statement_Type,Command\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Query Executions that could have triggered Stats Statement based on Time of total session\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Statistics\"\n      },\n      \"name\": \"statistics\"\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"azure monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/SynapseWorkbook_v1.3.json",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{LogAnalyticsWorkspace}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| distinct ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 604800000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 14400000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct Resource \",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 604800000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\n| where ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName_s\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n      },\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload\",\n            \"subTarget\": \"Workload\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Investigation\",\n            \"subTarget\": \"QueryInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"5ff681ee-e005-481f-b743-b66ab1b9d71d\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Session Investigation\",\n            \"subTarget\": \"SessionInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Audit\",\n            \"subTarget\": \"QueryAudit\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"db43bb45-1611-47ce-a2ad-517943f2aa1a\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"AutoStats\",\n            \"subTarget\": \"Statistics\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-dwu_consumption_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"DWU Percentage\"\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cpu_percent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-physical_data_read_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-queued_queries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": \"WorkloadGroupName\"\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render barchart   \\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Query Completion Count by End Time - 5m buckets\",\n                    \"color\": \"redBright\",\n                    \"timeContext\": {\n                      \"durationMs\": 43200000\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"name\": \"query - 4\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"Use the buttons below to filter the next chart for Success or Failed queries. In many cases a failed query may not have a 'Command' column populated depending on what stage the query failed in. \",\n                    \"style\": \"info\"\n                  },\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"8e89112f-c67f-42c0-9622-02fa306fb7a5\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Queries\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"6abe39c7-4d4e-4c45-aa54-dc9a4c5e876e\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"Completed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"e41b4a0b-8464-491e-92be-a57217d6dcac\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"Failed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 11\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=max(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=min(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n//| where End_Time > ago(365d)\\r\\n| where Status has '{QueryCompletionType}'\\r\\n| order by Submit_Time\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Query Completions - use above buttons to filter\",\n                    \"color\": \"redBright\",\n                    \"timeContext\": {\n                      \"durationMs\": 0\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"name\": \"query - 4 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Query Completions\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_successful\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-connection_failed\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents'  and  LogicalServerName_s == 'lasr-sqldwdb-eastus2-prd'\\r\\n    | where action_name_s in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | project SourceSystem,client_tls_version_d,succeeded_s,session_id_d,client_ip_s,session_server_principal_name_s,server_principal_name_s,database_principal_name_s,application_name_s,host_name_s,TimeGenerated\\r\\n    | summarize count() by succeeded_s,bin(TimeGenerated,1m)\\r\\n    | render barchart\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"timeContext\": {\n                      \"durationMs\": 14400000\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null\n                    }\n                  },\n                  \"name\": \"query - 8\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"2ed22e0a-2b53-4ed0-8f65-d2c621f34dad\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Authentications\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"2789ab13-ae8a-472e-bad4-9c9bdc934d4d\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"true\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"5cf4ddd4-e189-4b71-b456-0d4f1572a0a3\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"false\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 10\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents'  and  LogicalServerName_s == 'lasr-sqldwdb-eastus2-prd'\\r\\n    | where action_name_s in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | where succeeded_s has '{AuthResult}'\\r\\n    | project SourceSystem,client_tls_version_d,succeeded_s,session_id_d,client_ip_s,session_server_principal_name_s,server_principal_name_s,database_principal_name_s,application_name_s,host_name_s,TimeGenerated\\r\\n    | order by TimeGenerated\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"noDataMessage\": \"Please select a button above\",\n                    \"timeContext\": {\n                      \"durationMs\": 0\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null,\n                      \"showLegend\": true\n                    }\n                  },\n                  \"name\": \"query - 8 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Database Authentication Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_used_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-cache_hit_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Workload\"\n      },\n      \"name\": \"group - 1\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"TempDB \",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-Basic-local_tempdb_usage_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nAzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 0\\r\\n| summarize sum(RowCount_d) by RequestId_s, OperationType_s\\r\\n| order by sum_RowCount_d desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId_s\",\n                \"group\": \"OperationType_s\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = AzureDiagnostics\\r\\n| where Category == 'RequestSteps'\\r\\n| where Resource == databaseName\\r\\n| where RowCount_d > 100000000\\r\\n| extend Step_Elapsed_Min = round((EndTime_t - StartTime_t)/1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType_s == 'BroadcastMoveOperation', (RowCount_d*20), RowCount_d)),RowCount_d)\\r\\n| project-rename StepStatus = Status_s, StepStart = StartTime_t, StepEnd = EndTime_t//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId_s,OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex_d,Resource;\\r\\nRequestSteps | join (AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder Session_ID, Request_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex_d, OperationType_s, RowCount_d,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseName = '{DatabaseName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databaseName\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=max(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Session_ID=any(Session_ID), \\r\\n    Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}'\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}' //Put your QueryID here\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"TempDB\"\n      },\n      \"name\": \"group - 3\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Investigation\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Search Criteria\\r\\nUse the following fields to search either using a query text snippet or using a Request ID. If using a query text snippet, try to keep it as simple as possible becuase minor changes in formatting may cause your queries not to show up in the results. It's best to pick something like a table name, then choose the proper query from the list that will populate. \"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0c2128d0-d979-4562-a28c-e7ceb955f126\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                },\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Command has '{QueryTextSnippet}'\\r\\nand RequestId_s has '{RequestIdSearch}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| order by elapsedTime_sec\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n    Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n    Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n    SampleQID = any(RequestId_s),\\r\\n    SampleSessionID = any(Session_ID)\\r\\n    by Command\\r\\n| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Queries\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleSessionID\",\n                  \"parameterName\": \"Samp\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where RequestId_s == '{SampleQID}'\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=min(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| join kind=inner\\r\\n    (AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n    | extend elapsedTime_sec = (End_Time - Submit_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n    | extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Session_ID1,Submit_Time1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1,CompileTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),min(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"1191e58a-c1f9-4853-b36b-4be8eecbb48f\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_Submit_Time\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId}'\\r\\n    | summarize \\r\\n        Submit_Time=min(SubmitTime_t)\\r\\n        by RequestId_s\\r\\n        | project Submit_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"f6bcb2a4-3356-4110-ba13-99c7d13a26f0\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_End_Compile_Time\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId}'\\r\\n    | summarize \\r\\n        End_Compile_Time=max(EndCompileTime_t) \\r\\n        by RequestId_s\\r\\n        | project End_Compile_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == 'LASR-SQLDWDB-PRD'\\r\\n        | where StatementType_s =='CreateStatistics'\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n        | where Submit_Time > datetime('{Query_Submit_Time}') and End_Time < datetime('{Query_End_Compile_Time}')// or RequestId_s == '{RequestId}'\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All possibly related auto-stats statements based on time\",\n              \"noDataMessage\": \"no auto stats statements found that could be related\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"All possibly related auto-stats statements\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryInvestigation\"\n      },\n      \"name\": \"group - 4\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Replicated Tables\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId_s) by Command_s\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command_s\",\n              \"exportParameterName\": \"QueryText\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s == \\\"{QueryText}\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s == 'BuildReplicatedTableCache'\\r\\n| where Command_s != \\\"\\\"\\r\\n| where ResourceClass_s != \\\"\\\"\\r\\n| project Command_s,TimeGenerated,RequestId_s\\r\\n| summarize count() by Command_s, bin(TimeGenerated,24h)\\r\\n| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"noDataMessage\": \" Only tables with more than 7 total rebuilds will show up. If no talbes with that many rebuilds are found this chart will be empty\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\nAzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),      Request_ID=max(RequestId_s),      Submit_Time=max(SubmitTime_t),      Start_Time=max(StartTime_t),      End_Time=max(EndTime_t),      Command=max(Command_s),       Statement_Type=max(StatementType_s),     Resource_class=max(ResourceClass_s)      by RequestId_s\\r\\n| join kind= inner\\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    //| where StatementType_s !in ('Batch','Execute')\\r\\n    | where StatementType_s == 'BuildReplicatedTableCache'\\r\\n    | where EndTime_t > ago(7d)\\r\\n    | where StartTime_t > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime_t - StartTime_t)/1m\\r\\n    //| extend elapsedTime_min = elapsedTime/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project Request_ID=RequestId_s,elapsedTime_min \\r\\n)\\r\\non Request_ID\\r\\n| order by elapsedTime_min desc\\r\\n| project Request_ID,Submit_Time,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestId\",\n              \"exportDefaultValue\": \"999999\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId}'\\r\\n| where Status_s != 'Running'\\r\\n| summarize max(StartTime_t),max(EndTime_t),max(RequestId_s),max(OperationType_s),max(RowCount_d),max(Command_s),max(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"ReplicatedTables\"\n      },\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload Management\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook8d175f6c-427b-47fc-85ea-37edd0be707c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_queued_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Queued Queries by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"Queued Queries by Workload Group\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroupName\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'ExecRequests'\\r\\nand Resource == '{DatabaseName}'\\r\\n and ResourceClass_s != \\\"\\\"\\r\\n| distinct ResourceClass_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 604800000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.sql/servers/databases\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_active_queries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_queued_queries\",\n                  \"aggregation\": 1\n                },\n                {\n                  \"namespace\": \"microsoft.sql/servers/databases\",\n                  \"metric\": \"microsoft.sql/servers/databases-WorkloadManagement-wlg_allocation_relative_to_system_percent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"3\",\n                  \"key\": \"WorkloadGroupName\",\n                  \"operator\": 0,\n                  \"valueParam\": \"WorkloadGroupName\"\n                }\n              ],\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"WorkloadManagement\"\n      },\n      \"name\": \"group - 6\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Audit\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\\r\\nSQL Auditing must be enabled and sending to the same Log Analytics Workspace for this page to work. \"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by server_principal_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and LogicalServerName_s == '{LogicalServerName}'\\r\\n| summarize by application_name_s\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n| where duration_milliseconds_d > 0\\r\\n| extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n| where statement_s != 'select @@version'\\r\\n| where statement_s != 'SELECT @@SPID;'\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| project server_principal_name_s, succeeded_s, event_time_t, LogicalServerName_s, duration_milliseconds_d, duration_seconds, affected_rows_d, statement_s, application_name_s\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count(statement_s) by EventDay = bin(event_time_t,1d), UserName = server_principal_name_s, Application = application_name_s \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This next chart is a work in progress\\r\\nThe next chart uses an approximate join based on end time. If the Exec Requests Query Text and the Audit Log Query text don't match up, then it is likely not a real match and the data in teh row shoudl not be trusted. \",\n              \"style\": \"warning\"\n            },\n            \"name\": \"text - 7\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) ,\\r\\n    Query_ElapsedTime_s=round((max(EndTime_t) - max(StartTime_t))/1s)\\r\\n    by RequestId_s\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime_s,Status,Query = Query_Text,Resource_class\\r\\n| join kind = rightouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n   // | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, statement_s, QuerySource\\r\\n) on EventTime\\r\\n    | order by affected_rows_d desc\\r\\n| project Session_ID,RequestID=RequestId_s,Submit_time=Query_Submit_Time,Start_Time=Query_Start_Time,End_Time=EventTime,Status,Resource_class,UserName,Exec_request_text=Query,Audit_Query_text=statement_s,Host,QuerySource,Affected_rows=affected_rows_d,num_steps,max_step_rows,max_step_sec,Total_Duration_s=duration_seconds\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n| extend Duration = round(duration_milliseconds_d /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where server_principal_name_s has '{User}'\\r\\n| where application_name_s has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(event_time_t, 1d), TimeBin\",\n              \"size\": 0,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Session_ID=max(SessionId_s),  \\r\\n    Query_Submit_Time=max(SubmitTime_t), \\r\\n    Query_Start_Time=max(StartTime_t), \\r\\n    Query_End_Time=max(EndTime_t), \\r\\n    Query_Text=max(Command_s), \\r\\n    Status=min(Status_s),\\r\\n    Resource_class=max(ResourceClass_s) ,\\r\\n    Query_ElapsedTime_s=round((max(EndTime_t) - max(StartTime_t))/1s)\\r\\n    by RequestId_s\\r\\n| join kind = leftouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category  == 'RequestSteps'\\r\\n    | where Resource  == databasename\\r\\n    | summarize num_steps=max(StepIndex_d), \\r\\n    max_step_rows=max(RowCount_d), \\r\\n    max_step_sec=max(EndTime_t-StartTime_t)/1s\\r\\n    by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by Query_Submit_Time\\r\\n| project Session_ID,RequestId_s,Query_Submit_Time,Query_Start_Time,EventTime = Query_End_Time,num_steps,max_step_rows,max_step_sec,Query_ElapsedTime_s,Status,Query = Query_Text,Resource_class\\r\\n| join kind = rightouter \\r\\n(\\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' and  LogicalServerName_s == \\\"{LogicalServerName}\\\"\\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version'\\r\\n    | where statement_s != 'SELECT @@SPID;'\\r\\n    | where server_principal_name_s has '{User}'\\r\\n   // | where application_name_s has '{Application}'\\r\\n    | project DatabaseName= database_name_s, UserName= server_principal_name_s, EventTime= event_time_t, Host= host_name_s, duration_seconds = round(duration_seconds), statement_s, QuerySource = application_name_s , affected_rows_d\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, statement_s, QuerySource\\r\\n) on EventTime\\r\\n    | order by affected_rows_d desc\\r\\n| project Session_ID,RequestID=RequestId_s,Submit_time=Query_Submit_Time,Start_Time=Query_Start_Time,End_Time=EventTime,Status,Resource_class,UserName,Query_text=statement_s,Host,QuerySource,Affected_rows=affected_rows_d,num_steps,max_step_rows,max_step_sec,Total_Duration_s=duration_seconds\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Affected Rows By Session ID\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"linechart\",\n              \"chartSettings\": {\n                \"xAxis\": \"RequestID\",\n                \"yAxis\": [\n                  \"Affected_rows\"\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryAudit\"\n      },\n      \"name\": \"QueryAuditGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Comparison\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"7fa3187e-9225-4faa-8f80-dc1bc40c5aab\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId1\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"315fc476-469a-4d8d-b421-028d1113ab06\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId2\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute') and RequestId_s == '{RequestId1}'\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=min(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Session_ID,Request_ID,ElapsedTime_min,Command,Resource_class,Submit_Time,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute') and RequestId_s == '{RequestId2}'\\r\\n| summarize Session_ID=any(SessionId_s),\\r\\n    Request_ID=any(RequestId_s),\\r\\n    Submit_Time=min(SubmitTime_t),\\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Time=max(EndTime_t),\\r\\n    Command=any(Command_s),\\r\\n    Status=min(Status_s), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType_s),\\r\\n    Resource_class=any(ResourceClass_s)\\r\\n    by RequestId_s\\r\\n| summarize Session_ID=any(Session_ID), Submit_Time=any(Submit_Time) ,Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Session_ID,Request_ID,ElapsedTime_min,Command,Resource_class,Submit_Time,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId1}'\\r\\n| summarize StartTime=max(StartTime_t)\\r\\n    ,EndTime=max(EndTime_t)\\r\\n    ,RequestID=max(RequestId_s)\\r\\n    ,Operation=max(OperationType_s)\\r\\n    ,RowCount=max(RowCount_d)\\r\\n    ,Command=max(Command_s)\\r\\n    ,Status=max(Status_s)\\r\\n     by StepIndex_d\\r\\n| order by StepIndex_d asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex_d\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4\",\n            \"styleSettings\": {\n              \"margin\": \"0\",\n              \"padding\": \"10px\"\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestId2}'\\r\\n| summarize StartTime=max(StartTime_t)\\r\\n    ,EndTime=max(EndTime_t)\\r\\n    ,RequestID=max(RequestId_s)\\r\\n    ,Operation=max(OperationType_s)\\r\\n    ,RowCount=max(RowCount_d)\\r\\n    ,Command=max(Command_s)\\r\\n    ,Status=max(Status_s)\\r\\n     by StepIndex_d\\r\\n| order by StepIndex_d asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex_d\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4 - Copy\",\n            \"styleSettings\": {\n              \"padding\": \"10px\"\n            }\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"03d1c3ba-0d28-4584-bb63-388f8477034a\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_Submit_Time1\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId1}'\\r\\n    | summarize \\r\\n        Submit_Time=min(SubmitTime_t)\\r\\n        by RequestId_s\\r\\n        | project Submit_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"af36efd7-c5a0-429e-8908-a24e22ee6087\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_End_Compile_Time1\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId1}'\\r\\n    | summarize \\r\\n        End_Compile_Time=max(EndCompileTime_t) \\r\\n        by RequestId_s\\r\\n        | project End_Compile_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"03d1c3ba-0d28-4584-bb63-388f8477034a\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_Submit_Time2\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId2}'\\r\\n    | summarize \\r\\n        Submit_Time=min(SubmitTime_t)\\r\\n        by RequestId_s\\r\\n        | project Submit_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"af36efd7-c5a0-429e-8908-a24e22ee6087\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_End_Compile_Time2\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId2}'\\r\\n    | summarize \\r\\n        End_Compile_Time=max(EndCompileTime_t) \\r\\n        by RequestId_s\\r\\n        | project End_Compile_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 6 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s =='CreateStatistics'\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        //Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        //Start_Time=max(StartTime_t),\\r\\n        //End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n        | where Submit_Time > datetime('{Query_Submit_Time1}') and End_Time < datetime('{Query_End_Compile_Time1}') and End_Time > ago(30d)\\r\\n| project Command, Status=Last_Status ,Submit_Time,End_Time,Session_ID,Request_ID=RequestId_s,Statement_Type\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All possibly related auto-stats statements based on time\",\n              \"noDataMessage\": \"no auto stats statements found that could be related\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"End_Time\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"End_Time\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"All possibly related auto-stats statements - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s =='CreateStatistics'\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        //Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        //Start_Time=max(StartTime_t),\\r\\n        //End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n        | where Submit_Time > datetime('{Query_Submit_Time2}') and End_Time < datetime('{Query_End_Compile_Time2}') and End_Time > ago(30d)\\r\\n| project Command, Status=Last_Status ,Submit_Time,End_Time,Session_ID,Request_ID=RequestId_s,Statement_Type\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All possibly related auto-stats statements based on time\",\n              \"noDataMessage\": \"no auto stats statements found that could be related\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"All possibly related auto-stats statements - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryComparison\"\n      },\n      \"name\": \"QueryComparison\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Session Investigation\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"feb2ac70-2555-456e-bfa6-6ad4a2dcad0f\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SessionID\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 0\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"The matching of the user information in the next chart is approximate. This information is a work in progress\",\n              \"style\": \"warning\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Query_End_Time = max(EndTime_t ) by SessionId_s\\r\\n| where SessionId_s == '{SessionID}'\\r\\n| join kind = rightouter \\r\\n(  \\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' \\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version' and statement_s != 'SELECT @@SPID;' and server_principal_name_s != '##MS_InstanceCertificate##'\\r\\n) on $left.Query_End_Time==$right.event_time_t \\r\\n| summarize DatabaseName= max(database_name_s)\\r\\n    , UserName= any(server_principal_name_s)\\r\\n    , Host= max(host_name_s)\\r\\n    , Application=max(application_name_s)\\r\\n     by SessionId_s\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"table\",\n              \"tileSettings\": {\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\"\n                },\n                \"subtitleContent\": {\n                  \"columnMatch\": \"SessionId_s\"\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Application\"\n                },\n                \"rightContent\": {\n                  \"columnMatch\": \"Host\"\n                },\n                \"secondaryContent\": {\n                  \"columnMatch\": \"DatabaseName\"\n                },\n                \"showBorder\": false,\n                \"size\": \"full\"\n              },\n              \"graphSettings\": {\n                \"type\": 0\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s),   \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Session_ID has '{SessionID}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| order by Submit_Time asc\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"RequestId_s\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize Start_Time=max(StartTime_t),End_Time=max(EndTime_t),Request_ID=max(RequestId_s),Operation_Type=max(OperationType_s),Row_Count=max(RowCount_d),Statement=max(Command_s),Status=min(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 2\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"SessionInvestigation\"\n      },\n      \"name\": \"group - 9\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This tab is used to determine what statements triggerred autostats creation jobs. \\r\\nThe flow of autostats creation is as follows\\r\\n1. Query Submit Time\\r\\n2. \\tCreate Statistics submit Time\\r\\n3. \\tCreate Statistics end Time\\r\\n4. Query end_compile_time\\r\\n5. Query Start_Time\\r\\n6. Query End_Time\\r\\n\\r\\nFurther, if multiple stats are created, then the creation of all stats for this query will fall between query submit_time and end_compile_time. \\r\\n\\r\\nThe charts on this page allow you to search for an autostats job by requestID or my snippet of the autostats statement text, which can just be the schema, table, or column name. Then it will show you all commands that include that request ID or text. It will then show you all statements in the create stat statement because the query we are trying to identify will wait for all of those stats creations to complete before proceeding. \\r\\n\\r\\nThe last chart will list out all statements that could possibly have triggerred the stats creation job based on their submite/end_compile_time. \"\n            },\n            \"name\": \"text - 6\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0911bd4b-d471-480b-bdf4-1a2d4ba1ea6e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"RequestId for AutoStats Job\"\n                },\n                {\n                  \"id\": \"c12e6495-4fd1-473c-8ffc-0bf502f54706\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"label\": \"Snippet of autostats creation statement (Schema, table or column)\"\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Command has '{QueryTextSnippet}'\\r\\nand RequestId_s has '{RequestIdSearch}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| order by elapsedTime_sec\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n    Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n    Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n    SampleQID = any(RequestId_s),\\r\\n    SampleSessionID = any(Session_ID)\\r\\n    by Command\\r\\n| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Queries\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleSessionID\",\n                  \"parameterName\": \"Samp\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where RequestId_s == '{SampleQID}'\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=min(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| join kind=inner\\r\\n    (AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n    | extend elapsedTime_sec = (End_Time - Submit_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n    | extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Session_ID1,Submit_Time1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,elapsedTime_sec1,CompileTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"Request_ID1\",\n                  \"parameterName\": \"RequestId\"\n                },\n                {\n                  \"fieldName\": \"End_Time1\",\n                  \"parameterName\": \"StatEndTime\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Submit_Time1\",\n                  \"parameterName\": \"StatSubmitTime\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Session_ID1\",\n                  \"parameterName\": \"SessionId\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"End_Time1\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"End_Time1\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s !in ('Batch','Execute')\\r\\n        | where SessionId_s == '{SessionId}'\\r\\n        | summarize \\r\\n            Session_ID=max(SessionId_s), \\r\\n            Request_ID=max(RequestId_s),  \\r\\n            Submit_Time=min(SubmitTime_t), \\r\\n            Start_Time=max(StartTime_t),\\r\\n            End_Compile_Time=max(EndCompileTime_t), \\r\\n            End_Time=max(EndTime_t), \\r\\n            Command=max(Command_s), \\r\\n            Last_Status=min(Status_s),\\r\\n            Statement_Type=max(StatementType_s),\\r\\n            Resource_class=max(ResourceClass_s) \\r\\n            by RequestId_s\\r\\n| project Session_ID,Request_ID,Submit_Time,End_Compile_Time,Start_Time,End_Time,Last_Status,Statement_Type,Command\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Statements in Stats Statement Session\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"4e005821-785a-4246-aae8-de00987cba18\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Session_Submit_Time\",\n                  \"type\": 1,\n                  \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SessionId_s == '{SessionId}'\\r\\n| summarize \\r\\n    Session_Submit_Time=min(SubmitTime_t) \\r\\n    by SessionId_s\\r\\n| project Session_Submit_Time\\r\\n\\r\\n\\r\\n\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 259200000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"b046db56-e6b3-4f3d-afb3-9687240c21f1\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Session_End_Time\",\n                  \"type\": 1,\n                  \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SessionId_s == '{SessionId}'\\r\\n| summarize \\r\\n    Session_End_Time=max(EndTime_t) \\r\\n    by SessionId_s\\r\\n| project Session_End_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 259200000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 7\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SubmitTime_t < datetime('{Session_Submit_Time}') and EndCompileTime_t > datetime('{Session_End_Time}') or RequestId_s == '{RequestId}'\\r\\n| summarize by RequestId_s\\r\\n| join kind=inner\\r\\n    (\\r\\n        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s !in ('Batch','Execute')\\r\\n        | summarize \\r\\n            Session_ID=max(SessionId_s), \\r\\n            Request_ID=max(RequestId_s),  \\r\\n            Submit_Time=min(SubmitTime_t), \\r\\n            Start_Time=max(StartTime_t),\\r\\n            End_Compile_Time=max(EndCompileTime_t), \\r\\n            End_Time=max(EndTime_t), \\r\\n            Command=max(Command_s), \\r\\n            Last_Status=min(Status_s),\\r\\n            Statement_Type=max(StatementType_s),\\r\\n            Resource_class=max(ResourceClass_s) \\r\\n            by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by End_Compile_Time\\r\\n| project Session_ID,Request_ID,Submit_Time,End_Compile_Time,Start_Time,End_Time,Last_Status,Statement_Type,Command\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Query Executions that could have triggered Stats Statement based on Time of total session\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Statistics\"\n      },\n      \"name\": \"statistics\"\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"azure monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/WorkspaceSQLPoolWorkbook_WIP_v0.60.JSON",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{LogAnalyticsWorkspace}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"SynapseSqlPoolExecRequests \\r\\n| distinct _ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 172800000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"print split (\\\"{DatabaseResourceName}\\\",\\\"/\\\")[-1]\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n      },\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload\",\n            \"subTarget\": \"Workload\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Investigation\",\n            \"subTarget\": \"QueryInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"5ff681ee-e005-481f-b743-b66ab1b9d71d\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Session Investigation\",\n            \"subTarget\": \"SessionInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Audit\",\n            \"subTarget\": \"QueryAudit\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"db43bb45-1611-47ce-a2ad-517943f2aa1a\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"AutoStats\",\n            \"subTarget\": \"Statistics\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWUUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"DWU Usaed %\"\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-CPUPercent\",\n                  \"aggregation\": 3,\n                  \"columnName\": \"CPU Used %\"\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-QueuedQueries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": \"WorkloadGroup\",\n                  \"columnName\": \"Workload Group Allocation by System %\"\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    //Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    //Session_ID=any(Session_ID), \\r\\n   // Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render barchart   \\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Query Completion Count by End Time - 5m buckets\",\n                    \"color\": \"redBright\",\n                    \"timeContext\": {\n                      \"durationMs\": 172800000\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"name\": \"query - 4\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"Use the buttons below to filter the next chart for Success or Failed queries. In many cases a failed query may not have a 'Command' column populated depending on what stage the query failed in. \",\n                    \"style\": \"info\"\n                  },\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"8e89112f-c67f-42c0-9622-02fa306fb7a5\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Queries\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"6abe39c7-4d4e-4c45-aa54-dc9a4c5e876e\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"Completed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"e41b4a0b-8464-491e-92be-a57217d6dcac\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"Failed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 11\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    //Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    //Session_ID=any(Session_ID), \\r\\n   // Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Status has '{QueryCompletionType}'\\r\\n| order by Start_Time\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Query Completions - use above buttons to filter\",\n                    \"color\": \"redBright\",\n                    \"timeContext\": {\n                      \"durationMs\": 172800000\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"name\": \"query - 4 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Query Completions\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-Connections\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ConnectionsBlockedByFirewall\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents'  and  LogicalServerName_s == 'lasr-sqldwdb-eastus2-prd'\\r\\n    | where action_name_s in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | project SourceSystem,client_tls_version_d,succeeded_s,session_id_d,client_ip_s,session_server_principal_name_s,server_principal_name_s,database_principal_name_s,application_name_s,host_name_s,TimeGenerated\\r\\n    | summarize count() by succeeded_s,bin(TimeGenerated,1m)\\r\\n    | render barchart\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"timeContext\": {\n                      \"durationMs\": 172800000\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null\n                    }\n                  },\n                  \"name\": \"query - 8\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"2ed22e0a-2b53-4ed0-8f65-d2c621f34dad\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Authentications\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"2789ab13-ae8a-472e-bad4-9c9bdc934d4d\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"true\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"5cf4ddd4-e189-4b71-b456-0d4f1572a0a3\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"false\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 10\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents'  and  LogicalServerName_s == 'lasr-sqldwdb-eastus2-prd'\\r\\n    | where action_name_s in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | where succeeded_s has '{AuthResult}'\\r\\n    | project SourceSystem,client_tls_version_d,succeeded_s,session_id_d,client_ip_s,session_server_principal_name_s,server_principal_name_s,database_principal_name_s,application_name_s,host_name_s,TimeGenerated\\r\\n    | order by TimeGenerated\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"noDataMessage\": \"Please select a button above\",\n                    \"timeContext\": {\n                      \"durationMs\": 172800000\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null,\n                      \"showLegend\": true\n                    }\n                  },\n                  \"name\": \"query - 8 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Database Authentication Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheHitPercent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Workload\"\n      },\n      \"name\": \"group - 1\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"TempDB \",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Weighted query steps\\r\\nSynapseSqlPoolRequestSteps \\r\\n| where _ResourceId == databaseResourceName\\r\\n| where RowCount > 0\\r\\n| summarize sum(RowCount) by RequestId, OperationType\\r\\n| order by sum_RowCount desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId\",\n                \"group\": \"OperationType\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = SynapseSqlPoolRequestSteps\\r\\n//| where _ResourceId == databaseResourceName\\r\\n//| where RowCount > 10000000\\r\\n| extend Step_Elapsed_Min = round((EndTime - StartTime) /1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType == 'BroadcastMoveOperation', (RowCount*10), RowCount)),RowCount)\\r\\n| project-rename StepStatus = Status, StepStart = StartTime, StepEnd = EndTime//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId,OperationType, RowCount,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex;\\r\\nRequestSteps | join (\\r\\nSynapseSqlPoolExecRequests\\r\\n//| where _ResourceId == databaseResourceName\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    //Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize //Session_ID=any(Session_ID), \\r\\n//Submit_Time=any(Submit_Time) ,\\r\\nStart_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder //Session_ID, \\r\\nRequest_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex, OperationType, RowCount,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n   // Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    //Session_ID=any(Session_ID), \\r\\n   // Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}'\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestID}' //Put your QueryID here\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"TempDB\"\n      },\n      \"name\": \"group - 3\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Investigation\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Search Criteria\\r\\nUse the following fields to search either using a query text snippet or using a Request ID. If using a query text snippet, try to keep it as simple as possible becuase minor changes in formatting may cause your queries not to show up in the results. It's best to pick something like a table name, then choose the proper query from the list that will populate. \"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0c2128d0-d979-4562-a28c-e7ceb955f126\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                },\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Request_ID=max(RequestId),  \\r\\n    Start_Time=max(StartTime),\\r\\n    End_Compile_Time=max(EndCompileTime), \\r\\n    End_Time=max(EndTime), \\r\\n    QueryText = any(Command), \\r\\n    Last_Status=min(Status),\\r\\n    Statement_Type=max(StatementType),\\r\\n    Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n| extend Elapsed_Time_s=(End_Time - Start_Time)/1s\\r\\n| where QueryText has '{QueryTextSnippet}'\\r\\nand RequestId has '{RequestIdSearch}'\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    SampleQID = any(RequestId),\\r\\n    Elapsed_Time_s=max(Elapsed_Time_s)\\r\\n    by QueryText\\r\\n| order by Elapsed_Time_s\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Queries\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleSessionID\",\n                  \"parameterName\": \"Samp\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Elapsed_Time_s\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Elapsed_Time_s\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| where RequestId == '{SampleQID}'\\r\\n| summarize  \\r\\n    Request_ID=max(RequestId),   \\r\\n    Start_Time=max(StartTime),\\r\\n    End_Compile_Time=max(EndCompileTime), \\r\\n    End_Time=max(EndTime), \\r\\n    Command=max(Command), \\r\\n    Last_Status=min(Status),\\r\\n    Statement_Type=max(StatementType),\\r\\n    Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Start_Time)/1s,real(null)) \\r\\n| join kind=inner\\r\\n    (SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Request_ID=max(RequestId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n        by RequestId\\r\\n    //| extend elapsedTime_sec = (End_Time - Start_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Start_Time)/1s,real(null)) \\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId}' //Put your QueryID here\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"1191e58a-c1f9-4853-b36b-4be8eecbb48f\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_Submit_Time\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId}'\\r\\n    | summarize \\r\\n        Submit_Time=min(SubmitTime_t)\\r\\n        by RequestId_s\\r\\n        | project Submit_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                  \"value\": null\n                },\n                {\n                  \"id\": \"f6bcb2a4-3356-4110-ba13-99c7d13a26f0\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_End_Compile_Time\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId}'\\r\\n    | summarize \\r\\n        End_Compile_Time=max(EndCompileTime_t) \\r\\n        by RequestId_s\\r\\n        | project End_Compile_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                  \"value\": null\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == 'LASR-SQLDWDB-PRD'\\r\\n        | where StatementType_s =='CreateStatistics'\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n        | where Submit_Time > datetime('{Query_Submit_Time}') and End_Time < datetime('{Query_End_Compile_Time}')// or RequestId_s == '{RequestId}'\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All possibly related auto-stats statements based on time\",\n              \"noDataMessage\": \"no auto stats statements found that could be related\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"All possibly related auto-stats statements\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryInvestigation\"\n      },\n      \"name\": \"group - 4\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Replicated Tables\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command != \\\"\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId) by Command\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command\",\n              \"exportParameterName\": \"QueryText\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command == \\\"{QueryText}\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize count() by Command,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command != \\\"\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize count() by Command, bin(TimeGenerated,24h)\\r\\n//| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"noDataMessage\": \" Only tables with more than 7 total rebuilds will show up. If no talbes with that many rebuilds are found this chart will be empty\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| summarize          Start_Time=max(StartTime),      End_Time=max(EndTime),      Command=max(Command),       Statement_Type=max(StatementType),     Resource_class=max(ResourceClass)      by RequestId\\r\\n| join kind= inner\\r\\n(\\r\\n    SynapseSqlPoolExecRequests\\r\\n    | where _ResourceId  == databaseResourceName\\r\\n    | where StatementType == 'BuildReplicatedTableCache'\\r\\n    | where StatementType == 'BuildReplicatedTableCache'\\r\\n    | where EndTime > ago(7d)\\r\\n    | where StartTime > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime - StartTime)/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project RequestId,elapsedTime_min \\r\\n)\\r\\non RequestId\\r\\n| order by elapsedTime_min desc\\r\\n| project RequestId,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"RequestId\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \" let databaseResourceName = '{DatabaseResourceName}';\\r\\nSynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where RequestId == '{RequestId}'\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"ReplicatedTables\"\n      },\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload Management\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceIds\": [\n                \"/subscriptions/9cd45dfd-d1ac-4c16-9363-150d2afcb462/resourceGroups/SynapseWorkspaceRG1_nicksalc/providers/Microsoft.Synapse/workspaces/synapseworkspace1nicksalc/sqlPools/GetStartedSQL\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook8d175f6c-427b-47fc-85ea-37edd0be707c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGQueuedQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Queued Queries by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"Queued Queries by Workload Group\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroupName\",\n                  \"type\": 2,\n                  \"query\": \"SynapseSqlPoolExecRequests \\r\\n| where _ResourceId == '{DatabaseResourceName}'\\r\\n and ResourceClass != \\\"\\\"\\r\\n| distinct ResourceClass\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGQueuedQueries\",\n                  \"aggregation\": 1\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGEffectiveCapResourcePercent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"5\",\n                  \"key\": \"WorkloadGroup\",\n                  \"operator\": 0,\n                  \"valueParam\": \"WorkloadGroupName\"\n                }\n              ],\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"WorkloadManagement\"\n      },\n      \"name\": \"group - 6\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Audit\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\\r\\nSQL Auditing must be enabled and sending to the same Log Analytics Workspace for this page to work. \"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ServerPrincipalName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ApplicationName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| where DurationMs > 0\\r\\n| extend duration_seconds = DurationMs /1000.0\\r\\n| where Statement != 'select @@version'\\r\\n| where Statement != 'SELECT @@SPID;'\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| project ServerPrincipalName, EventTime, LogicalServerName, DurationMs, duration_seconds, AffectedRows, Statement, ApplicationName\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count() by EventDay = bin(EventTime,1d), UserName = ServerPrincipalName, Application = ApplicationName \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| where DurationMs > 0\\r\\n| extend duration_seconds = DurationMs /1000.0\\r\\n| where Statement != 'select @@version'\\r\\n| where Statement != 'SELECT @@SPID;'\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| project ServerPrincipalName, EventTime, LogicalServerName, DurationMs, duration_seconds, AffectedRows, Statement, ApplicationName\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count() by EventDay = bin(EventTime,1d), UserName = ServerPrincipalName, Application = ApplicationName \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, EventTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), Statement, QuerySource = ApplicationName , AffectedRows\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, EventTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), Statement, QuerySource = ApplicationName , AffectedRows\\r\\n    | project-reorder AffectedRows,DatabaseName, UserName, Host, EventTime, duration_seconds, Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"chartSettings\": {\n                \"xAxis\": \"Host\",\n                \"group\": \"UserName\",\n                \"createOtherGroup\": null,\n                \"showLegend\": true\n              }\n            },\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents\\r\\n| where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n| extend Duration = round(DurationMs /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(EventTime, 1d), TimeBin\",\n              \"size\": 0,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"name\": \"query - 0 - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryAudit\"\n      },\n      \"name\": \"QueryAuditGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Comparison\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"7fa3187e-9225-4faa-8f80-dc1bc40c5aab\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId1\",\n                  \"type\": 1,\n                  \"value\": \"QID57684\"\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"315fc476-469a-4d8d-b421-028d1113ab06\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId2\",\n                  \"type\": 1,\n                  \"value\": \"QID57621\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId1}'\\r\\n| summarize \\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Request_ID,ElapsedTime_min,Command,Resource_class,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId2}'\\r\\n| summarize \\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Request_ID,ElapsedTime_min,Command,Resource_class,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId1}'\\r\\n| summarize StartTime=max(StartTime)\\r\\n    ,EndTime=max(EndTime)\\r\\n    ,RequestID=max(RequestId)\\r\\n    ,Operation=max(OperationType)\\r\\n    ,RowCount=max(RowCount)\\r\\n    ,Command=max(Command)\\r\\n    ,Status=max(Status)\\r\\n     by StepIndex\\r\\n| order by StepIndex asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4\",\n            \"styleSettings\": {\n              \"margin\": \"0\",\n              \"padding\": \"10px\"\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId2}'\\r\\n| summarize StartTime=max(StartTime)\\r\\n    ,EndTime=max(EndTime)\\r\\n    ,RequestID=max(RequestId)\\r\\n    ,Operation=max(OperationType)\\r\\n    ,RowCount=max(RowCount)\\r\\n    ,Command=max(Command)\\r\\n    ,Status=max(Status)\\r\\n     by StepIndex\\r\\n| order by StepIndex asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4 - Copy\",\n            \"styleSettings\": {\n              \"padding\": \"10px\"\n            }\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"03d1c3ba-0d28-4584-bb63-388f8477034a\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_Submit_Time1\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId1}'\\r\\n    | summarize \\r\\n        Submit_Time=min(SubmitTime_t)\\r\\n        by RequestId_s\\r\\n        | project Submit_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                  \"value\": null\n                },\n                {\n                  \"id\": \"af36efd7-c5a0-429e-8908-a24e22ee6087\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_End_Compile_Time1\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId1}'\\r\\n    | summarize \\r\\n        End_Compile_Time=max(EndCompileTime_t) \\r\\n        by RequestId_s\\r\\n        | project End_Compile_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                  \"value\": null\n                },\n                {\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_Submit_Time2\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId2}'\\r\\n    | summarize \\r\\n        Submit_Time=min(SubmitTime_t)\\r\\n        by RequestId_s\\r\\n        | project Submit_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                  \"id\": \"1931da01-18dc-449d-950a-b9483057c12d\",\n                  \"value\": null\n                },\n                {\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Query_End_Compile_Time2\",\n                  \"type\": 1,\n                  \"query\": \" AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | where RequestId_s =='{RequestId2}'\\r\\n    | summarize \\r\\n        End_Compile_Time=max(EndCompileTime_t) \\r\\n        by RequestId_s\\r\\n        | project End_Compile_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                  \"id\": \"6f447a8d-e815-4d00-87ff-7bb26b315132\",\n                  \"value\": null\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 6 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s =='CreateStatistics'\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        //Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        //Start_Time=max(StartTime_t),\\r\\n        //End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n        | where Submit_Time > datetime('{Query_Submit_Time1}') and End_Time < datetime('{Query_End_Compile_Time1}') and End_Time > ago(30d)\\r\\n| project Command, Status=Last_Status ,Submit_Time,End_Time,Session_ID,Request_ID=RequestId_s,Statement_Type\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All possibly related auto-stats statements based on time\",\n              \"noDataMessage\": \"no auto stats statements found that could be related\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"End_Time\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"End_Time\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"All possibly related auto-stats statements - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s =='CreateStatistics'\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        //Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        //Start_Time=max(StartTime_t),\\r\\n        //End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n        | where Submit_Time > datetime('{Query_Submit_Time2}') and End_Time < datetime('{Query_End_Compile_Time2}') and End_Time > ago(30d)\\r\\n| project Command, Status=Last_Status ,Submit_Time,End_Time,Session_ID,Request_ID=RequestId_s,Statement_Type\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All possibly related auto-stats statements based on time\",\n              \"noDataMessage\": \"no auto stats statements found that could be related\",\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"All possibly related auto-stats statements - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"QueryComparison\"\n      },\n      \"name\": \"QueryComparison\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Session Investigation\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"feb2ac70-2555-456e-bfa6-6ad4a2dcad0f\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SessionID\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 0\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"The matching of the user information in the next chart is approximate. This information is a work in progress\",\n              \"style\": \"warning\"\n            },\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databasename='{DatabaseName}';\\r\\nAzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == databasename\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize Query_End_Time = max(EndTime_t ) by SessionId_s\\r\\n| where SessionId_s == '{SessionID}'\\r\\n| join kind = rightouter \\r\\n(  \\r\\n    AzureDiagnostics\\r\\n    | where Category == 'SQLSecurityAuditEvents' \\r\\n    | where duration_milliseconds_d > 0\\r\\n    | extend duration_seconds = duration_milliseconds_d /1000.0\\r\\n    | where statement_s != 'select @@version' and statement_s != 'SELECT @@SPID;' and server_principal_name_s != '##MS_InstanceCertificate##'\\r\\n) on $left.Query_End_Time==$right.event_time_t \\r\\n| summarize DatabaseName= max(database_name_s)\\r\\n    , UserName= any(server_principal_name_s)\\r\\n    , Host= max(host_name_s)\\r\\n    , Application=max(application_name_s)\\r\\n     by SessionId_s\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"table\",\n              \"tileSettings\": {\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\"\n                },\n                \"subtitleContent\": {\n                  \"columnMatch\": \"SessionId_s\"\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"Application\"\n                },\n                \"rightContent\": {\n                  \"columnMatch\": \"Host\"\n                },\n                \"secondaryContent\": {\n                  \"columnMatch\": \"DatabaseName\"\n                },\n                \"showBorder\": false,\n                \"size\": \"full\"\n              },\n              \"graphSettings\": {\n                \"type\": 0\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s),   \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Session_ID has '{SessionID}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| order by Submit_Time asc\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"RequestId_s\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize Start_Time=max(StartTime_t),End_Time=max(EndTime_t),Request_ID=max(RequestId_s),Operation_Type=max(OperationType_s),Row_Count=max(RowCount_d),Statement=max(Command_s),Status=min(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 172800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 2\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"SessionInvestigation\"\n      },\n      \"name\": \"group - 9\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This tab is used to determine what statements triggerred autostats creation jobs. \\r\\nThe flow of autostats creation is as follows\\r\\n1. Query Submit Time\\r\\n2. \\tCreate Statistics submit Time\\r\\n3. \\tCreate Statistics end Time\\r\\n4. Query end_compile_time\\r\\n5. Query Start_Time\\r\\n6. Query End_Time\\r\\n\\r\\nFurther, if multiple stats are created, then the creation of all stats for this query will fall between query submit_time and end_compile_time. \\r\\n\\r\\nThe charts on this page allow you to search for an autostats job by requestID or my snippet of the autostats statement text, which can just be the schema, table, or column name. Then it will show you all commands that include that request ID or text. It will then show you all statements in the create stat statement because the query we are trying to identify will wait for all of those stats creations to complete before proceeding. \\r\\n\\r\\nThe last chart will list out all statements that could possibly have triggerred the stats creation job based on their submite/end_compile_time. \"\n            },\n            \"name\": \"text - 6\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0911bd4b-d471-480b-bdf4-1a2d4ba1ea6e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"RequestId for AutoStats Job\"\n                },\n                {\n                  \"id\": \"c12e6495-4fd1-473c-8ffc-0bf502f54706\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"label\": \"Snippet of autostats creation statement (Schema, table or column)\"\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Command has '{QueryTextSnippet}'\\r\\nand RequestId_s has '{RequestIdSearch}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| order by elapsedTime_sec\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n    Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n    Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n    SampleQID = any(RequestId_s),\\r\\n    SampleSessionID = any(Session_ID)\\r\\n    by Command\\r\\n| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Queries\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleSessionID\",\n                  \"parameterName\": \"Samp\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where RequestId_s == '{SampleQID}'\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s), \\r\\n    Request_ID=max(RequestId_s),  \\r\\n    Submit_Time=min(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n| join kind=inner\\r\\n    (AzureDiagnostics \\r\\n    | where Category  == 'ExecRequests'\\r\\n    | where Resource  == '{DatabaseName}'\\r\\n    | where StatementType_s !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Session_ID=max(SessionId_s), \\r\\n        Request_ID=max(RequestId_s),  \\r\\n        Submit_Time=min(SubmitTime_t), \\r\\n        Start_Time=max(StartTime_t),\\r\\n        End_Compile_Time=max(EndCompileTime_t), \\r\\n        End_Time=max(EndTime_t), \\r\\n        Command=max(Command_s), \\r\\n        Last_Status=min(Status_s),\\r\\n        Statement_Type=max(StatementType_s),\\r\\n        Resource_class=max(ResourceClass_s) \\r\\n        by RequestId_s\\r\\n    | extend elapsedTime_sec = (End_Time - Submit_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n    | extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Session_ID1,Submit_Time1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,elapsedTime_sec1,CompileTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"Request_ID1\",\n                  \"parameterName\": \"RequestId\"\n                },\n                {\n                  \"fieldName\": \"End_Time1\",\n                  \"parameterName\": \"StatEndTime\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Submit_Time1\",\n                  \"parameterName\": \"StatSubmitTime\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Session_ID1\",\n                  \"parameterName\": \"SessionId\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"End_Time1\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"End_Time1\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s !in ('Batch','Execute')\\r\\n        | where SessionId_s == '{SessionId}'\\r\\n        | summarize \\r\\n            Session_ID=max(SessionId_s), \\r\\n            Request_ID=max(RequestId_s),  \\r\\n            Submit_Time=min(SubmitTime_t), \\r\\n            Start_Time=max(StartTime_t),\\r\\n            End_Compile_Time=max(EndCompileTime_t), \\r\\n            End_Time=max(EndTime_t), \\r\\n            Command=max(Command_s), \\r\\n            Last_Status=min(Status_s),\\r\\n            Statement_Type=max(StatementType_s),\\r\\n            Resource_class=max(ResourceClass_s) \\r\\n            by RequestId_s\\r\\n| project Session_ID,Request_ID,Submit_Time,End_Compile_Time,Start_Time,End_Time,Last_Status,Statement_Type,Command\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Statements in Stats Statement Session\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 14400000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"4e005821-785a-4246-aae8-de00987cba18\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Session_Submit_Time\",\n                  \"type\": 1,\n                  \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SessionId_s == '{SessionId}'\\r\\n| summarize \\r\\n    Session_Submit_Time=min(SubmitTime_t) \\r\\n    by SessionId_s\\r\\n| project Session_Submit_Time\\r\\n\\r\\n\\r\\n\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 259200000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"b046db56-e6b3-4f3d-afb3-9687240c21f1\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Session_End_Time\",\n                  \"type\": 1,\n                  \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SessionId_s == '{SessionId}'\\r\\n| summarize \\r\\n    Session_End_Time=max(EndTime_t) \\r\\n    by SessionId_s\\r\\n| project Session_End_Time\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 259200000\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 7\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| where SubmitTime_t < datetime('{Session_Submit_Time}') and EndCompileTime_t > datetime('{Session_End_Time}') or RequestId_s == '{RequestId}'\\r\\n| summarize by RequestId_s\\r\\n| join kind=inner\\r\\n    (\\r\\n        AzureDiagnostics \\r\\n        | where Category  == 'ExecRequests'\\r\\n        | where Resource  == '{DatabaseName}'\\r\\n        | where StatementType_s !in ('Batch','Execute')\\r\\n        | summarize \\r\\n            Session_ID=max(SessionId_s), \\r\\n            Request_ID=max(RequestId_s),  \\r\\n            Submit_Time=min(SubmitTime_t), \\r\\n            Start_Time=max(StartTime_t),\\r\\n            End_Compile_Time=max(EndCompileTime_t), \\r\\n            End_Time=max(EndTime_t), \\r\\n            Command=max(Command_s), \\r\\n            Last_Status=min(Status_s),\\r\\n            Statement_Type=max(StatementType_s),\\r\\n            Resource_class=max(ResourceClass_s) \\r\\n            by RequestId_s\\r\\n    ) on RequestId_s\\r\\n| order by End_Compile_Time\\r\\n| project Session_ID,Request_ID,Submit_Time,End_Compile_Time,Start_Time,End_Time,Last_Status,Statement_Type,Command\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Query Executions that could have triggered Stats Statement based on Time of total session\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Statistics\"\n      },\n      \"name\": \"statistics\"\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"azure monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/WorkspaceSQLPoolWorkbook_WIP_v0.73.JSON",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{LogAnalyticsWorkspace}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 1209600000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"SynapseSqlPoolExecRequests \\r\\n| distinct _ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"print split (\\\"{DatabaseResourceName}\\\",\\\"/\\\")[-1]\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"b86cd4a2-2303-4288-b48c-1c119cb420ba\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"AuditingState\",\n            \"type\": 1,\n            \"query\": \"let hasNonEmptyTable = (T:string) \\r\\n{ \\r\\n   toscalar( \\r\\n   union isfuzzy=true \\r\\n   ( table(T) \\r\\n   | where DatabaseName has '{DatabaseName}'\\r\\n   | where TimeGenerated > ago(30d)| take 1 | count as Count ),\\r\\n   (print Count=0) \\r\\n   | summarize sum(Count) \\r\\n   ) > 0\\r\\n};\\r\\nlet TableName = 'SQLSecurityAuditEvents';\\r\\nprint  IsPresent=iif(hasNonEmptyTable(TableName ), \\\"enabled\\\", \\\"disabled\\\")\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 604800000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"4025bcb8-f6d7-4e81-b805-84253835f8fb\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DiagnosticsState\",\n            \"type\": 1,\n            \"query\": \"let hasNonEmptyTable = (T:string, T2:string) \\r\\n{ \\r\\n   toscalar( \\r\\n   union isfuzzy=true \\r\\n   ( table(T) | where TimeGenerated > ago(30d) | where _ResourceId endswith '/sqlpools/{DatabaseName}'| take 1 | count as Count ),\\r\\n   ( table(T2) | where TimeGenerated > ago(30d) | where _ResourceId endswith '/sqlpools/{DatabaseName}'| take 1 | count as Count),\\r\\n   (print Count=0) \\r\\n   | summarize sum(Count) \\r\\n   ) > 1\\r\\n};\\r\\nlet TableName = 'SynapseSqlPoolExecRequests';\\r\\nlet TableName2 = 'SynapseSqlPoolRequestSteps';\\r\\nprint  IsPresent=iif(hasNonEmptyTable(TableName,TableName2 ), \\\"enabled\\\", \\\"disabled\\\")\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n      },\n      \"customWidth\": \"90\",\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"Workbook version: v0.75\",\n        \"style\": \"info\"\n      },\n      \"customWidth\": \"10\",\n      \"name\": \"version\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"Select your Log Analytics Workspace by setting the parameters above from left to right. \",\n        \"style\": \"warning\"\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"DatabaseResourceName\",\n        \"comparison\": \"isEqualTo\"\n      },\n      \"customWidth\": \"30\",\n      \"name\": \"text - 14\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload\",\n            \"subTarget\": \"Workload\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Investigation\",\n            \"subTarget\": \"QueryInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"5ff681ee-e005-481f-b743-b66ab1b9d71d\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Session Investigation\",\n            \"subTarget\": \"SessionInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Audit\",\n            \"subTarget\": \"QueryAudit\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"db43bb45-1611-47ce-a2ad-517943f2aa1a\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"AutoStats\",\n            \"subTarget\": \"Statistics\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWUUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"DWU Usaed %\"\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-CPUPercent\",\n                  \"aggregation\": 3,\n                  \"columnName\": \"CPU Used %\"\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-QueuedQueries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"Workload Group Allocation by System %\"\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    //Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    //Session_ID=any(Session_ID), \\r\\n   // Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render barchart   \\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Query Completion Count by End Time - 5m buckets\",\n                    \"color\": \"redBright\",\n                    \"timeContext\": {\n                      \"durationMs\": 2592000000\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"name\": \"query - 4\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"Use the buttons below to filter the next chart for Success or Failed queries. In many cases a failed query may not have a 'Command' column populated depending on what stage the query failed in. \",\n                    \"style\": \"info\"\n                  },\n                  \"customWidth\": \"25\",\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"parameters\": [\n                      {\n                        \"id\": \"e2a833ac-48b4-4ccd-bbcd-33fccf1dbd75\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryCompletionType\",\n                        \"type\": 1,\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        }\n                      }\n                    ],\n                    \"style\": \"pills\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 4\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"8e89112f-c67f-42c0-9622-02fa306fb7a5\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Queries\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"6abe39c7-4d4e-4c45-aa54-dc9a4c5e876e\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"Completed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"e41b4a0b-8464-491e-92be-a57217d6dcac\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"Failed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 11\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Status has '{QueryCompletionType}'\\r\\n| order by Start_Time\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Query Completions - use above buttons to filter\",\n                    \"color\": \"redBright\",\n                    \"timeContext\": {\n                      \"durationMs\": 0\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"QueryCompletionType\",\n                    \"comparison\": \"isEqualTo\"\n                  },\n                  \"name\": \"query - 4 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Query Completions\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-Connections\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ConnectionsBlockedByFirewall\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" SQLSecurityAuditEvents\\r\\n    | where LogicalServerName == '{LogicalServerName}'\\r\\n    | where ActionName in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | project SourceSystem,ClientTlsVersion ,Succeeded,SessionId,ClientIp,SessionServerPrincipalName,ServerPrincipalName,DatabasePrincipalName,ApplicationName,HostName,TimeGenerated\\r\\n    | summarize count() by Succeeded,bin(TimeGenerated,1m)\\r\\n    | render barchart\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"timeContext\": {\n                      \"durationMs\": 2592000000\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null\n                    }\n                  },\n                  \"name\": \"query - 8\"\n                },\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"parameters\": [\n                      {\n                        \"id\": \"f7485a11-48df-4b61-a70e-9f56d6a00ec6\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"AuthResult\",\n                        \"type\": 1,\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        }\n                      }\n                    ],\n                    \"style\": \"pills\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 3\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"2ed22e0a-2b53-4ed0-8f65-d2c621f34dad\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Authentications\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"2789ab13-ae8a-472e-bad4-9c9bdc934d4d\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"true\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"5cf4ddd4-e189-4b71-b456-0d4f1572a0a3\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"false\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 10\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" SQLSecurityAuditEvents\\r\\n    | where LogicalServerName == '{LogicalServerName}'\\r\\n    | where ActionName in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | where Succeeded == '{AuthResult}'\\r\\n    | project SourceSystem,ClientTlsVersion ,Succeeded,SessionId,ClientIp,SessionServerPrincipalName,ServerPrincipalName,DatabasePrincipalName,ApplicationName,HostName,TimeGenerated\\r\\n    | summarize count() by Succeeded,bin(TimeGenerated,1m)\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"noDataMessage\": \"Please select a button above\",\n                    \"timeContext\": {\n                      \"durationMs\": 0\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null,\n                      \"showLegend\": true\n                    }\n                  },\n                  \"name\": \"query - 8 - Copy\"\n                }\n              ]\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"AuditingState\",\n              \"comparison\": \"isEqualTo\",\n              \"value\": \"enabled\"\n            },\n            \"name\": \"Database Authentication Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheHitPercent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"showCreateAlertRule\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"Workload\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"group - 1\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"TempDB \",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Weighted query steps\\r\\nSynapseSqlPoolRequestSteps \\r\\n| where _ResourceId == databaseResourceName\\r\\n| where RowCount > 0\\r\\n| summarize sum(RowCount) by RequestId, OperationType\\r\\n| order by sum_RowCount desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId\",\n                \"group\": \"OperationType\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"8afacdd5-2690-48d0-b125-fb118378e90c\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"value\": \"Unweighted\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 8\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"customWidth\": \"25\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = SynapseSqlPoolRequestSteps\\r\\n//| where _ResourceId == databaseResourceName\\r\\n//| where RowCount > 10000000\\r\\n| extend Step_Elapsed_Min = round((EndTime - StartTime) /1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType == 'BroadcastMoveOperation', (RowCount*10), RowCount)),RowCount)\\r\\n| project-rename StepStatus = Status, StepStart = StartTime, StepEnd = EndTime//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId,OperationType, RowCount,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex;\\r\\nRequestSteps | join (\\r\\nSynapseSqlPoolExecRequests\\r\\n//| where _ResourceId == databaseResourceName\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    //Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize //Session_ID=any(Session_ID), \\r\\n//Submit_Time=any(Submit_Time) ,\\r\\nStart_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder //Session_ID, \\r\\nRequest_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex, OperationType, RowCount,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}' and Request_ID != ''\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestID}' and RequestId != '' //Put your QueryID here\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"TempDB\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"group - 3\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Investigation\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Search Criteria\\r\\nUse the following fields to search either using a query text snippet or using a Request ID. If using a query text snippet, try to keep it as simple as possible becuase minor changes in formatting may cause your queries not to show up in the results. It's best to pick something like a table name, then choose the proper query from the list that will populate. \"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"4b98dd26-4ccf-420e-a990-8d015f27fb76\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SampleQID\",\n                  \"type\": 1,\n                  \"value\": \"999\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"d5524dd5-cf7e-41cf-beb3-474b3290289e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"initializeQueryInvestigationParameters\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0c2128d0-d979-4562-a28c-e7ceb955f126\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"QID72414\",\n                  \"label\": \"Request Id Search\"\n                },\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Request_ID=max(RequestId),  \\r\\n    Start_Time=max(StartTime),\\r\\n    End_Compile_Time=max(EndCompileTime), \\r\\n    End_Time=max(EndTime), \\r\\n    QueryText = any(Command), \\r\\n    Last_Status=min(Status),\\r\\n    Statement_Type=max(StatementType),\\r\\n    Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n| extend Elapsed_Time_s=(End_Time - Start_Time)/1s\\r\\n| where QueryText has '{QueryTextSnippet}'\\r\\nand RequestId has '{RequestId}'\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    SampleQID = any(RequestId),\\r\\n    Elapsed_Time_s=max(Elapsed_Time_s)\\r\\n    by QueryText\\r\\n| order by Elapsed_Time_s\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Queries\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleSessionID\",\n                  \"parameterName\": \"Samp\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"RequestId\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Elapsed_Time_s\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Elapsed_Time_s\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| where RequestId == '{SampleQID}'\\r\\n| summarize  \\r\\n    Request_ID=max(RequestId),   \\r\\n    Start_Time=max(StartTime),\\r\\n    End_Compile_Time=max(EndCompileTime), \\r\\n    End_Time=max(EndTime), \\r\\n    Command=max(Command), \\r\\n    Last_Status=min(Status),\\r\\n    Statement_Type=max(StatementType),\\r\\n    Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Start_Time)/1s,real(null)) \\r\\n| join kind=inner\\r\\n    (SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Request_ID=max(RequestId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n        by RequestId\\r\\n    //| extend elapsedTime_sec = (End_Time - Start_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Start_Time)/1s,real(null)) \\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query Text\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId}' and RequestId != ''\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId}'\",\n              \"size\": 0,\n              \"title\": \"Triggered Auto-Stats Statements\",\n              \"noDataMessage\": \"No triggered autostats statements found\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"All triggered auto-stats statements\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryInvestigation\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"group - 4\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Replicated Tables\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"customWidth\": \"25\",\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"533ff6bb-97cd-4aaa-9372-171cad378bcd\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryText\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"99de0056-d4f3-465e-a27e-599d69b23c77\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"999\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"initializeTempDBVariables\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command != \\\"\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId) by Command\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"noDataMessage\": \"No replicated table rebuilds found in the last 7 days\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command\",\n              \"exportParameterName\": \"QueryText\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command == \\\"{QueryText}\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize count() by Command,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command != \\\"\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize count() by Command, bin(TimeGenerated,24h)\\r\\n//| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"noDataMessage\": \" Only tables with more than 7 total rebuilds will show up. If no talbes with that many rebuilds are found this chart will be empty\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| summarize          Start_Time=max(StartTime),      End_Time=max(EndTime),      Command=max(Command),       Statement_Type=max(StatementType),     Resource_class=max(ResourceClass)      by RequestId\\r\\n| join kind= inner\\r\\n(\\r\\n    SynapseSqlPoolExecRequests\\r\\n    | where _ResourceId  == databaseResourceName\\r\\n    | where StatementType == 'BuildReplicatedTableCache'\\r\\n    | where StatementType == 'BuildReplicatedTableCache'\\r\\n    | where EndTime > ago(7d)\\r\\n    | where StartTime > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime - StartTime)/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project RequestId,elapsedTime_min \\r\\n)\\r\\non RequestId\\r\\n| order by elapsedTime_min desc\\r\\n| project RequestId,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"RequestId\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \" let databaseResourceName = '{DatabaseResourceName}';\\r\\nSynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where RequestId == '{RequestId}'\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"ReplicatedTables\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Workload Management\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook8d175f6c-427b-47fc-85ea-37edd0be707c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGQueuedQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Queued Queries by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"Queued Queries by Workload Group\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroupName\",\n                  \"type\": 2,\n                  \"query\": \"SynapseSqlPoolExecRequests \\r\\n| where _ResourceId == '{DatabaseResourceName}'\\r\\n and ResourceClass != \\\"\\\"\\r\\n| distinct ResourceClass\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGQueuedQueries\",\n                  \"aggregation\": 1\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGEffectiveCapResourcePercent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"5\",\n                  \"key\": \"WorkloadGroup\",\n                  \"operator\": 0,\n                  \"valueParam\": \"WorkloadGroupName\"\n                }\n              ],\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"WorkloadManagement\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"group - 6\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Audit\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\\r\\nSQL Auditing must be enabled and sending to the same Log Analytics Workspace for this page to work. \"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ServerPrincipalName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ApplicationName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| where DurationMs > 0\\r\\n| extend duration_seconds = DurationMs /1000.0\\r\\n| where Statement != 'select @@version'\\r\\n| where Statement != 'SELECT @@SPID;'\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| project ServerPrincipalName, EventTime, LogicalServerName, DurationMs, duration_seconds, AffectedRows, Statement, ApplicationName\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count() by EventDay = bin(EventTime,1d), UserName = ServerPrincipalName, Application = ApplicationName \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| where DurationMs > 0\\r\\n| extend duration_seconds = DurationMs /1000.0\\r\\n| where Statement != 'select @@version'\\r\\n| where Statement != 'SELECT @@SPID;'\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| project ServerPrincipalName, EventTime, LogicalServerName, DurationMs, duration_seconds, AffectedRows, Statement, ApplicationName\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count() by EventDay = bin(EventTime,1d), UserName = ServerPrincipalName, Application = ApplicationName \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, EventTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), Statement, QuerySource = ApplicationName , AffectedRows\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, EventTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), Statement, QuerySource = ApplicationName , AffectedRows\\r\\n    | project-reorder AffectedRows,DatabaseName, UserName, Host, EventTime, duration_seconds, Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"chartSettings\": {\n                \"xAxis\": \"Host\",\n                \"group\": \"UserName\",\n                \"createOtherGroup\": null,\n                \"showLegend\": true\n              }\n            },\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents\\r\\n| where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n| extend Duration = round(DurationMs /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(EventTime, 1d), TimeBin\",\n              \"size\": 0,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"name\": \"query - 0 - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"AuditingState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryAuditGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Query Comparison\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"7fa3187e-9225-4faa-8f80-dc1bc40c5aab\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId1\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"315fc476-469a-4d8d-b421-028d1113ab06\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId2\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId1}'\\r\\n| summarize \\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Request_ID,ElapsedTime_min,Command,Resource_class,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId2}'\\r\\n| summarize \\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d)),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project Request_ID,ElapsedTime_min,Command,Resource_class,Start_Time,End_Time,Statement_Type,Status\\r\\n\",\n              \"size\": 4,\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 2 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId1}' and RequestId != ''\\r\\n| summarize StartTime=max(StartTime)\\r\\n    ,EndTime=max(EndTime)\\r\\n    ,RequestID=max(RequestId)\\r\\n    ,Operation=max(OperationType)\\r\\n    ,RowCount=max(RowCount)\\r\\n    ,Command=max(Command)\\r\\n    ,Status=max(Status)\\r\\n     by StepIndex\\r\\n| order by StepIndex asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4\",\n            \"styleSettings\": {\n              \"margin\": \"0\",\n              \"padding\": \"10px\"\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId2}' and RequestId != ''\\r\\n| summarize StartTime=max(StartTime)\\r\\n    ,EndTime=max(EndTime)\\r\\n    ,RequestID=max(RequestId)\\r\\n    ,Operation=max(OperationType)\\r\\n    ,RowCount=max(RowCount)\\r\\n    ,Command=max(Command)\\r\\n    ,Status=max(Status)\\r\\n     by StepIndex\\r\\n| order by StepIndex asc\\r\\n| project StartTime,EndTime,RequestID,Operation,RowCount,Command,Status,StepIndex\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"query - 4 - Copy\",\n            \"styleSettings\": {\n              \"padding\": \"10px\"\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId1}'\",\n              \"size\": 0,\n              \"title\": \"Triggered Auto-Stats Statements\",\n              \"noDataMessage\": \"No triggered autostats statements found\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"End_Time\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"End_Time\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"All triggered auto-stats statements\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId2}'\",\n              \"size\": 0,\n              \"title\": \"Triggered Auto-Stats Statements\",\n              \"noDataMessage\": \"No triggered autostats statements found\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"All triggered auto-stats statements\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryComparison\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryComparison\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"title\": \"Session Investigation\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"feb2ac70-2555-456e-bfa6-6ad4a2dcad0f\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SessionID\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics \\r\\n| where Category  == 'ExecRequests'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where StatementType_s !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Session_ID=max(SessionId_s),   \\r\\n    Submit_Time=max(SubmitTime_t), \\r\\n    Start_Time=max(StartTime_t),\\r\\n    End_Compile_Time=max(EndCompileTime_t), \\r\\n    End_Time=max(EndTime_t), \\r\\n    Command=max(Command_s), \\r\\n    Last_Status=min(Status_s),\\r\\n    Statement_Type=max(StatementType_s),\\r\\n    Resource_class=max(ResourceClass_s) \\r\\n    by RequestId_s\\r\\n| where Session_ID has '{SessionID}'\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n| order by Submit_Time asc\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"RequestId_s\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"AzureDiagnostics\\r\\n| where Category  == 'RequestSteps'\\r\\n| where Resource  == '{DatabaseName}'\\r\\n| where RequestId_s == '{RequestID}'\\r\\n//| where Status_s != 'Running'\\r\\n| summarize Start_Time=max(StartTime_t),End_Time=max(EndTime_t),Request_ID=max(RequestId_s),Operation_Type=max(OperationType_s),Row_Count=max(RowCount_d),Statement=max(Command_s),Status=min(Status_s) by StepIndex_d\\r\\n| order by StepIndex_d asc\",\n              \"size\": 3,\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 2\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"SessionInvestigation\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"group - 9\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This tab is used to determine what statements triggerred autostats creation jobs. \\r\\nThe flow of autostats creation is as follows\\r\\n1. Query Submit Time\\r\\n2. \\tCreate Statistics submit Time\\r\\n3. \\tCreate Statistics end Time\\r\\n4. Query end_compile_time\\r\\n5. Query Start_Time\\r\\n6. Query End_Time\\r\\n\\r\\nFurther, if multiple stats are created, then the creation of all stats for this query will fall between query submit_time and end_compile_time. \\r\\n\\r\\nThe charts on this page allow you to search for an autostats job by requestID or my snippet of the autostats statement text, which can just be the schema, table, or column name. Then it will show you all commands that include that request ID or text. It will then show you all statements in the create stat statement because the query we are trying to identify will wait for all of those stats creations to complete before proceeding. \\r\\n\\r\\nThe last chart will list the statement that triggered the stats creation. \"\n            },\n            \"name\": \"text - 6\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"df5b9b85-4188-4f2c-88cb-1369e09f6742\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RootQueryId\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"560c9ec5-6341-4fa1-9ce6-35ff010151b1\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0911bd4b-d471-480b-bdf4-1a2d4ba1ea6e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"RequestId for AutoStats Job\"\n                },\n                {\n                  \"id\": \"c12e6495-4fd1-473c-8ffc-0bf502f54706\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"label\": \"Snippet of autostats creation statement (Schema, table or column)\"\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n| summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType)\\r\\n    by RequestId\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Command has '{QueryTextSnippet}' and RequestId has '{RequestIdSearch}'\\r\\n//| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n//| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n//| order by elapsedTime_sec\\r\\n//| summarize \\r\\n //   Executions = count(),\\r\\n //   Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n //   Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n //   Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n //   SampleQID = any(RequestId),\\r\\n   // SampleSessionID = any(Session_ID)\\r\\n  //  by Command\\r\\n//| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Autostats Queries\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"RequestId\",\n                  \"parameterName\": \"RequestId\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Root_Query_Id\",\n                  \"parameterName\": \"RootQueryId\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType !='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | where RequestId == '{RootQueryId}'\\r\\n    | summarize   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\",\n              \"size\": 3,\n              \"title\": \"Statement that Triggered Selected Autostat\",\n              \"noDataMessage\": \"Select an autostats query above to see what query triggered it\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n| summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType)\\r\\n    by RequestId\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Root_Query_Id == '{RootQueryId}'\",\n              \"size\": 3,\n              \"title\": \"All Stats Statements Triggered by selected Query\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 13\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"Statistics\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"statistics\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<svg width=\\\"400\\\" viewBox=\\\"0 0 482 271\\\" class=\\\"ext-vm-onboarding-sample-image-svg\\\" role=\\\"presentation\\\" focusable=\\\"false\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" aria-hidden=\\\"true\\\"><g><path fill=\\\"#ABABAB\\\" d=\\\"M399 249H93a1 1 0 1 1 0-2h306a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M301.333 220.333h-47.526c-2.649 0-6.171-.622-6.171-6V88.5a1 1 0 1 1 2 0v125.833c0 2.953 1.091 4 4.171 4h47.526a1 1 0 1 1 0 2zm-73.17 0h-47.526a1 1 0 1 1 0-2h47.526c3.08 0 4.171-1.047 4.171-4V88.5a1 1 0 1 1 2 0v125.833c-.001 5.378-3.522 6-6.171 6z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M276.777 186.134H350v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M350 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H350a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H349v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M128.777 186.134H202v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M202 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H202a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H201v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M180.941 214.203l-10.817 12.98-17.547-28.124L142 216.366V238h47.594z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M188.685 238.513l-7.762-21.345-10.474 12.567-17.359-27.821-9.31 15.234-2.56-1.564 11.843-19.379 17.736 28.425 11.16-13.392 9.545 26.249z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path fill=\\\"#ABABAB\\\" d=\\\"M409 249h-3a1 1 0 1 1 0-2h3a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M322.667 113l4 4-4 4-4-4zm0 10a6 6 0 0 0-6-6m12 0a6 6 0 0 0-6 6m-6-6a6 6 0 0 0 6-6m0 0a6 6 0 0 0 6 6m.333 0h3m-18 0h3m6 6v3m0-15v-3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M159.667 98l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M159.667 103a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M155 100h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M201.667 27l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M197 29h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3m129 23l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M329 54h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><circle cx=\\\"150.667\\\" cy=\\\"128\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"264.667\\\" cy=\\\"136\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"257.667\\\" cy=\\\"19\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"153.667\\\" cy=\\\"35\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><path d=\\\"M324.667 73a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999zm-117 72a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999z\\\" class=\\\"msportalfx-svg-c15\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M152.667 60.429L157.238 65l-4.571 4.571L148.095 65z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M152.667 71.857A6.857 6.857 0 0 0 145.81 65m13.714 0a6.857 6.857 0 0 0-6.857 6.857M145.81 65a6.857 6.857 0 0 0 6.857-6.857m0 0A6.857 6.857 0 0 0 159.524 65m.476 0h1m-16 0h1m7 7v1m0-15v-1\\\"></path></g><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M307.667 29l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M307.667 34a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M303 31h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M311.597 102.771c0-8.961-7.194-16.222-16.078-16.222-.669 0-1.329.051-1.963.138a43.97 43.97 0 0 0 1.524-11.436C295.077 51.363 275.877 32 252.195 32c-18.921 0-34.965 12.355-40.66 29.509a28.744 28.744 0 0 0-9.573-1.652c-16.203 0-29.314 13.239-29.314 29.567 0 16.338 13.111 29.576 29.311 29.576 0 0 .029-.013.042-.013V119h94.821l-.016-.08c8.272-.653 14.791-7.623 14.791-16.149\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M228.837 38.985c-.588.386-1.168.783-1.735 1.197v5.429h1.735v-6.626zm15.805-3.021c2.155 0 3.626-1.343 4.26-3.834a42.1 42.1 0 0 0-1.826.178c-.42 1.439-1.19 2.269-2.332 2.269-.844 0-1.53-.532-2.001-1.513-.555.126-1.106.263-1.653.41.765 1.622 2.008 2.49 3.552 2.49zm49.184 33.227c.285 0 .555-.031.816-.077a42.162 42.162 0 0 0-.223-1.387 2.056 2.056 0 0 1-.491.075c-1.633 0-2.695-1.959-2.695-5.41 0-1.556.222-2.777.589-3.687a44.243 44.243 0 0 0-.8-1.822c-.99 1.161-1.585 3.015-1.585 5.49.04 4.389 1.796 6.818 4.389 6.818zm16.618 38.788c-1.633 0-2.695-1.959-2.695-5.41 0-3.613 1.143-5.533 2.715-5.533.03 0 .054.012.084.013a16.386 16.386 0 0 0-.578-1.354c-2.376.341-4.018 2.74-4.018 6.855.04 4.305 1.732 6.719 4.244 6.81.205-.465.389-.94.551-1.426-.101.013-.195.045-.303.045zM249.522 119v-2.246h-1.531l-2.899 1.551.176.695h1.417l1.061-.572h.041V119zm47.408-6.904h-1.531l-2.899 1.553.347 1.367 2.307-1.245h.041V119h1.627l-.016-.08c.042-.003.082-.012.124-.016v-6.808zm-79.597.647c-2.561 0-4.418 2.217-4.597 6.257h1.806c.136-3.171 1.218-4.869 2.688-4.869 1.75 0 2.585 1.917 2.676 4.869h1.804c-.112-3.943-1.684-6.257-4.377-6.257zm-22.241 3.562l.347 1.368 2.307-1.245h.041v2.269a29.97 29.97 0 0 0 1.735.194v-4.137h-1.531l-2.899 1.551zm10.296-49.701h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531V78.2h-1.735V66.604zm-24 30h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735V96.604zm5.074-30.312h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531v13.271h-1.735V66.292zm89.337-15.693h-.041l-2.307 1.245-.347-1.367 2.899-1.552h1.531v13.271h-1.735V50.599zm-18.544-7.286h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531V54.91h-1.735V43.313zm-16.276 38.636h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V81.949zm16-12h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V69.949zm-26.192 32.479h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735v-11.596zm28.936.032c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm27.74 2.297c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm-63.864-6.468c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm78.338-21.172c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.848 14.432c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.491 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm-60.061-7.927c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.918-2.715 5.532zm-26.441 5.81c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.208.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.571 0-2.715 1.919-2.715 5.532zm39.883-27.255c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.286-5.696c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M296.821 120H201v-.015c-16.272-.513-29.352-14.024-29.352-30.562 0-16.854 13.599-30.566 30.313-30.566 3.021 0 6.027.467 8.95 1.39C217.17 42.711 233.635 31 252.194 31c24.195 0 43.882 19.851 43.886 44.25 0 3.447-.407 6.91-1.209 10.313.218-.01.434-.015.648-.015 9.417 0 17.078 7.726 17.078 17.223 0 8.54-6.329 15.809-14.602 17.021l-1.174.208zM203 118h93.223l.504-.077c7.777-.614 13.87-7.27 13.87-15.151 0-8.394-6.764-15.223-15.078-15.223-.59 0-1.205.043-1.827.129l-1.493.204.391-1.455a43.047 43.047 0 0 0 1.49-11.177C294.077 51.953 275.287 33 252.194 33c-18.028 0-33.987 11.583-39.711 28.824l-.321.966-.96-.338a27.758 27.758 0 0 0-9.241-1.595c-15.612 0-28.313 12.814-28.313 28.566 0 15.69 12.593 28.468 28.114 28.575l1.238-.012V118z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M313.564 239.159c2.37 0 4.339-1.836 4.764-3.971h-9.532c.427 2.135 2.393 3.971 4.768 3.971zm17.121-10.081c-2.022-1.032-3.055-5.128-3.055-12.219 0-9.071-1.075-20.263-14.255-20.263s-14.255 11.191-14.255 20.263c0 7.091-1.018 11.201-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073h30.547c3.565 0 3.294-3.431 2.037-4.073z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path d=\\\"M312 196.644c-11.876.762-12.88 11.471-12.88 20.216 0 7.091-1.018 11.2-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073H312v-36.508z\\\" class=\\\"msportalfx-svg-c15\\\"></path></g></svg>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"showPin\": false,\n                  \"name\": \"Image\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<span style=\\\"color: #000000; font-family: Babas; font-size: 2em;\\\">Enable SQL Auditing to get additional visibility into user activity against your SQL Pool</span>\\r\\n\\r\\nThis section provides additional monitoring coverage that is based on SQL Audit logs.</br>\\r\\nIf you have not activated SQL Auditing for your dedeciated SQL Pool, you must enable them to go to the same Log Analytics workspace as the rest of your diagnostic settings for it to show up here. [Learn more](https://docs.microsoft.com/en-us/azure/azure-sql/database/auditing-overview)</div>\\r\\n\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"name\": \"text - 2\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"paragraph\",\n                    \"links\": [\n                      {\n                        \"id\": \"f4df7a1e-2124-4620-9005-f9b66e47f550\",\n                        \"cellValue\": \"{DatabaseResourceName}\",\n                        \"linkTarget\": \"Resource\",\n                        \"linkLabel\": \"Configure Logs for Auditing >\",\n                        \"subTarget\": \"auditing\",\n                        \"preText\": \"\",\n                        \"postText\": \"\",\n                        \"style\": \"primary\"\n                      }\n                    ]\n                  },\n                  \"customWidth\": \"70\",\n                  \"name\": \"links - 8\"\n                }\n              ]\n            },\n            \"customWidth\": \"90\",\n            \"name\": \"Onboarding Message - Not onboarded yet\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"AuditingState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"disabled\"\n        }\n      ],\n      \"name\": \"AuditingDisabledGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<svg width=\\\"400\\\" viewBox=\\\"0 0 482 271\\\" class=\\\"ext-vm-onboarding-sample-image-svg\\\" role=\\\"presentation\\\" focusable=\\\"false\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" aria-hidden=\\\"true\\\"><g><path fill=\\\"#ABABAB\\\" d=\\\"M399 249H93a1 1 0 1 1 0-2h306a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M301.333 220.333h-47.526c-2.649 0-6.171-.622-6.171-6V88.5a1 1 0 1 1 2 0v125.833c0 2.953 1.091 4 4.171 4h47.526a1 1 0 1 1 0 2zm-73.17 0h-47.526a1 1 0 1 1 0-2h47.526c3.08 0 4.171-1.047 4.171-4V88.5a1 1 0 1 1 2 0v125.833c-.001 5.378-3.522 6-6.171 6z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M276.777 186.134H350v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M350 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H350a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H349v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M128.777 186.134H202v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M202 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H202a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H201v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M180.941 214.203l-10.817 12.98-17.547-28.124L142 216.366V238h47.594z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M188.685 238.513l-7.762-21.345-10.474 12.567-17.359-27.821-9.31 15.234-2.56-1.564 11.843-19.379 17.736 28.425 11.16-13.392 9.545 26.249z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path fill=\\\"#ABABAB\\\" d=\\\"M409 249h-3a1 1 0 1 1 0-2h3a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M322.667 113l4 4-4 4-4-4zm0 10a6 6 0 0 0-6-6m12 0a6 6 0 0 0-6 6m-6-6a6 6 0 0 0 6-6m0 0a6 6 0 0 0 6 6m.333 0h3m-18 0h3m6 6v3m0-15v-3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M159.667 98l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M159.667 103a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M155 100h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M201.667 27l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M197 29h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3m129 23l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M329 54h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><circle cx=\\\"150.667\\\" cy=\\\"128\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"264.667\\\" cy=\\\"136\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"257.667\\\" cy=\\\"19\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"153.667\\\" cy=\\\"35\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><path d=\\\"M324.667 73a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999zm-117 72a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999z\\\" class=\\\"msportalfx-svg-c15\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M152.667 60.429L157.238 65l-4.571 4.571L148.095 65z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M152.667 71.857A6.857 6.857 0 0 0 145.81 65m13.714 0a6.857 6.857 0 0 0-6.857 6.857M145.81 65a6.857 6.857 0 0 0 6.857-6.857m0 0A6.857 6.857 0 0 0 159.524 65m.476 0h1m-16 0h1m7 7v1m0-15v-1\\\"></path></g><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M307.667 29l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M307.667 34a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M303 31h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M311.597 102.771c0-8.961-7.194-16.222-16.078-16.222-.669 0-1.329.051-1.963.138a43.97 43.97 0 0 0 1.524-11.436C295.077 51.363 275.877 32 252.195 32c-18.921 0-34.965 12.355-40.66 29.509a28.744 28.744 0 0 0-9.573-1.652c-16.203 0-29.314 13.239-29.314 29.567 0 16.338 13.111 29.576 29.311 29.576 0 0 .029-.013.042-.013V119h94.821l-.016-.08c8.272-.653 14.791-7.623 14.791-16.149\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M228.837 38.985c-.588.386-1.168.783-1.735 1.197v5.429h1.735v-6.626zm15.805-3.021c2.155 0 3.626-1.343 4.26-3.834a42.1 42.1 0 0 0-1.826.178c-.42 1.439-1.19 2.269-2.332 2.269-.844 0-1.53-.532-2.001-1.513-.555.126-1.106.263-1.653.41.765 1.622 2.008 2.49 3.552 2.49zm49.184 33.227c.285 0 .555-.031.816-.077a42.162 42.162 0 0 0-.223-1.387 2.056 2.056 0 0 1-.491.075c-1.633 0-2.695-1.959-2.695-5.41 0-1.556.222-2.777.589-3.687a44.243 44.243 0 0 0-.8-1.822c-.99 1.161-1.585 3.015-1.585 5.49.04 4.389 1.796 6.818 4.389 6.818zm16.618 38.788c-1.633 0-2.695-1.959-2.695-5.41 0-3.613 1.143-5.533 2.715-5.533.03 0 .054.012.084.013a16.386 16.386 0 0 0-.578-1.354c-2.376.341-4.018 2.74-4.018 6.855.04 4.305 1.732 6.719 4.244 6.81.205-.465.389-.94.551-1.426-.101.013-.195.045-.303.045zM249.522 119v-2.246h-1.531l-2.899 1.551.176.695h1.417l1.061-.572h.041V119zm47.408-6.904h-1.531l-2.899 1.553.347 1.367 2.307-1.245h.041V119h1.627l-.016-.08c.042-.003.082-.012.124-.016v-6.808zm-79.597.647c-2.561 0-4.418 2.217-4.597 6.257h1.806c.136-3.171 1.218-4.869 2.688-4.869 1.75 0 2.585 1.917 2.676 4.869h1.804c-.112-3.943-1.684-6.257-4.377-6.257zm-22.241 3.562l.347 1.368 2.307-1.245h.041v2.269a29.97 29.97 0 0 0 1.735.194v-4.137h-1.531l-2.899 1.551zm10.296-49.701h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531V78.2h-1.735V66.604zm-24 30h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735V96.604zm5.074-30.312h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531v13.271h-1.735V66.292zm89.337-15.693h-.041l-2.307 1.245-.347-1.367 2.899-1.552h1.531v13.271h-1.735V50.599zm-18.544-7.286h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531V54.91h-1.735V43.313zm-16.276 38.636h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V81.949zm16-12h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V69.949zm-26.192 32.479h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735v-11.596zm28.936.032c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm27.74 2.297c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm-63.864-6.468c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm78.338-21.172c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.848 14.432c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.491 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm-60.061-7.927c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.918-2.715 5.532zm-26.441 5.81c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.208.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.571 0-2.715 1.919-2.715 5.532zm39.883-27.255c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.286-5.696c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M296.821 120H201v-.015c-16.272-.513-29.352-14.024-29.352-30.562 0-16.854 13.599-30.566 30.313-30.566 3.021 0 6.027.467 8.95 1.39C217.17 42.711 233.635 31 252.194 31c24.195 0 43.882 19.851 43.886 44.25 0 3.447-.407 6.91-1.209 10.313.218-.01.434-.015.648-.015 9.417 0 17.078 7.726 17.078 17.223 0 8.54-6.329 15.809-14.602 17.021l-1.174.208zM203 118h93.223l.504-.077c7.777-.614 13.87-7.27 13.87-15.151 0-8.394-6.764-15.223-15.078-15.223-.59 0-1.205.043-1.827.129l-1.493.204.391-1.455a43.047 43.047 0 0 0 1.49-11.177C294.077 51.953 275.287 33 252.194 33c-18.028 0-33.987 11.583-39.711 28.824l-.321.966-.96-.338a27.758 27.758 0 0 0-9.241-1.595c-15.612 0-28.313 12.814-28.313 28.566 0 15.69 12.593 28.468 28.114 28.575l1.238-.012V118z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M313.564 239.159c2.37 0 4.339-1.836 4.764-3.971h-9.532c.427 2.135 2.393 3.971 4.768 3.971zm17.121-10.081c-2.022-1.032-3.055-5.128-3.055-12.219 0-9.071-1.075-20.263-14.255-20.263s-14.255 11.191-14.255 20.263c0 7.091-1.018 11.201-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073h30.547c3.565 0 3.294-3.431 2.037-4.073z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path d=\\\"M312 196.644c-11.876.762-12.88 11.471-12.88 20.216 0 7.091-1.018 11.2-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073H312v-36.508z\\\" class=\\\"msportalfx-svg-c15\\\"></path></g></svg>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"showPin\": false,\n                  \"name\": \"Image\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<span style=\\\"color: #000000; font-family: Babas; font-size: 2em;\\\">Get more visibility into the usage and performance of your Azure Synapse Dedicated SQL Pool</span>\\r\\n\\r\\nThis section provides additional monitoring coverage that is based on diagnostic logs.</br>\\r\\n\\r\\nIf you have not activated monitoring in diagnostic settings, you must enable the **ExecRequests** and **RequestSteps** logs and send them to a Log Analytics workspace. You may choose to enable the **SQLSecurityAuditEvents** table at the same time to take full advantage of this monitoring workbook. [Learn more](https://docs.microsoft.com/en-us/azure/synapse-analytics/monitoring/how-to-monitor-using-azure-monitor#logs)</div>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"name\": \"text - 2\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"paragraph\",\n                    \"links\": [\n                      {\n                        \"id\": \"f4df7a1e-2124-4620-9005-f9b66e47f550\",\n                        \"cellValue\": \"{DatabaseResourceName}\",\n                        \"linkTarget\": \"Resource\",\n                        \"linkLabel\": \"Configure Logs for Monitoring >\",\n                        \"subTarget\": \"diagnostics\",\n                        \"preText\": \"\",\n                        \"postText\": \"\",\n                        \"style\": \"primary\"\n                      }\n                    ]\n                  },\n                  \"customWidth\": \"70\",\n                  \"name\": \"links - 8\"\n                }\n              ]\n            },\n            \"customWidth\": \"90\",\n            \"name\": \"Onboarding Message - Not onboarded yet\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isNotEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"disabled\"\n        }\n      ],\n      \"name\": \"DiagnosticsDisabledGroup\"\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"Azure Monitor\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "Monitor_Workbooks/archive/WorkspaceSQLPoolWorkbook_WIP_v0.77.JSON",
    "content": "{\n  \"version\": \"Notebook/1.0\",\n  \"items\": [\n    {\n      \"type\": 9,\n      \"content\": {\n        \"version\": \"KqlParameterItem/1.0\",\n        \"crossComponentResources\": [\n          \"{LogAnalyticsWorkspace}\"\n        ],\n        \"parameters\": [\n          {\n            \"id\": \"f5852627-70ca-4959-8d60-53b48864603f\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"TimeRange\",\n            \"type\": 4,\n            \"isGlobal\": true,\n            \"value\": {\n              \"durationMs\": 86400000\n            },\n            \"typeSettings\": {\n              \"selectableValues\": [\n                {\n                  \"durationMs\": 300000\n                },\n                {\n                  \"durationMs\": 900000\n                },\n                {\n                  \"durationMs\": 1800000\n                },\n                {\n                  \"durationMs\": 3600000\n                },\n                {\n                  \"durationMs\": 14400000\n                },\n                {\n                  \"durationMs\": 43200000\n                },\n                {\n                  \"durationMs\": 86400000\n                },\n                {\n                  \"durationMs\": 172800000\n                },\n                {\n                  \"durationMs\": 259200000\n                },\n                {\n                  \"durationMs\": 604800000\n                },\n                {\n                  \"durationMs\": 1209600000\n                },\n                {\n                  \"durationMs\": 2419200000\n                },\n                {\n                  \"durationMs\": 2592000000\n                }\n              ],\n              \"allowCustom\": true\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"28da10ec-a308-47f5-9819-92ebf810b292\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsSubscription\",\n            \"type\": 6,\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"includeAll\": true,\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            }\n          },\n          {\n            \"id\": \"e383ed24-52ae-447b-9b80-51fd3ab6b919\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogAnalyticsWorkspace\",\n            \"type\": 5,\n            \"query\": \"Resources\\r\\n| where type == 'microsoft.operationalinsights/workspaces'\\r\\n| project id\\r\\n\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsSubscription}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 86400000\n            },\n            \"queryType\": 1,\n            \"resourceType\": \"microsoft.resourcegraph/resources\"\n          },\n          {\n            \"id\": \"9b9fe566-0f52-4a75-a35b-a79c50c6a6f0\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseResourceName\",\n            \"type\": 5,\n            \"query\": \"SynapseSqlPoolExecRequests \\r\\n| distinct _ResourceId\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"value\": null,\n            \"typeSettings\": {\n              \"additionalResourceOptions\": [],\n              \"showDefault\": false\n            },\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"6da2f63f-45a3-4b37-9108-5e8b7e358d85\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DatabaseName\",\n            \"type\": 1,\n            \"query\": \"print split (\\\"{DatabaseResourceName}\\\",\\\"/\\\")[-1]\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"8bba835b-f319-43b3-8ec6-4e051fc6d446\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"LogicalServerName\",\n            \"type\": 1,\n            \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId == '{DatabaseResourceName}'\\r\\n| distinct LogicalServerName\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 0\n            },\n            \"timeContextFromParameter\": \"TimeRange\",\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"b86cd4a2-2303-4288-b48c-1c119cb420ba\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"AuditingState\",\n            \"type\": 1,\n            \"query\": \"let hasNonEmptyTable = (T:string) \\r\\n{ \\r\\n   toscalar( \\r\\n   union isfuzzy=true \\r\\n   ( table(T) \\r\\n   | where DatabaseName has '{DatabaseName}'\\r\\n   | where TimeGenerated > ago(30d)| take 1 | count as Count ),\\r\\n   (print Count=0) \\r\\n   | summarize sum(Count) \\r\\n   ) > 0\\r\\n};\\r\\nlet TableName = 'SQLSecurityAuditEvents';\\r\\nprint  IsPresent=iif(hasNonEmptyTable(TableName ), \\\"enabled\\\", \\\"disabled\\\")\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 604800000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          },\n          {\n            \"id\": \"4025bcb8-f6d7-4e81-b805-84253835f8fb\",\n            \"version\": \"KqlParameterItem/1.0\",\n            \"name\": \"DiagnosticsState\",\n            \"type\": 1,\n            \"query\": \"let hasNonEmptyTable = (T:string, T2:string) \\r\\n{ \\r\\n   toscalar( \\r\\n   union isfuzzy=true \\r\\n   ( table(T) | where TimeGenerated > ago(30d) | where _ResourceId endswith '/sqlpools/{DatabaseName}'| take 1 | count as Count ),\\r\\n   ( table(T2) | where TimeGenerated > ago(30d) | where _ResourceId endswith '/sqlpools/{DatabaseName}'| take 1 | count as Count),\\r\\n   (print Count=0) \\r\\n   | summarize sum(Count) \\r\\n   ) > 1\\r\\n};\\r\\nlet TableName = 'SynapseSqlPoolExecRequests';\\r\\nlet TableName2 = 'SynapseSqlPoolRequestSteps';\\r\\nprint  IsPresent=iif(hasNonEmptyTable(TableName,TableName2 ), \\\"enabled\\\", \\\"disabled\\\")\",\n            \"crossComponentResources\": [\n              \"{LogAnalyticsWorkspace}\"\n            ],\n            \"isHiddenWhenLocked\": true,\n            \"timeContext\": {\n              \"durationMs\": 2592000000\n            },\n            \"queryType\": 0,\n            \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n          }\n        ],\n        \"style\": \"pills\",\n        \"queryType\": 0,\n        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n      },\n      \"customWidth\": \"90\",\n      \"name\": \"parameters - 2\"\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"Select your Log Analytics Workspace by setting the parameters above from left to right. \",\n        \"style\": \"warning\"\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"DatabaseResourceName\",\n        \"comparison\": \"isEqualTo\"\n      },\n      \"customWidth\": \"30\",\n      \"name\": \"text - 14\"\n    },\n    {\n      \"type\": 11,\n      \"content\": {\n        \"version\": \"LinkItem/1.0\",\n        \"style\": \"tabs\",\n        \"links\": [\n          {\n            \"id\": \"202cbbc0-8d63-416d-89ed-451d6fe7c4b3\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Overview\",\n            \"subTarget\": \"Overview\",\n            \"preText\": \"Workload\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"a7901bd0-a1f4-4491-b953-57555d764e00\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Workload Management\",\n            \"subTarget\": \"WorkloadManagement\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"45e12a14-8548-4477-aae3-c142b906dc9f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"TempDB\",\n            \"subTarget\": \"TempDB\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"9ef8f730-d73d-432b-9b75-55095d1155f2\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Replicated Tables\",\n            \"subTarget\": \"ReplicatedTables\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"79d10d16-0696-4214-b306-c7a0e46cd64f\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Investigation\",\n            \"subTarget\": \"QueryInvestigation\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"31c1cf1c-74b5-44e2-ba9a-9497834ca3dc\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Comparison\",\n            \"subTarget\": \"QueryComparison\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"482ccc46-8a10-4ace-bfd6-63ac73b380af\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"Query Audit\",\n            \"subTarget\": \"QueryAudit\",\n            \"style\": \"link\"\n          },\n          {\n            \"id\": \"db43bb45-1611-47ce-a2ad-517943f2aa1a\",\n            \"cellValue\": \"GroupSelection\",\n            \"linkTarget\": \"parameter\",\n            \"linkLabel\": \"AutoStats\",\n            \"subTarget\": \"Statistics\",\n            \"style\": \"link\"\n          }\n        ]\n      },\n      \"name\": \"links - 0\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook90867bfc-5c33-464f-ac31-2c2e006b97f4\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 1209600000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-DWUUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"DWU Usaed %\"\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-CPUPercent\",\n                  \"aggregation\": 3,\n                  \"columnName\": \"CPU Used %\"\n                }\n              ],\n              \"title\": \"DWU Resource Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-QueuedQueries\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Active and Queued Queries\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Utilization Percentage\"\n                }\n              ],\n              \"title\": \"TempDB Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"metric - 1 - Copy\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookb954d4a0-82ef-4409-88fb-837aaff80c8d\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"Workload Group Allocation by System %\"\n                }\n              ],\n              \"title\": \"Workload Group Utilization\",\n              \"showOpenInMe\": true,\n              \"showCreateAlertRule\": true,\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"showPin\": true,\n            \"name\": \"Workload Group Utilization\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    //Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    //Session_ID=any(Session_ID), \\r\\n   // Submit_Time=any(Submit_Time) ,\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where End_Time > ago(365d)\\r\\n| summarize count() by Status, bin(End_Time,5m)\\r\\n| render barchart   \\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Query Completion Count by End Time - 5m buckets\",\n                    \"color\": \"redBright\",\n                    \"timeContext\": {\n                      \"durationMs\": 1209600000\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"name\": \"query - 4\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"Use the buttons below to filter the next chart for Success or Failed queries. In many cases a failed query may not have a 'Command' column populated depending on what stage the query failed in. \",\n                    \"style\": \"info\"\n                  },\n                  \"customWidth\": \"25\",\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"parameters\": [\n                      {\n                        \"id\": \"e2a833ac-48b4-4ccd-bbcd-33fccf1dbd75\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryCompletionType\",\n                        \"type\": 1,\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        }\n                      }\n                    ],\n                    \"style\": \"pills\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 4\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"8e89112f-c67f-42c0-9622-02fa306fb7a5\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Queries\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"6abe39c7-4d4e-4c45-aa54-dc9a4c5e876e\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"Completed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"e41b4a0b-8464-491e-92be-a57217d6dcac\",\n                        \"cellValue\": \"QueryCompletionType\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"Failed\",\n                        \"preText\": \"\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 11\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Status has '{QueryCompletionType}'\\r\\n| order by Start_Time\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Query Completions - use above buttons to filter\",\n                    \"color\": \"redBright\",\n                    \"timeContext\": {\n                      \"durationMs\": 1209600000\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"seriesLabelSettings\": [\n                        {\n                          \"seriesName\": \"Completed\",\n                          \"color\": \"green\"\n                        },\n                        {\n                          \"seriesName\": \"Failed\",\n                          \"color\": \"red\"\n                        },\n                        {\n                          \"seriesName\": \"Cancelled\",\n                          \"color\": \"yellow\"\n                        }\n                      ]\n                    }\n                  },\n                  \"name\": \"query - 4 - Copy\"\n                }\n              ]\n            },\n            \"name\": \"Query Completions\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook1afc57e6-0b32-4968-b299-db319bd21635\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-Connections\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-ConnectionsBlockedByFirewall\",\n                  \"aggregation\": 1\n                }\n              ],\n              \"title\": \"Successful and Failed Connections\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 5\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" SQLSecurityAuditEvents\\r\\n    | where LogicalServerName == '{LogicalServerName}'\\r\\n    | where ActionName in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | project SourceSystem,ClientTlsVersion ,Succeeded,SessionId,ClientIp,SessionServerPrincipalName,ServerPrincipalName,DatabasePrincipalName,ApplicationName,HostName,TimeGenerated\\r\\n    | summarize count() by Succeeded,bin(TimeGenerated,1m)\\r\\n    | render barchart\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"timeContext\": {\n                      \"durationMs\": 2592000000\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"timeBrushParameterName\": \"TimeRange\",\n                    \"timeBrushExportOnlyWhenBrushed\": true,\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null\n                    }\n                  },\n                  \"name\": \"query - 8\"\n                },\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"parameters\": [\n                      {\n                        \"id\": \"f7485a11-48df-4b61-a70e-9f56d6a00ec6\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"AuthResult\",\n                        \"type\": 1,\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        }\n                      }\n                    ],\n                    \"style\": \"pills\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 3\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"nav\",\n                    \"links\": [\n                      {\n                        \"id\": \"2ed22e0a-2b53-4ed0-8f65-d2c621f34dad\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"All Authentications\",\n                        \"subTarget\": \"''\",\n                        \"style\": \"primary\"\n                      },\n                      {\n                        \"id\": \"2789ab13-ae8a-472e-bad4-9c9bdc934d4d\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Success Only\",\n                        \"subTarget\": \"true\",\n                        \"style\": \"secondary\"\n                      },\n                      {\n                        \"id\": \"5cf4ddd4-e189-4b71-b456-0d4f1572a0a3\",\n                        \"cellValue\": \"AuthResult\",\n                        \"linkTarget\": \"parameter\",\n                        \"linkLabel\": \"Failures Only\",\n                        \"subTarget\": \"false\",\n                        \"style\": \"secondary\"\n                      }\n                    ]\n                  },\n                  \"name\": \"links - 10\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \" SQLSecurityAuditEvents\\r\\n    | where LogicalServerName == '{LogicalServerName}'\\r\\n    | where ActionName in ('DATABASE AUTHENTICATION SUCCEEDED','DATABASE AUTHENTICATION FAILED')\\r\\n    | where Succeeded == '{AuthResult}'\\r\\n    | project SourceSystem,ClientTlsVersion ,Succeeded,SessionId,ClientIp,SessionServerPrincipalName,ServerPrincipalName,DatabasePrincipalName,ApplicationName,HostName,TimeGenerated\\r\\n    | summarize count() by Succeeded,bin(TimeGenerated,1m)\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n                    \"size\": 0,\n                    \"title\": \"Database Authentication success/failure rate\",\n                    \"noDataMessage\": \"Please select a button above\",\n                    \"timeContext\": {\n                      \"durationMs\": 0\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"rowLimit\": 100\n                    },\n                    \"chartSettings\": {\n                      \"xAxis\": \"TimeGenerated\",\n                      \"group\": \"succeeded_s\",\n                      \"createOtherGroup\": null,\n                      \"showLegend\": true\n                    }\n                  },\n                  \"name\": \"query - 8 - Copy\"\n                }\n              ]\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"AuditingState\",\n              \"comparison\": \"isEqualTo\",\n              \"value\": \"enabled\"\n            },\n            \"name\": \"Database Authentication Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook993837ad-66d6-4cbc-ae1a-7c3f6623236b\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 1209600000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-AdaptiveCacheHitPercent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"title\": \"Adaptive Cache Used vs Hit Percentage\",\n              \"showCreateAlertRule\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 6\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"Overview\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"overviewGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook4a9cf761-cce2-45b2-8947-8a9428ec7e1c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 3,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-LocalTempDBUsedPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": null,\n                  \"columnName\": \"TempDB Util\"\n                }\n              ],\n              \"title\": \"TempDB Max and Avg Utilization\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"19ee48f5-8f4e-4939-a0ef-c6bf656a93f9\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"00553ec8-1a41-4dd9-a024-d607639c9bbb\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestID\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Weighted query steps\\r\\nSynapseSqlPoolRequestSteps \\r\\n| where _ResourceId == databaseResourceName\\r\\n| where RowCount > 0\\r\\n| summarize sum(RowCount) by RequestId, OperationType\\r\\n| order by sum_RowCount desc\\r\\n| limit 20\\r\\n| render columnchart \",\n              \"size\": 0,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"xAxis\": \"RequestId\",\n                \"group\": \"OperationType\",\n                \"createOtherGroup\": 20,\n                \"showLegend\": true\n              }\n            },\n            \"name\": \"query - 1 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"8afacdd5-2690-48d0-b125-fb118378e90c\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WeightParameter\",\n                  \"type\": 1,\n                  \"value\": \"Unweighted\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 8\"\n          },\n          {\n            \"type\": 11,\n            \"content\": {\n              \"version\": \"LinkItem/1.0\",\n              \"style\": \"nav\",\n              \"links\": [\n                {\n                  \"id\": \"c98d3722-9907-43ab-9306-1957d6f7f858\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Weighted Rowcounts\",\n                  \"subTarget\": \"Weighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                },\n                {\n                  \"id\": \"a06ae99a-ad62-45e9-8c25-c219b81f59c0\",\n                  \"cellValue\": \"WeightParameter\",\n                  \"linkTarget\": \"parameter\",\n                  \"linkLabel\": \"Unweighted Rowcounts\",\n                  \"subTarget\": \"Unweighted\",\n                  \"preText\": \"\",\n                  \"postText\": \"\",\n                  \"style\": \"secondary\"\n                }\n              ]\n            },\n            \"name\": \"links - 3\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"Current Setting: {WeightParameter}\",\n              \"style\": \"info\"\n            },\n            \"customWidth\": \"25\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Weighted query steps\\r\\nlet RequestSteps = SynapseSqlPoolRequestSteps\\r\\n//| where _ResourceId == databaseResourceName\\r\\n//| where RowCount > 10000000\\r\\n| extend Step_Elapsed_Min = round((EndTime - StartTime) /1m, 2)\\r\\n| extend Weighted_cnt = iff('{WeightParameter}'=='Weighted',(case(OperationType == 'BroadcastMoveOperation', (RowCount*10), RowCount)),RowCount)\\r\\n| project-rename StepStatus = Status, StepStart = StartTime, StepEnd = EndTime//, StepResource = Resource\\r\\n| top 100 by Weighted_cnt desc\\r\\n| order by Weighted_cnt desc\\r\\n| project Request_ID=RequestId,OperationType, RowCount,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, StepIndex;\\r\\nRequestSteps | join (\\r\\nSynapseSqlPoolExecRequests\\r\\n//| where _ResourceId == databaseResourceName\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    //Submit_Time=max(SubmitTime),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize //Session_ID=any(Session_ID), \\r\\n//Submit_Time=any(Submit_Time) ,\\r\\nStart_Time=any(Start_Time), End_Time=any(End_Time),Command=any(Command),Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n//| order by Step_Elapsed_Min desc\\r\\n| extend Request_Elapsed_Min = round((End_Time - Start_Time)/1m, 2)\\r\\n| project-rename ReqStatus = Status, ReqStart = Start_Time, ReqEnd = End_Time\\r\\n) on Request_ID\\r\\n| project-reorder //Session_ID, \\r\\nRequest_ID, Request_Elapsed_Min, ReqStart, ReqEnd, ReqStatus,StepIndex, OperationType, RowCount,Weighted_cnt,Step_Elapsed_Min, StepStart, StepEnd, StepStatus, Statement_Type, Command, Resource_class\\r\\n| order by Weighted_cnt desc\\r\\n| limit 20\",\n              \"size\": 3,\n              \"title\": \"20 Largest Query Steps by Most Rows Moved\",\n              \"timeContext\": {\n                \"durationMs\": 2592000000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestID\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Weighted_cnt\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Weighted_cnt\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"name\": \"query - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize //Session_ID=any(SessionId),\\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize ElapsedTime_min=bin(anyif(((End_Time - Start_Time)/1m),Start_Time > ago(30d)),1),\\r\\n    Start_Time=any(Start_Time), \\r\\n    End_Time=any(End_Time),\\r\\n    Command=any(Command),\\r\\n    Status=any(Status),\\r\\n    Statement_Type=any(Statement_Type)\\r\\n    ,Resource_class=any(Resource_class) \\r\\n    by Request_ID\\r\\n| where Request_ID == '{RequestID}' and Request_ID != ''\\r\\n\\r\\n\",\n              \"size\": 4,\n              \"title\": \"Selected Query\",\n              \"noDataMessage\": \"Select a query above to view details\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"35%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestID}' and RequestId != '' //Put your QueryID here\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan\",\n              \"noDataMessage\": \"Select a query above to view the plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 7\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"TempDB\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"TempDBGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Search Criteria\\r\\nUse the following fields to search either using a query text snippet or using a Request ID. If using a query text snippet, try to keep it as simple as possible becuase minor changes in formatting may cause your queries not to show up in the results. It's best to pick something like a table name, then choose the proper query from the list that will populate. \"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"text - 4\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"4b98dd26-4ccf-420e-a990-8d015f27fb76\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"SampleQID\",\n                  \"type\": 1,\n                  \"value\": \"999\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"d5524dd5-cf7e-41cf-beb3-474b3290289e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"initializeQueryInvestigationParameters\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0c2128d0-d979-4562-a28c-e7ceb955f126\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"Request Id Search\"\n                },\n                {\n                  \"id\": \"29880874-2d41-4bd5-bf22-3e47ae8b1145\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| summarize \\r\\n    Request_ID=max(RequestId),  \\r\\n    Start_Time=max(StartTime),\\r\\n    End_Compile_Time=max(EndCompileTime), \\r\\n    End_Time=max(EndTime), \\r\\n    QueryText = any(Command), \\r\\n    Last_Status=min(Status),\\r\\n    Statement_Type=max(StatementType),\\r\\n    Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n| extend Elapsed_Time_s=(End_Time - Start_Time)/1s\\r\\n| where QueryText has '{QueryTextSnippet}'\\r\\nand RequestId has '{RequestId}'\\r\\n| summarize \\r\\n    Executions = count(),\\r\\n    SampleQID = any(RequestId),\\r\\n    Elapsed_Time_s=max(Elapsed_Time_s)\\r\\n    by QueryText\\r\\n| order by Elapsed_Time_s\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Queries\",\n              \"timeContext\": {\n                \"durationMs\": 1209600000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"SampleQID\"\n                },\n                {\n                  \"fieldName\": \"SampleQID\",\n                  \"parameterName\": \"RequestId\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"QueryText\",\n                  \"parameterName\": \"QueryText\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Elapsed_Time_s\",\n                    \"sortOrder\": 2\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Elapsed_Time_s\",\n                  \"sortOrder\": 2\n                }\n              ]\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## DSQL Command \"\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"QueryText\",\n              \"comparison\": \"isNotEqualTo\"\n            },\n            \"name\": \"text - 8\"\n          },\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"```{QueryText}```\\r\\n\"\n            },\n            \"conditionalVisibility\": {\n              \"parameterName\": \"QueryText\",\n              \"comparison\": \"isNotEqualTo\"\n            },\n            \"name\": \"ShowQueryText\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n| where RequestId == '{SampleQID}'\\r\\n| summarize  \\r\\n    Request_ID=max(RequestId),   \\r\\n    Start_Time=max(StartTime),\\r\\n    End_Compile_Time=max(EndCompileTime), \\r\\n    End_Time=max(EndTime), \\r\\n    Command=max(Command), \\r\\n    Last_Status=min(Status),\\r\\n    Statement_Type=max(StatementType),\\r\\n    Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Start_Time)/1s,real(null)) \\r\\n| join kind=inner\\r\\n    (SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute')\\r\\n    | summarize \\r\\n        Request_ID=max(RequestId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n        by RequestId\\r\\n    //| extend elapsedTime_sec = (End_Time - Start_Time)/1s\\r\\n    | extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Start_Time)/1s,real(null)) \\r\\n    )\\r\\non Command \\r\\n| project Request_ID1,Start_Time1,End_Compile_Time1,End_Time1,Last_Status1,Statement_Type1,Resource_class1,elapsedTime_sec1\\r\\n\",\n              \"size\": 0,\n              \"title\": \"All Executions of Selected Query Text\",\n              \"noDataMessage\": \"Select a query above to see individual executions\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 1209600000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportFieldName\": \"Request_ID1\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"sortBy\": []\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId}' and RequestId != ''\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a Query Above to See the Query Plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 1209600000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId}'\",\n              \"size\": 0,\n              \"title\": \"Triggered Auto-Stats Statements\",\n              \"noDataMessage\": \"No triggered autostats statements found\",\n              \"timeContext\": {\n                \"durationMs\": 1209600000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Submit_Time\",\n                    \"formatter\": 0,\n                    \"numberFormat\": {\n                      \"unit\": 0,\n                      \"options\": {\n                        \"style\": \"decimal\"\n                      }\n                    }\n                  },\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"100ch\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"All triggered auto-stats statements\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryInvestigation\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryInvestigationGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"All Charts on this page are based on the last 7 days of data\",\n              \"style\": \"info\"\n            },\n            \"customWidth\": \"25\",\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"533ff6bb-97cd-4aaa-9372-171cad378bcd\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryText\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"99de0056-d4f3-465e-a27e-599d69b23c77\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"value\": \"999\",\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"initializeTempDBVariables\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command != \\\"\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize LastRebuild=max(TimeGenerated),RebuildCount=count(RequestId) by Command\\r\\n| order by RebuildCount desc\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Most Rebuilds by Table\",\n              \"noDataMessage\": \"No replicated table rebuilds found in the last 7 days\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"Command\",\n              \"exportParameterName\": \"QueryText\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command_s\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 0\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command == \\\"{QueryText}\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize count() by Command,bin(TimeGenerated,24h)\\r\\n| limit 20\\r\\n| render timechart\",\n              \"size\": 0,\n              \"title\": \"Rebuilds per Day for Selected Table\",\n              \"noDataMessage\": \"Select a query above to see runs by day\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 20,\n                \"ySettings\": {\n                  \"min\": 0\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"//Build cache count by day\\r\\nlet databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| where Command != \\\"\\\"\\r\\n| where ResourceClass != \\\"\\\"\\r\\n| project Command,TimeGenerated,RequestId\\r\\n| summarize count() by Command, bin(TimeGenerated,24h)\\r\\n//| where count_ > 7\\r\\n| order by count_ desc\\r\\n\\r\\n\",\n              \"size\": 2,\n              \"title\": \"Rebuild Count by Table by Day\",\n              \"noDataMessage\": \" Only tables with more than 7 total rebuilds will show up. If no talbes with that many rebuilds are found this chart will be empty\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"categoricalbar\",\n              \"gridSettings\": {\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"count_\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"count_\",\n                  \"sortOrder\": 1\n                }\n              ],\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"Command_s\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"count_\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"group\": \"Command_s\",\n                \"createOtherGroup\": 99,\n                \"showDataPoints\": true\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"let databaseResourceName = '{DatabaseResourceName}';\\r\\n//Long-Running Queries - Just Actual Queries\\r\\n//If 'Command' is empty - you need to set a bigger time window, the older record with the command is outside of your window\\r\\nSynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where StatementType == 'BuildReplicatedTableCache'\\r\\n| summarize          Start_Time=max(StartTime),      End_Time=max(EndTime),      Command=max(Command),       Statement_Type=max(StatementType),     Resource_class=max(ResourceClass)      by RequestId\\r\\n| join kind= inner\\r\\n(\\r\\n    SynapseSqlPoolExecRequests\\r\\n    | where _ResourceId  == databaseResourceName\\r\\n    | where StatementType == 'BuildReplicatedTableCache'\\r\\n    | where StatementType == 'BuildReplicatedTableCache'\\r\\n    | where EndTime > ago(7d)\\r\\n    | where StartTime > ago(7d)\\r\\n    | extend elapsedTime_min = (EndTime - StartTime)/1m\\r\\n    | order by elapsedTime_min desc\\r\\n    | project RequestId,elapsedTime_min \\r\\n)\\r\\non RequestId\\r\\n| order by elapsedTime_min desc\\r\\n| project RequestId,Start_Time,End_Time,Elapsed_Time=round(elapsedTime_min,1) ,Command\\r\\n| limit 15\\r\\n\",\n              \"size\": 3,\n              \"title\": \"Top 15 Elapsed Time per Rebuild\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"exportFieldName\": \"RequestId\",\n              \"exportParameterName\": \"RequestId\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"40%\"\n                    }\n                  }\n                ]\n              }\n            },\n            \"name\": \"query - 3\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \" let databaseResourceName = '{DatabaseResourceName}';\\r\\nSynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == databaseResourceName\\r\\n| where RequestId == '{RequestId}'\\r\\n| where Status != 'Running'\\r\\n| summarize max(StartTime),max(EndTime),max(RequestId),max(OperationType),max(RowCount),max(Command),max(Status) by StepIndex\\r\\n| order by StepIndex asc\",\n              \"size\": 3,\n              \"title\": \"Query Plan for Selected Query\",\n              \"noDataMessage\": \"Select a query above to view plan\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 4\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"ReplicatedTables\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"ReplicatedTablesGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook72446028-6edb-4cb0-8952-e0c13bda488f\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 1209600000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Workload Group Allocation By System Percent\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 0\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbookc898119a-7381-469d-b51a-d505b4f80e73\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool  Workload management-WLGActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                }\n              ],\n              \"title\": \"Query Count by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"metric - 1\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook8d175f6c-427b-47fc-85ea-37edd0be707c\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 1,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 1209600000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGQueuedQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": \"WorkloadGroup\"\n                }\n              ],\n              \"title\": \"Queued Queries by Workload Group\",\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"Queued Queries by Workload Group\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"6f50577d-7b00-4e4a-acf9-d45c7a5ee813\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"WorkloadGroupName\",\n                  \"type\": 2,\n                  \"query\": \"SynapseSqlPoolExecRequests \\r\\n| where _ResourceId == '{DatabaseResourceName}'\\r\\n and ResourceClass != \\\"\\\"\\r\\n| distinct ResourceClass\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 10,\n            \"content\": {\n              \"chartId\": \"workbook3da1d18a-1bf5-46c5-b3b7-211f71d329cc\",\n              \"version\": \"MetricsItem/2.0\",\n              \"size\": 0,\n              \"chartType\": 2,\n              \"resourceType\": \"microsoft.synapse/workspaces/sqlpools\",\n              \"metricScope\": 0,\n              \"resourceParameter\": \"DatabaseResourceName\",\n              \"resourceIds\": [\n                \"{DatabaseResourceName}\"\n              ],\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"timeContext\": {\n                \"durationMs\": 1209600000\n              },\n              \"metrics\": [\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGActiveQueries\",\n                  \"aggregation\": 1,\n                  \"splitBy\": null\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGQueuedQueries\",\n                  \"aggregation\": 1\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGAllocationBySystemPercent\",\n                  \"aggregation\": 3\n                },\n                {\n                  \"namespace\": \"microsoft.synapse/workspaces/sqlpools\",\n                  \"metric\": \"microsoft.synapse/workspaces/sqlpools-SQL dedicated pool-WLGEffectiveCapResourcePercent\",\n                  \"aggregation\": 3\n                }\n              ],\n              \"filters\": [\n                {\n                  \"id\": \"5\",\n                  \"key\": \"WorkloadGroup\",\n                  \"operator\": 0,\n                  \"valueParam\": \"WorkloadGroupName\"\n                }\n              ],\n              \"timeBrushParameterName\": \"TimeRange\",\n              \"timeBrushExportOnlyWhenBrushed\": true,\n              \"gridSettings\": {\n                \"rowLimit\": 10000\n              }\n            },\n            \"name\": \"metric - 3\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"WorkloadManagement\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"WorkloadManagementGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## Select a Principal or Application name to filter results - leave to 'unset' to view all results\\r\\nSQL Auditing must be enabled and sending to the same Log Analytics Workspace for this page to work. \"\n            },\n            \"name\": \"text - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"parameters\": [\n                {\n                  \"id\": \"8d25c043-d1ff-4546-a1fa-f4bcbfdab8af\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"User\",\n                  \"type\": 2,\n                  \"description\": \"User to filter subsequent queries - leave to 'unset' for all users\",\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ServerPrincipalName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                },\n                {\n                  \"id\": \"aa766d64-693f-4024-b4a4-b5b56b28376b\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"Application\",\n                  \"type\": 2,\n                  \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| summarize by ApplicationName\",\n                  \"crossComponentResources\": [\n                    \"{LogAnalyticsWorkspace}\"\n                  ],\n                  \"value\": null,\n                  \"typeSettings\": {\n                    \"additionalResourceOptions\": [],\n                    \"showDefault\": false\n                  },\n                  \"timeContext\": {\n                    \"durationMs\": 0\n                  },\n                  \"timeContextFromParameter\": \"TimeRange\",\n                  \"queryType\": 0,\n                  \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"30\",\n            \"name\": \"parameters - 1\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| where DurationMs > 0\\r\\n| extend duration_seconds = DurationMs /1000.0\\r\\n| where Statement != 'select @@version'\\r\\n| where Statement != 'SELECT @@SPID;'\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| project ServerPrincipalName, EventTime, LogicalServerName, DurationMs, duration_seconds, AffectedRows, Statement, ApplicationName\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count() by EventDay = bin(EventTime,1d), UserName = ServerPrincipalName, Application = ApplicationName \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n| where LogicalServerName == '{LogicalServerName}'\\r\\n| where DurationMs > 0\\r\\n| extend duration_seconds = DurationMs /1000.0\\r\\n| where Statement != 'select @@version'\\r\\n| where Statement != 'SELECT @@SPID;'\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| project ServerPrincipalName, EventTime, LogicalServerName, DurationMs, duration_seconds, AffectedRows, Statement, ApplicationName\\r\\n| summarize duration_seconds = round(sum(duration_seconds)) , query_count = count() by EventDay = bin(EventTime,1d), UserName = ServerPrincipalName, Application = ApplicationName \\r\\n| order by EventDay, duration_seconds desc\",\n              \"size\": 0,\n              \"title\": \"Query Summary for Selected User {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"unstackedbar\",\n              \"tileSettings\": {\n                \"showBorder\": false,\n                \"titleContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"leftContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 12,\n                  \"formatOptions\": {\n                    \"palette\": \"auto\"\n                  },\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"graphSettings\": {\n                \"type\": 0,\n                \"topContent\": {\n                  \"columnMatch\": \"UserName\",\n                  \"formatter\": 1\n                },\n                \"centerContent\": {\n                  \"columnMatch\": \"duration_seconds\",\n                  \"formatter\": 1,\n                  \"numberFormat\": {\n                    \"unit\": 17,\n                    \"options\": {\n                      \"maximumSignificantDigits\": 3,\n                      \"maximumFractionDigits\": 2\n                    }\n                  }\n                }\n              },\n              \"chartSettings\": {\n                \"xAxis\": \"UserName\"\n              },\n              \"mapSettings\": {\n                \"locInfo\": \"LatLong\",\n                \"sizeSettings\": \"duration_seconds\",\n                \"sizeAggregation\": \"Sum\",\n                \"legendMetric\": \"duration_seconds\",\n                \"legendAggregation\": \"Sum\",\n                \"itemColorSettings\": {\n                  \"type\": \"heatmap\",\n                  \"colorAggregation\": \"Sum\",\n                  \"nodeColorField\": \"duration_seconds\",\n                  \"heatmapPalette\": \"greenRed\"\n                }\n              }\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, EventTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), Statement, QuerySource = ApplicationName , AffectedRows\\r\\n    | project-reorder DatabaseName, UserName, Host, EventTime, duration_seconds, Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Queries {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents \\r\\n    | where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n    | extend duration_seconds = DurationMs /1000.0\\r\\n    | where Statement != 'select @@version'\\r\\n    | where Statement != 'SELECT @@SPID;'\\r\\n    | where ServerPrincipalName has '{User}'\\r\\n    | where ApplicationName has '{Application}'\\r\\n    | project DatabaseName= DatabaseName, UserName= ServerPrincipalName, EventTime= EventTime, Host= HostName, duration_seconds = round(duration_seconds), Statement, QuerySource = ApplicationName , AffectedRows\\r\\n    | project-reorder AffectedRows,DatabaseName, UserName, Host, EventTime, duration_seconds, Statement, QuerySource\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\",\n              \"chartSettings\": {\n                \"xAxis\": \"Host\",\n                \"group\": \"UserName\",\n                \"createOtherGroup\": null,\n                \"showLegend\": true\n              }\n            },\n            \"name\": \"query - 6\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SQLSecurityAuditEvents\\r\\n| where  LogicalServerName == \\\"{LogicalServerName}\\\"\\r\\n    | where DurationMs > 0\\r\\n| extend Duration = round(DurationMs /1000.0)\\r\\n| extend TimeBin = case (datetime_part(\\\"Hour\\\",TimeGenerated) in (6,7,8,9,10,11,12), \\\"Morning_6-12\\\", datetime_part(\\\"Hour\\\",TimeGenerated) in (13,14,15,16,17,18), \\\"Afternoon_12-18\\\", \\\"Overnight_18-6\\\")\\r\\n| where ServerPrincipalName has '{User}'\\r\\n| where ApplicationName has '{Application}'\\r\\n| summarize QueryDuration = sum(Duration) by EventTime = bin(EventTime, 1d), TimeBin\",\n              \"size\": 0,\n              \"title\": \"Query Activity by time - sum(Duration) {User} {Application}\",\n              \"noDataMessage\": \"Select a user to see query activity\",\n              \"timeContext\": {\n                \"durationMs\": 604800000\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"visualization\": \"barchart\"\n            },\n            \"name\": \"query - 0 - Copy\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"AuditingState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryAuditGroup\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"7fa3187e-9225-4faa-8f80-dc1bc40c5aab\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId1\",\n                  \"type\": 1,\n                  \"value\": \"\"\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"315fc476-469a-4d8d-b421-028d1113ab06\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId2\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"above\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"parameters - 2\"\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"parameters\": [\n                      {\n                        \"id\": \"1537c5b3-0b6c-4b1d-89be-946cd8268020\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryText1\",\n                        \"type\": 1,\n                        \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId1}'\\r\\n| summarize max(Command)\",\n                        \"crossComponentResources\": [\n                          \"{LogAnalyticsWorkspace}\"\n                        ],\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 86400000\n                        },\n                        \"timeContextFromParameter\": \"TimeRange\",\n                        \"queryType\": 0,\n                        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                      }\n                    ],\n                    \"style\": \"above\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"#### {RequestId1} Query Text\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"```{QueryText1}```\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 3\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId1}'\\r\\n| summarize \\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    //Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d))\\r\\n//,Command=any(Command)\\r\\n,Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project ElapsedTime_min\\r\\n//,Command\\r\\n,Resource_class,Start_Time\\r\\n//,End_Time\\r\\n,Statement_Type,Status\\r\\n\",\n                    \"size\": 4,\n                    \"title\": \"Exec Requests\",\n                    \"timeContext\": {\n                      \"durationMs\": 0\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"query - 2\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId1}' and RequestId != ''\\r\\n| summarize StartTime=max(StartTime)\\r\\n    ,EndTime=max(EndTime)\\r\\n    ,RequestID=max(RequestId)\\r\\n    ,Operation=max(OperationType)\\r\\n    ,RowCount=max(RowCount)\\r\\n    ,Command=max(Command)\\r\\n    ,Status=min(Status)\\r\\n     by StepIndex\\r\\n| order by StepIndex asc\\r\\n| project StartTime,EndTime,Operation,RowCount,Command,Status,StepIndex\",\n                    \"size\": 3,\n                    \"title\": \"Request Steps\",\n                    \"timeContext\": {\n                      \"durationMs\": 0\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"StepQueryRequest1\",\n                  \"styleSettings\": {\n                    \"margin\": \"0\",\n                    \"padding\": \"10px\"\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId1}'\",\n                    \"size\": 0,\n                    \"title\": \"Triggered Auto-Stats Statements\",\n                    \"noDataMessage\": \"No triggered autostats statements found\",\n                    \"timeContext\": {\n                      \"durationMs\": 0\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"formatters\": [\n                        {\n                          \"columnMatch\": \"Submit_Time\",\n                          \"formatter\": 0,\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Command\",\n                          \"formatter\": 0,\n                          \"formatOptions\": {\n                            \"customColumnWidthSetting\": \"100ch\"\n                          }\n                        }\n                      ],\n                      \"sortBy\": [\n                        {\n                          \"itemKey\": \"End_Time\",\n                          \"sortOrder\": 2\n                        }\n                      ]\n                    },\n                    \"sortBy\": [\n                      {\n                        \"itemKey\": \"End_Time\",\n                        \"sortOrder\": 2\n                      }\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId1\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"All triggered auto-stats statements\"\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"RequestId1Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          },\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 9,\n                  \"content\": {\n                    \"version\": \"KqlParameterItem/1.0\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"parameters\": [\n                      {\n                        \"id\": \"1537c5b3-0b6c-4b1d-89be-946cd8268020\",\n                        \"version\": \"KqlParameterItem/1.0\",\n                        \"name\": \"QueryText2\",\n                        \"type\": 1,\n                        \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId2}'\\r\\n| summarize max(Command)\",\n                        \"crossComponentResources\": [\n                          \"{LogAnalyticsWorkspace}\"\n                        ],\n                        \"isHiddenWhenLocked\": true,\n                        \"timeContext\": {\n                          \"durationMs\": 0\n                        },\n                        \"timeContextFromParameter\": \"TimeRange\",\n                        \"queryType\": 0,\n                        \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                      }\n                    ],\n                    \"style\": \"above\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n                  },\n                  \"name\": \"parameters - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"#### {RequestId2} Query Text\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 5\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"```{QueryText2}```\"\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"text - 4\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where StatementType !in ('Batch','Execute') and RequestId == '{RequestId2}'\\r\\n| summarize \\r\\n    Request_ID=any(RequestId),\\r\\n    Start_Time=max(StartTime),\\r\\n    End_Time=max(EndTime),\\r\\n    //Command=any(Command),\\r\\n    Status=min(Status), //This works because Completed/Failed/Cancelled are all below running, below suspended. This happens to work out where the min is the current status\\r\\n    Statement_Type=any(StatementType),\\r\\n    Resource_class=any(ResourceClass)\\r\\n    by RequestId\\r\\n| summarize Start_Time=any(Start_Time), End_Time=any(End_Time),ElapsedTime_min=anyif((End_Time - Start_Time)/1m,Start_Time > ago(30d))\\r\\n//,Command=any(Command)\\r\\n,Status=any(Status),Statement_Type=any(Statement_Type),Resource_class=any(Resource_class) by Request_ID\\r\\n| project ElapsedTime_min\\r\\n//,Command\\r\\n,Resource_class,Start_Time\\r\\n//,End_Time\\r\\n,Statement_Type,Status\\r\\n\",\n                    \"size\": 4,\n                    \"title\": \"Exec Requests\",\n                    \"timeContext\": {\n                      \"durationMs\": 0\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"query - 2 - Copy\"\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolRequestSteps \\r\\n| where _ResourceId  == '{DatabaseResourceName}'\\r\\n| where RequestId == '{RequestId2}' and RequestId != ''\\r\\n| summarize StartTime=max(StartTime)\\r\\n    ,EndTime=max(EndTime)\\r\\n    ,RequestID=max(RequestId)\\r\\n    ,Operation=max(OperationType)\\r\\n    ,RowCount=max(RowCount)\\r\\n    ,Command=max(Command)\\r\\n    ,Status=min(Status)\\r\\n     by StepIndex\\r\\n| order by StepIndex asc\\r\\n| project StartTime,EndTime,Operation,RowCount,Command,Status,StepIndex\",\n                    \"size\": 3,\n                    \"title\": \"Request Steps\",\n                    \"timeContext\": {\n                      \"durationMs\": 0\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ]\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"query - 4 - Copy\",\n                  \"styleSettings\": {\n                    \"padding\": \"10px\"\n                  }\n                },\n                {\n                  \"type\": 3,\n                  \"content\": {\n                    \"version\": \"KqlItem/1.0\",\n                    \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\\r\\n    | where Root_Query_Id == '{RequestId2}'\",\n                    \"size\": 0,\n                    \"title\": \"Triggered Auto-Stats Statements\",\n                    \"noDataMessage\": \"No triggered autostats statements found\",\n                    \"timeContext\": {\n                      \"durationMs\": 0\n                    },\n                    \"timeContextFromParameter\": \"TimeRange\",\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n                    \"crossComponentResources\": [\n                      \"{LogAnalyticsWorkspace}\"\n                    ],\n                    \"gridSettings\": {\n                      \"formatters\": [\n                        {\n                          \"columnMatch\": \"Submit_Time\",\n                          \"formatter\": 0,\n                          \"numberFormat\": {\n                            \"unit\": 0,\n                            \"options\": {\n                              \"style\": \"decimal\"\n                            }\n                          }\n                        },\n                        {\n                          \"columnMatch\": \"Command\",\n                          \"formatter\": 0,\n                          \"formatOptions\": {\n                            \"customColumnWidthSetting\": \"100ch\"\n                          }\n                        }\n                      ]\n                    }\n                  },\n                  \"conditionalVisibility\": {\n                    \"parameterName\": \"RequestId2\",\n                    \"comparison\": \"isNotEqualTo\"\n                  },\n                  \"name\": \"All triggered auto-stats statements\"\n                }\n              ]\n            },\n            \"customWidth\": \"50\",\n            \"name\": \"RequestId2Group\",\n            \"styleSettings\": {\n              \"showBorder\": true\n            }\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryComparison\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"QueryComparison\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 1,\n            \"content\": {\n              \"json\": \"## This tab is used to determine what statements triggerred autostats creation jobs. \\r\\nThe flow of autostats creation is as follows\\r\\n1. Query Submit Time\\r\\n2. \\tCreate Statistics submit Time\\r\\n3. \\tCreate Statistics end Time\\r\\n4. Query end_compile_time\\r\\n5. Query Start_Time\\r\\n6. Query End_Time\\r\\n\\r\\nFurther, if multiple stats are created, then the creation of all stats for this query will fall between query submit_time and end_compile_time. \\r\\n\\r\\nThe charts on this page allow you to search for an autostats job by requestID or my snippet of the autostats statement text, which can just be the schema, table, or column name. Then it will show you all commands that include that request ID or text. It will then show you all statements in the create stat statement because the query we are trying to identify will wait for all of those stats creations to complete before proceeding. \\r\\n\\r\\nThe last chart will list the statement that triggered the stats creation. \"\n            },\n            \"name\": \"text - 6\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"df5b9b85-4188-4f2c-88cb-1369e09f6742\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RootQueryId\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                },\n                {\n                  \"id\": \"560c9ec5-6341-4fa1-9ce6-35ff010151b1\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestId\",\n                  \"type\": 1,\n                  \"isHiddenWhenLocked\": true,\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  }\n                }\n              ],\n              \"style\": \"pills\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"name\": \"parameters - 5\"\n          },\n          {\n            \"type\": 9,\n            \"content\": {\n              \"version\": \"KqlParameterItem/1.0\",\n              \"parameters\": [\n                {\n                  \"id\": \"0911bd4b-d471-480b-bdf4-1a2d4ba1ea6e\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"RequestIdSearch\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"label\": \"RequestId for AutoStats Job\"\n                },\n                {\n                  \"id\": \"c12e6495-4fd1-473c-8ffc-0bf502f54706\",\n                  \"version\": \"KqlParameterItem/1.0\",\n                  \"name\": \"QueryTextSnippet\",\n                  \"type\": 1,\n                  \"value\": \"\",\n                  \"timeContext\": {\n                    \"durationMs\": 86400000\n                  },\n                  \"label\": \"Snippet of autostats creation statement (Schema, table or column)\"\n                }\n              ],\n              \"style\": \"formVertical\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\"\n            },\n            \"customWidth\": \"60\",\n            \"name\": \"parameters - 3 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n| summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType)\\r\\n    by RequestId\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Command has '{QueryTextSnippet}' and RequestId has '{RequestIdSearch}'\\r\\n//| extend elapsedTime_sec = iif(End_Time > ago(365d),(End_Time - Submit_Time)/1s,real(null)) \\r\\n//| extend CompileTime_sec = (End_Compile_Time - Submit_Time)/1s\\r\\n//| order by elapsedTime_sec\\r\\n//| summarize \\r\\n //   Executions = count(),\\r\\n //   Max_Elapsed_Time_sec = bin(max(elapsedTime_sec),1),\\r\\n //   Min_Elapsed_Time_sec = bin(min(elapsedTime_sec),1),\\r\\n //   Variability_sec=bin((max(elapsedTime_sec)-min(elapsedTime_sec)),1),\\r\\n //   SampleQID = any(RequestId),\\r\\n   // SampleSessionID = any(Session_ID)\\r\\n  //  by Command\\r\\n//| order by Max_Elapsed_Time_sec\\r\\n\\r\\n\\r\\n\",\n              \"size\": 0,\n              \"title\": \"Matching Autostats Queries\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"exportedParameters\": [\n                {\n                  \"fieldName\": \"RequestId\",\n                  \"parameterName\": \"RequestId\",\n                  \"parameterType\": 1\n                },\n                {\n                  \"fieldName\": \"Root_Query_Id\",\n                  \"parameterName\": \"RootQueryId\",\n                  \"parameterType\": 1\n                }\n              ],\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"50%\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType !='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n    | where RequestId == '{RootQueryId}'\\r\\n    | summarize   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Compile_Time=max(EndCompileTime), \\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType),\\r\\n        Resource_class=max(ResourceClass) \\r\\n    by RequestId\",\n              \"size\": 3,\n              \"title\": \"Statement that Triggered Selected Autostat\",\n              \"noDataMessage\": \"Select an autostats query above to see what query triggered it\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ],\n              \"gridSettings\": {\n                \"formatters\": [\n                  {\n                    \"columnMatch\": \"Command\",\n                    \"formatter\": 0,\n                    \"formatOptions\": {\n                      \"customColumnWidthSetting\": \"150ch\"\n                    }\n                  }\n                ],\n                \"sortBy\": [\n                  {\n                    \"itemKey\": \"Command\",\n                    \"sortOrder\": 1\n                  }\n                ]\n              },\n              \"sortBy\": [\n                {\n                  \"itemKey\": \"Command\",\n                  \"sortOrder\": 1\n                }\n              ]\n            },\n            \"name\": \"query - 0 - Copy - Copy - Copy - Copy\"\n          },\n          {\n            \"type\": 3,\n            \"content\": {\n              \"version\": \"KqlItem/1.0\",\n              \"query\": \"SynapseSqlPoolExecRequests\\r\\n    | where StatementType =='CreateStatistics'\\r\\n    | where _ResourceId has '{DatabaseName}'\\r\\n| summarize  \\r\\n        Root_Query_Id=max(RootQueryId),   \\r\\n        Start_Time=max(StartTime),\\r\\n        End_Time=max(EndTime), \\r\\n        Command=max(Command), \\r\\n        Last_Status=min(Status),\\r\\n        Statement_Type=max(StatementType)\\r\\n    by RequestId\\r\\n| where Command has 'CREATE STATISTICS _wa_sys'\\r\\n| where Root_Query_Id == '{RootQueryId}'\",\n              \"size\": 3,\n              \"title\": \"All Stats Statements Triggered by selected Query\",\n              \"noDataMessageStyle\": 4,\n              \"timeContext\": {\n                \"durationMs\": 0\n              },\n              \"timeContextFromParameter\": \"TimeRange\",\n              \"queryType\": 0,\n              \"resourceType\": \"microsoft.operationalinsights/workspaces\",\n              \"crossComponentResources\": [\n                \"{LogAnalyticsWorkspace}\"\n              ]\n            },\n            \"name\": \"query - 13\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"Statistics\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"enabled\"\n        }\n      ],\n      \"name\": \"statistics\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<svg width=\\\"400\\\" viewBox=\\\"0 0 482 271\\\" class=\\\"ext-vm-onboarding-sample-image-svg\\\" role=\\\"presentation\\\" focusable=\\\"false\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" aria-hidden=\\\"true\\\"><g><path fill=\\\"#ABABAB\\\" d=\\\"M399 249H93a1 1 0 1 1 0-2h306a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M301.333 220.333h-47.526c-2.649 0-6.171-.622-6.171-6V88.5a1 1 0 1 1 2 0v125.833c0 2.953 1.091 4 4.171 4h47.526a1 1 0 1 1 0 2zm-73.17 0h-47.526a1 1 0 1 1 0-2h47.526c3.08 0 4.171-1.047 4.171-4V88.5a1 1 0 1 1 2 0v125.833c-.001 5.378-3.522 6-6.171 6z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M276.777 186.134H350v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M350 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H350a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H349v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M128.777 186.134H202v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M202 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H202a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H201v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M180.941 214.203l-10.817 12.98-17.547-28.124L142 216.366V238h47.594z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M188.685 238.513l-7.762-21.345-10.474 12.567-17.359-27.821-9.31 15.234-2.56-1.564 11.843-19.379 17.736 28.425 11.16-13.392 9.545 26.249z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path fill=\\\"#ABABAB\\\" d=\\\"M409 249h-3a1 1 0 1 1 0-2h3a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M322.667 113l4 4-4 4-4-4zm0 10a6 6 0 0 0-6-6m12 0a6 6 0 0 0-6 6m-6-6a6 6 0 0 0 6-6m0 0a6 6 0 0 0 6 6m.333 0h3m-18 0h3m6 6v3m0-15v-3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M159.667 98l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M159.667 103a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M155 100h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M201.667 27l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M197 29h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3m129 23l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M329 54h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><circle cx=\\\"150.667\\\" cy=\\\"128\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"264.667\\\" cy=\\\"136\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"257.667\\\" cy=\\\"19\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"153.667\\\" cy=\\\"35\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><path d=\\\"M324.667 73a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999zm-117 72a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999z\\\" class=\\\"msportalfx-svg-c15\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M152.667 60.429L157.238 65l-4.571 4.571L148.095 65z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M152.667 71.857A6.857 6.857 0 0 0 145.81 65m13.714 0a6.857 6.857 0 0 0-6.857 6.857M145.81 65a6.857 6.857 0 0 0 6.857-6.857m0 0A6.857 6.857 0 0 0 159.524 65m.476 0h1m-16 0h1m7 7v1m0-15v-1\\\"></path></g><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M307.667 29l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M307.667 34a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M303 31h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M311.597 102.771c0-8.961-7.194-16.222-16.078-16.222-.669 0-1.329.051-1.963.138a43.97 43.97 0 0 0 1.524-11.436C295.077 51.363 275.877 32 252.195 32c-18.921 0-34.965 12.355-40.66 29.509a28.744 28.744 0 0 0-9.573-1.652c-16.203 0-29.314 13.239-29.314 29.567 0 16.338 13.111 29.576 29.311 29.576 0 0 .029-.013.042-.013V119h94.821l-.016-.08c8.272-.653 14.791-7.623 14.791-16.149\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M228.837 38.985c-.588.386-1.168.783-1.735 1.197v5.429h1.735v-6.626zm15.805-3.021c2.155 0 3.626-1.343 4.26-3.834a42.1 42.1 0 0 0-1.826.178c-.42 1.439-1.19 2.269-2.332 2.269-.844 0-1.53-.532-2.001-1.513-.555.126-1.106.263-1.653.41.765 1.622 2.008 2.49 3.552 2.49zm49.184 33.227c.285 0 .555-.031.816-.077a42.162 42.162 0 0 0-.223-1.387 2.056 2.056 0 0 1-.491.075c-1.633 0-2.695-1.959-2.695-5.41 0-1.556.222-2.777.589-3.687a44.243 44.243 0 0 0-.8-1.822c-.99 1.161-1.585 3.015-1.585 5.49.04 4.389 1.796 6.818 4.389 6.818zm16.618 38.788c-1.633 0-2.695-1.959-2.695-5.41 0-3.613 1.143-5.533 2.715-5.533.03 0 .054.012.084.013a16.386 16.386 0 0 0-.578-1.354c-2.376.341-4.018 2.74-4.018 6.855.04 4.305 1.732 6.719 4.244 6.81.205-.465.389-.94.551-1.426-.101.013-.195.045-.303.045zM249.522 119v-2.246h-1.531l-2.899 1.551.176.695h1.417l1.061-.572h.041V119zm47.408-6.904h-1.531l-2.899 1.553.347 1.367 2.307-1.245h.041V119h1.627l-.016-.08c.042-.003.082-.012.124-.016v-6.808zm-79.597.647c-2.561 0-4.418 2.217-4.597 6.257h1.806c.136-3.171 1.218-4.869 2.688-4.869 1.75 0 2.585 1.917 2.676 4.869h1.804c-.112-3.943-1.684-6.257-4.377-6.257zm-22.241 3.562l.347 1.368 2.307-1.245h.041v2.269a29.97 29.97 0 0 0 1.735.194v-4.137h-1.531l-2.899 1.551zm10.296-49.701h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531V78.2h-1.735V66.604zm-24 30h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735V96.604zm5.074-30.312h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531v13.271h-1.735V66.292zm89.337-15.693h-.041l-2.307 1.245-.347-1.367 2.899-1.552h1.531v13.271h-1.735V50.599zm-18.544-7.286h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531V54.91h-1.735V43.313zm-16.276 38.636h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V81.949zm16-12h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V69.949zm-26.192 32.479h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735v-11.596zm28.936.032c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm27.74 2.297c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm-63.864-6.468c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm78.338-21.172c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.848 14.432c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.491 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm-60.061-7.927c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.918-2.715 5.532zm-26.441 5.81c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.208.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.571 0-2.715 1.919-2.715 5.532zm39.883-27.255c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.286-5.696c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M296.821 120H201v-.015c-16.272-.513-29.352-14.024-29.352-30.562 0-16.854 13.599-30.566 30.313-30.566 3.021 0 6.027.467 8.95 1.39C217.17 42.711 233.635 31 252.194 31c24.195 0 43.882 19.851 43.886 44.25 0 3.447-.407 6.91-1.209 10.313.218-.01.434-.015.648-.015 9.417 0 17.078 7.726 17.078 17.223 0 8.54-6.329 15.809-14.602 17.021l-1.174.208zM203 118h93.223l.504-.077c7.777-.614 13.87-7.27 13.87-15.151 0-8.394-6.764-15.223-15.078-15.223-.59 0-1.205.043-1.827.129l-1.493.204.391-1.455a43.047 43.047 0 0 0 1.49-11.177C294.077 51.953 275.287 33 252.194 33c-18.028 0-33.987 11.583-39.711 28.824l-.321.966-.96-.338a27.758 27.758 0 0 0-9.241-1.595c-15.612 0-28.313 12.814-28.313 28.566 0 15.69 12.593 28.468 28.114 28.575l1.238-.012V118z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M313.564 239.159c2.37 0 4.339-1.836 4.764-3.971h-9.532c.427 2.135 2.393 3.971 4.768 3.971zm17.121-10.081c-2.022-1.032-3.055-5.128-3.055-12.219 0-9.071-1.075-20.263-14.255-20.263s-14.255 11.191-14.255 20.263c0 7.091-1.018 11.201-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073h30.547c3.565 0 3.294-3.431 2.037-4.073z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path d=\\\"M312 196.644c-11.876.762-12.88 11.471-12.88 20.216 0 7.091-1.018 11.2-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073H312v-36.508z\\\" class=\\\"msportalfx-svg-c15\\\"></path></g></svg>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"showPin\": false,\n                  \"name\": \"Image\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<span style=\\\"color: #000000; font-family: Babas; font-size: 2em;\\\">Enable SQL Auditing to get additional visibility into user activity against your SQL Pool</span>\\r\\n\\r\\nThis section provides additional monitoring coverage that is based on SQL Audit logs.</br>\\r\\nIf you have not activated SQL Auditing for your dedeciated SQL Pool, you must enable them to go to the same Log Analytics workspace as the rest of your diagnostic settings for it to show up here. [Learn more](https://docs.microsoft.com/en-us/azure/azure-sql/database/auditing-overview)</div>\\r\\n\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"name\": \"text - 2\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"paragraph\",\n                    \"links\": [\n                      {\n                        \"id\": \"f4df7a1e-2124-4620-9005-f9b66e47f550\",\n                        \"cellValue\": \"{DatabaseResourceName}\",\n                        \"linkTarget\": \"Resource\",\n                        \"linkLabel\": \"Configure Logs for Auditing >\",\n                        \"subTarget\": \"auditing\",\n                        \"preText\": \"\",\n                        \"postText\": \"\",\n                        \"style\": \"primary\"\n                      }\n                    ]\n                  },\n                  \"customWidth\": \"70\",\n                  \"name\": \"links - 8\"\n                }\n              ]\n            },\n            \"customWidth\": \"90\",\n            \"name\": \"Onboarding Message - Not onboarded yet\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"AuditingState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"disabled\"\n        }\n      ],\n      \"name\": \"AuditingDisabledGroup\"\n    },\n    {\n      \"type\": 12,\n      \"content\": {\n        \"version\": \"NotebookGroup/1.0\",\n        \"groupType\": \"editable\",\n        \"items\": [\n          {\n            \"type\": 12,\n            \"content\": {\n              \"version\": \"NotebookGroup/1.0\",\n              \"groupType\": \"editable\",\n              \"items\": [\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<svg width=\\\"400\\\" viewBox=\\\"0 0 482 271\\\" class=\\\"ext-vm-onboarding-sample-image-svg\\\" role=\\\"presentation\\\" focusable=\\\"false\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" aria-hidden=\\\"true\\\"><g><path fill=\\\"#ABABAB\\\" d=\\\"M399 249H93a1 1 0 1 1 0-2h306a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M301.333 220.333h-47.526c-2.649 0-6.171-.622-6.171-6V88.5a1 1 0 1 1 2 0v125.833c0 2.953 1.091 4 4.171 4h47.526a1 1 0 1 1 0 2zm-73.17 0h-47.526a1 1 0 1 1 0-2h47.526c3.08 0 4.171-1.047 4.171-4V88.5a1 1 0 1 1 2 0v125.833c-.001 5.378-3.522 6-6.171 6z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M276.777 186.134H350v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M350 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H350a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H349v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M128.777 186.134H202v62.023h-73.223z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M202 249.156h-73.224a1 1 0 0 1-1-1v-62.022a1 1 0 0 1 1-1H202a1 1 0 0 1 1 1v62.022a1 1 0 0 1-1 1zm-72.224-2H201v-60.022h-71.224v60.022z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M180.941 214.203l-10.817 12.98-17.547-28.124L142 216.366V238h47.594z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M188.685 238.513l-7.762-21.345-10.474 12.567-17.359-27.821-9.31 15.234-2.56-1.564 11.843-19.379 17.736 28.425 11.16-13.392 9.545 26.249z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path fill=\\\"#ABABAB\\\" d=\\\"M409 249h-3a1 1 0 1 1 0-2h3a1 1 0 1 1 0 2z\\\"></path><path d=\\\"M322.667 113l4 4-4 4-4-4zm0 10a6 6 0 0 0-6-6m12 0a6 6 0 0 0-6 6m-6-6a6 6 0 0 0 6-6m0 0a6 6 0 0 0 6 6m.333 0h3m-18 0h3m6 6v3m0-15v-3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M159.667 98l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M159.667 103a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M155 100h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M201.667 27l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M197 29h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3m129 23l2 2-2 2-2-2zm0 5a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M329 54h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\" fill=\\\"none\\\" stroke=\\\"#A0A1A2\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><circle cx=\\\"150.667\\\" cy=\\\"128\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"264.667\\\" cy=\\\"136\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"257.667\\\" cy=\\\"19\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><circle cx=\\\"153.667\\\" cy=\\\"35\\\" r=\\\"2\\\" class=\\\"msportalfx-svg-c03\\\"></circle><path d=\\\"M324.667 73a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999zm-117 72a2 2 0 1 0 .001-3.999 2 2 0 0 0-.001 3.999z\\\" class=\\\"msportalfx-svg-c15\\\"></path><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M152.667 60.429L157.238 65l-4.571 4.571L148.095 65z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M152.667 71.857A6.857 6.857 0 0 0 145.81 65m13.714 0a6.857 6.857 0 0 0-6.857 6.857M145.81 65a6.857 6.857 0 0 0 6.857-6.857m0 0A6.857 6.857 0 0 0 159.524 65m.476 0h1m-16 0h1m7 7v1m0-15v-1\\\"></path></g><g stroke=\\\"#59B4D9\\\"><path stroke-miterlimit=\\\"10\\\" d=\\\"M307.667 29l2 2-2 2-2-2z\\\" class=\\\"msportalfx-svg-c01\\\"></path><path fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M307.667 34a3 3 0 0 0-3-3m6 0a3 3 0 0 0-3 3m-3-3a3 3 0 0 0 3-3M303 31h2m6 0h2m-5 3v2m0-10v2m-.333 0a3 3 0 0 0 3 3\\\"></path></g><path d=\\\"M311.597 102.771c0-8.961-7.194-16.222-16.078-16.222-.669 0-1.329.051-1.963.138a43.97 43.97 0 0 0 1.524-11.436C295.077 51.363 275.877 32 252.195 32c-18.921 0-34.965 12.355-40.66 29.509a28.744 28.744 0 0 0-9.573-1.652c-16.203 0-29.314 13.239-29.314 29.567 0 16.338 13.111 29.576 29.311 29.576 0 0 .029-.013.042-.013V119h94.821l-.016-.08c8.272-.653 14.791-7.623 14.791-16.149\\\" class=\\\"msportalfx-svg-c01\\\"></path><path d=\\\"M228.837 38.985c-.588.386-1.168.783-1.735 1.197v5.429h1.735v-6.626zm15.805-3.021c2.155 0 3.626-1.343 4.26-3.834a42.1 42.1 0 0 0-1.826.178c-.42 1.439-1.19 2.269-2.332 2.269-.844 0-1.53-.532-2.001-1.513-.555.126-1.106.263-1.653.41.765 1.622 2.008 2.49 3.552 2.49zm49.184 33.227c.285 0 .555-.031.816-.077a42.162 42.162 0 0 0-.223-1.387 2.056 2.056 0 0 1-.491.075c-1.633 0-2.695-1.959-2.695-5.41 0-1.556.222-2.777.589-3.687a44.243 44.243 0 0 0-.8-1.822c-.99 1.161-1.585 3.015-1.585 5.49.04 4.389 1.796 6.818 4.389 6.818zm16.618 38.788c-1.633 0-2.695-1.959-2.695-5.41 0-3.613 1.143-5.533 2.715-5.533.03 0 .054.012.084.013a16.386 16.386 0 0 0-.578-1.354c-2.376.341-4.018 2.74-4.018 6.855.04 4.305 1.732 6.719 4.244 6.81.205-.465.389-.94.551-1.426-.101.013-.195.045-.303.045zM249.522 119v-2.246h-1.531l-2.899 1.551.176.695h1.417l1.061-.572h.041V119zm47.408-6.904h-1.531l-2.899 1.553.347 1.367 2.307-1.245h.041V119h1.627l-.016-.08c.042-.003.082-.012.124-.016v-6.808zm-79.597.647c-2.561 0-4.418 2.217-4.597 6.257h1.806c.136-3.171 1.218-4.869 2.688-4.869 1.75 0 2.585 1.917 2.676 4.869h1.804c-.112-3.943-1.684-6.257-4.377-6.257zm-22.241 3.562l.347 1.368 2.307-1.245h.041v2.269a29.97 29.97 0 0 0 1.735.194v-4.137h-1.531l-2.899 1.551zm10.296-49.701h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531V78.2h-1.735V66.604zm-24 30h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735V96.604zm5.074-30.312h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531v13.271h-1.735V66.292zm89.337-15.693h-.041l-2.307 1.245-.347-1.367 2.899-1.552h1.531v13.271h-1.735V50.599zm-18.544-7.286h-.041l-2.307 1.245-.347-1.367 2.899-1.553h1.531V54.91h-1.735V43.313zm-16.276 38.636h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V81.949zm16-12h-.041l-2.307 1.246-.347-1.368 2.899-1.552h1.531v13.271h-1.735V69.949zm-26.192 32.479h-.041l-2.307 1.245-.347-1.368 2.899-1.551h1.531v13.27h-1.735v-11.596zm28.936.032c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm27.74 2.297c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm-63.864-6.468c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532zm78.338-21.172c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.848 14.432c0 4.513-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.901 4.614-6.901 2.797-.001 4.39 2.491 4.39 6.716zm-7.207.204c0 3.451 1.062 5.41 2.695 5.41 1.837 0 2.715-2.144 2.715-5.532 0-3.267-.837-5.411-2.695-5.411-1.572 0-2.715 1.92-2.715 5.533zm-60.061-7.927c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.798-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.918-2.715 5.532zm-26.441 5.81c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.208.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.571 0-2.715 1.919-2.715 5.532zm39.883-27.255c0 4.512-1.674 7.002-4.614 7.002-2.593 0-4.349-2.43-4.39-6.818 0-4.451 1.919-6.9 4.614-6.9 2.797-.001 4.39 2.489 4.39 6.716zm-7.207.203c0 3.451 1.062 5.411 2.695 5.411 1.837 0 2.715-2.144 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572-.001-2.715 1.918-2.715 5.532zm23.286-5.696c0 4.512-1.674 7.003-4.614 7.003-2.593 0-4.349-2.43-4.39-6.819 0-4.451 1.919-6.9 4.614-6.9 2.797 0 4.39 2.49 4.39 6.716zm-7.207.204c0 3.45 1.062 5.411 2.695 5.411 1.837 0 2.715-2.145 2.715-5.533 0-3.267-.837-5.41-2.695-5.41-1.572 0-2.715 1.919-2.715 5.532z\\\" class=\\\"msportalfx-svg-c15\\\"></path><path d=\\\"M296.821 120H201v-.015c-16.272-.513-29.352-14.024-29.352-30.562 0-16.854 13.599-30.566 30.313-30.566 3.021 0 6.027.467 8.95 1.39C217.17 42.711 233.635 31 252.194 31c24.195 0 43.882 19.851 43.886 44.25 0 3.447-.407 6.91-1.209 10.313.218-.01.434-.015.648-.015 9.417 0 17.078 7.726 17.078 17.223 0 8.54-6.329 15.809-14.602 17.021l-1.174.208zM203 118h93.223l.504-.077c7.777-.614 13.87-7.27 13.87-15.151 0-8.394-6.764-15.223-15.078-15.223-.59 0-1.205.043-1.827.129l-1.493.204.391-1.455a43.047 43.047 0 0 0 1.49-11.177C294.077 51.953 275.287 33 252.194 33c-18.028 0-33.987 11.583-39.711 28.824l-.321.966-.96-.338a27.758 27.758 0 0 0-9.241-1.595c-15.612 0-28.313 12.814-28.313 28.566 0 15.69 12.593 28.468 28.114 28.575l1.238-.012V118z\\\" class=\\\"msportalfx-svg-c04\\\"></path><path d=\\\"M313.564 239.159c2.37 0 4.339-1.836 4.764-3.971h-9.532c.427 2.135 2.393 3.971 4.768 3.971zm17.121-10.081c-2.022-1.032-3.055-5.128-3.055-12.219 0-9.071-1.075-20.263-14.255-20.263s-14.255 11.191-14.255 20.263c0 7.091-1.018 11.201-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073h30.547c3.565 0 3.294-3.431 2.037-4.073z\\\" class=\\\"msportalfx-svg-c19\\\"></path><path d=\\\"M312 196.644c-11.876.762-12.88 11.471-12.88 20.216 0 7.091-1.018 11.2-3.055 12.219-1.288.644-1.389 4.073 2.036 4.073H312v-36.508z\\\" class=\\\"msportalfx-svg-c15\\\"></path></g></svg>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"showPin\": false,\n                  \"name\": \"Image\"\n                },\n                {\n                  \"type\": 1,\n                  \"content\": {\n                    \"json\": \"<span style=\\\"color: #000000; font-family: Babas; font-size: 2em;\\\">Get more visibility into the usage and performance of your Azure Synapse Dedicated SQL Pool</span>\\r\\n\\r\\nThis section provides additional monitoring coverage that is based on diagnostic logs.</br>\\r\\n\\r\\nIf you have not activated monitoring in diagnostic settings, you must enable the **ExecRequests** and **RequestSteps** logs and send them to a Log Analytics workspace. You may choose to enable the **SQLSecurityAuditEvents** table at the same time to take full advantage of this monitoring workbook. [Learn more](https://docs.microsoft.com/en-us/azure/synapse-analytics/monitoring/how-to-monitor-using-azure-monitor#logs)</div>\"\n                  },\n                  \"customWidth\": \"60\",\n                  \"name\": \"text - 2\"\n                },\n                {\n                  \"type\": 11,\n                  \"content\": {\n                    \"version\": \"LinkItem/1.0\",\n                    \"style\": \"paragraph\",\n                    \"links\": [\n                      {\n                        \"id\": \"f4df7a1e-2124-4620-9005-f9b66e47f550\",\n                        \"cellValue\": \"{DatabaseResourceName}\",\n                        \"linkTarget\": \"Resource\",\n                        \"linkLabel\": \"Configure Logs for Monitoring >\",\n                        \"subTarget\": \"diagnostics\",\n                        \"preText\": \"\",\n                        \"postText\": \"\",\n                        \"style\": \"primary\"\n                      }\n                    ]\n                  },\n                  \"customWidth\": \"70\",\n                  \"name\": \"links - 8\"\n                }\n              ]\n            },\n            \"customWidth\": \"90\",\n            \"name\": \"Onboarding Message - Not onboarded yet\"\n          }\n        ]\n      },\n      \"conditionalVisibilities\": [\n        {\n          \"parameterName\": \"GroupSelection\",\n          \"comparison\": \"isNotEqualTo\",\n          \"value\": \"QueryAudit\"\n        },\n        {\n          \"parameterName\": \"DiagnosticsState\",\n          \"comparison\": \"isEqualTo\",\n          \"value\": \"disabled\"\n        }\n      ],\n      \"name\": \"DiagnosticsDisabledGroup\"\n    },\n    {\n      \"type\": 1,\n      \"content\": {\n        \"json\": \"Workbook version: v0.77\",\n        \"style\": \"info\"\n      },\n      \"conditionalVisibility\": {\n        \"parameterName\": \"GroupSelection\",\n        \"comparison\": \"isEqualTo\",\n        \"value\": \"Overview\"\n      },\n      \"customWidth\": \"15\",\n      \"name\": \"version\",\n      \"styleSettings\": {\n        \"showBorder\": true\n      }\n    }\n  ],\n  \"fallbackResourceIds\": [\n    \"/subscriptions/9cd45dfd-d1ac-4c16-9363-150d2afcb462/resourceGroups/ContosoProd\"\n  ],\n  \"$schema\": \"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"\n}"
  },
  {
    "path": "PowerBI/README.md",
    "content": "# This template is a work in progress and is not yet meant for use in production\n\nThis template is a work in progress, but is in a usable state. It currently only has realtime pages from querying DMVs. It will  get historical data as well as I post updates. \n\n# Pre-Requisites\n\nPowerBI Desktop installed on your machine. \n\nThere are currently no other pre-requisites other than a running SQLDW Instance. In future releases there will be Log Analytics queries and the below pre-requisites will apply to that.  \n\n# Variables\n\nWhen you open the template it will as you to fill in a number of variables. A lot of these are for future use or will be removed later. \n\n**SQLDW_Servername:** the name of the server your SQLDW resides on in the form sqldwname.database.windows.net\n\n**DatbaseName:** The name of your SQLDW Database\n\n**LogAnalyticsWorkspaceID:** Not in use, enter any text value\n\n**StorageAccountName:** Not in use, enter any text value\n\n**RangeStart:** Not in use, enter any date value in the form 4/21/2020 1:00:00 AM\n\n**RangeEnd:** Not in use, enter any date value in the form 4/21/2020 1:00:00 AM\n\n**SQLDW_Servername_short:** Not in use, enter any text value\n\n\n\n# Messages about Native Database Queries\n\nMost of the DMVs are collected using native datbase queries. You need to allow each one permissions to run by hitting 'Run' on the popup.  \n"
  },
  {
    "path": "README.md",
    "content": "# Azure Synapse Toolbox     \n![CSELogo.png](https://github.com/microsoft/Azure_Synapse_Toolbox/blob/master/Collateral/CSELogo.png) \n\nThe Azure Synapse Toolbox is a place for useful tools and scripts to help you manage and monitor Azure Synapse Analytics.\n<br> \n<br> \n  \n# Training Resources\n### Blogs\n[Historical Dashboards for Dedicated Pool](https://techcommunity.microsoft.com/t5/azure-synapse-analytics-blog/historical-monitoring-dashboards-for-azure-synapse-dedicated-sql/ba-p/3725322)<br> \n[Monitoring Serverless Query History](https://techcommunity.microsoft.com/t5/azure-synapse-analytics-blog/monitoring-synapse-serverless-sql-pool-query-history/ba-p/3710423) <br>\n[Create Alerts for your Dedicated SQL Pool](https://techcommunity.microsoft.com/t5/azure-synapse-analytics-blog/create-alerts-for-your-synapse-dedicated-sql-pool/ba-p/3773256)\n\n### Videos\n[Azure Synapse Analytics Youtube Channel](https://www.youtube.com/@AzureSynapse/featured)\n\n<br> \n<br> \n\n# Overview\n### Azure Resource Graph Queries\n\nThe Azure Resource Graph queries assist with gathering Azure tenant inventory for Azure resources related to Azure Synapse Analytics. They are intended to aid cost optimization, general inventory needs, normalizing or standardization of configuration, and more.\n\n### Distribution Advisor\n\nThe Distribution Advisor (DA) feature of Azure Synapse SQL analyzes customer queries and recommends the best distribution strategies for tables to improve query performance. Queries to be considered by the advisor can be provided by the customer or pulled from historic queries available in DMV. See [Microsoft documentation](https://docs.microsoft.com/en-us/azure/synapse-analytics/sql/distribution-advisor) for more information\n\n![DistributionAdvisorRecommendations.png](Collateral/Screenshots/DistributionAdvisorRecommendations.png \"Distribution Advisor\")\n\n### Log Analytics Queries\n\nHelpful KQL queries for querying diagnostic data that has been sent to Log Analytics for your serverless and dedicated SQL pools.\n\n### Monitor Workbooks\n\nIn-depth, interactive workbooks for exploring monitoring data for your Serverless and Dedicated SQL Pools, Synapse Spark Pools, Synapse Pipelines, and ADLS storage. \n\n![SynapsePipelineWorkbook1](Collateral/Screenshots/SynapsePipelineWorkbook1.png)\n\n### PowerBI\n\nPowerBI templates to monitor your Synapse Dedicated SQL Pool. PowerBI has the ability to query the front-end of your SQL endpoint as well as the back-end Log Analytics data so you can build powerful reports. \n\n### Synapse Analyzer\n\nThe Azure Synapse Analyzer Report was created to help you identify common issues that may be present in your database that can lead to performance issues. This report focuses on known best practices that Microsoft has identified with SQL Dedicated Pools. Following these best practices will help to get the best performance out of your solution. The Azure Synapse Best Practice Analyzer Report should help give you insights into the health of your database. We will continue to update the report to call out defined best practices that Microsoft has defined.\n\n![Tables with Issues](Synapse_Analyzer/Synapse_BPA_Report/img/Tables-with-Issues.png \"Tables with Issues\")\n\n### Synapse Toolkit\n\nThe Synapse Toolkit is a set of stored procedures that help investigate\ncurrent activity on your Synapse Dedicated SQL Pool. sp_status is the overall\nsummary procedure that calls various other procedures to provide a picture\nof current activity. Use the detail_command columns to deep dive into a \nparticular session, query, or wait. \n\nList of SPs currently included:\n- sp_status\n- sp_concurrency\n- sp_requests\n- sp_reqeusts_detail\n- sp_sessions\n- sp_sessions_detail\n- sp_waits\n- sp_waits_detail\n- sp_datamovement\n\n![sp_status_screenshot.png](Collateral/Screenshots/SynapseToolkit/sp_status_screenshot.png \"Synapse Toolkit\")\n\n### TSQL Queries\n\nHelpful queries for managing and monitoring various aspects of your Dedicated SQL Pool. \n\n\n# Contributing\n\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https://cla.microsoft.com.\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n"
  },
  {
    "path": "SECURITY.md",
    "content": "<!-- BEGIN MICROSOFT SECURITY.MD V0.0.7 BLOCK -->\n\n## Security\n\nMicrosoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).\n\nIf you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below.\n\n## Reporting Security Issues\n\n**Please do not report security vulnerabilities through public GitHub issues.**\n\nInstead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report).\n\nIf you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com).  If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey).\n\nYou should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). \n\nPlease include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:\n\n  * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)\n  * Full paths of source file(s) related to the manifestation of the issue\n  * The location of the affected source code (tag/branch/commit or direct URL)\n  * Any special configuration required to reproduce the issue\n  * Step-by-step instructions to reproduce the issue\n  * Proof-of-concept or exploit code (if possible)\n  * Impact of the issue, including how an attacker might exploit the issue\n\nThis information will help us triage your report more quickly.\n\nIf you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs.\n\n## Preferred Languages\n\nWe prefer all communications to be in English.\n\n## Policy\n\nMicrosoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd).\n\n<!-- END MICROSOFT SECURITY.MD BLOCK -->\n"
  },
  {
    "path": "Synapse_Analyzer/README.md",
    "content": "# Azure Synapse Analyzer Report\n\nThe Azure Synapse Analyzer Report was created to help you identify common issues that may be present in your database that can lead to performance issues. This report focuses on known best practices that Microsoft has identified with SQL Dedicated Pools. Following these best practices will help to get the best performance out of your solution. The [Azure Synapse Best Practice Analyzer Report](https://aka.ms/synapseanalyzer \"Synapse BPA Report\") should help give you insights into the health of your database. We will continue to update the report to call out defined best practices that Microsoft has defined.\n\n## Contributing\n\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.\n\nWhen you submit a pull request, a CLA bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n## Trademarks\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft \ntrademarks or logos is subject to and must follow \n[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\nAny use of third-party trademarks or logos are subject to those third-party's policies.\n"
  },
  {
    "path": "Synapse_Analyzer/Synapse_BPA_Report/ArchivedVersions/README.md",
    "content": "# Archived Folder for older versions of the report\n\nThis folder is to keep older versions of Synapse Analyzer Report. \n\nCurrently contains\n\nSynapse best practice analyzer_v1.0.pbit - version 1.0"
  },
  {
    "path": "Synapse_Analyzer/Synapse_BPA_Report/ForLargeDBwithCTAS/CreateTablesForSynapseAnalyzer.sql",
    "content": "-- Create Separate Schema For loading all Tables \nCREATE SCHEMA SynapseAnalyzer\nGO \n\n-- All_Tables\n\nIF Exists(SELECT [name]\n    FROM sys.tables\n    WHERE [name] like 'All_Tables' AND schema_id = SCHEMA_ID('SynapseAnalyzer'))\nBEGIN\n     DROP TABLE SynapseAnalyzer.All_Tables\nEND\n\nGO\n\nCREATE TABLE SynapseAnalyzer.All_Tables\nWITH (Clustered Index([two_part_name], s_key), DISTRIBUTION = REPLICATE)\nAS\nSELECT \n    ROW_NUMBER() OVER(ORDER BY [two_part_name] ASC)         AS s_key\n,   GETDATE()                                               AS [execution_time]\n,   [database_name]\n,   [schema_name]\n,   [table_name]\n,   [table_object_id]\n,   [is_external_table]\n,   [two_part_name]\n,   [three_part_name]\nFROM (\n    SELECT \n        DB_NAME()                        AS [database_name]\n    ,   sm.[name]                        AS [schema_name]\n    ,   tb.[name]                        AS [table_name]\n    ,   tb.object_id                     AS [table_object_id]\n    ,   QUOTENAME(sm.[name]) + '.' + QUOTENAME(tb.[name])   AS two_part_name\n    ,   QUOTENAME(DB_NAME()) + '.' + QUOTENAME(sm.[name]) + '.' + QUOTENAME(tb.[name]) AS three_part_name\n    ,   CASE WHEN et.object_id IS NULL THEN 0 ELSE 1 END AS is_external_table\n    FROM    sys.tables AS tb \n        JOIN    sys.schemas AS sm \n                ON  tb.[schema_id]        = sm.[schema_id]\n        LEFT OUTER JOIN sys.external_tables et ON tb.object_id = et.object_id\n) All_Tables\n\nGO\n\n-- ColumnstoreDensity\n\nIF Exists(SELECT [name]\n    FROM sys.tables\n    WHERE [name] like 'ColumnstoreDensity' AND schema_id = SCHEMA_ID('SynapseAnalyzer'))\nBEGIN\n     DROP TABLE SynapseAnalyzer.ColumnstoreDensity\nEND\n\nGO\n\nCREATE TABLE SynapseAnalyzer.ColumnstoreDensity\nWITH (Clustered Index ([TwoPartName]), DISTRIBUTION = REPLICATE)\nAS\nSELECT\n\t\tQUOTENAME(s.name)+'.'+QUOTENAME(t.name)\t\t\t\t\t\t\t\t\tAS [TwoPartName]\n,        GETDATE()                                                               AS [execution_date]\n,       DB_Name()                                                               AS [database_name]\n,       s.name                                                                  AS [schema_name]\n,       t.name                                                                  AS [table_name]\n,    COUNT(DISTINCT rg.[partition_number])                    AS [table_partition_count]\n,       SUM(rg.[total_rows])                                                    AS [row_count_total]\n,       SUM(rg.[total_rows])/COUNT(DISTINCT rg.[distribution_id])               AS [row_count_per_distribution_MAX]\n,    CEILING    ((SUM(rg.[total_rows])*1.0/COUNT(DISTINCT rg.[distribution_id]))/1048576) AS [rowgroup_per_distribution_MAX]\n,       SUM(CASE WHEN rg.[State] = 0 THEN 1                   ELSE 0    END)    AS [INVISIBLE_rowgroup_count]\n,       SUM(CASE WHEN rg.[State] = 0 THEN rg.[total_rows]     ELSE 0    END)    AS [INVISIBLE_rowgroup_rows]\n,       MIN(CASE WHEN rg.[State] = 0 THEN rg.[total_rows]     ELSE NULL END)    AS [INVISIBLE_rowgroup_rows_MIN]\n,       MAX(CASE WHEN rg.[State] = 0 THEN rg.[total_rows]     ELSE NULL END)    AS [INVISIBLE_rowgroup_rows_MAX]\n,       AVG(CASE WHEN rg.[State] = 0 THEN rg.[total_rows]     ELSE NULL END)    AS [INVISIBLE_rowgroup_rows_AVG]\n,       SUM(CASE WHEN rg.[State] = 1 THEN 1                   ELSE 0    END)    AS [OPEN_rowgroup_count]\n,       SUM(CASE WHEN rg.[State] = 1 THEN rg.[total_rows]     ELSE 0    END)    AS [OPEN_rowgroup_rows]\n,       MIN(CASE WHEN rg.[State] = 1 THEN rg.[total_rows]     ELSE NULL END)    AS [OPEN_rowgroup_rows_MIN]\n,       MAX(CASE WHEN rg.[State] = 1 THEN rg.[total_rows]     ELSE NULL END)    AS [OPEN_rowgroup_rows_MAX]\n,       AVG(CASE WHEN rg.[State] = 1 THEN rg.[total_rows]     ELSE NULL END)    AS [OPEN_rowgroup_rows_AVG]\n,       SUM(CASE WHEN rg.[State] = 2 THEN 1                   ELSE 0    END)    AS [CLOSED_rowgroup_count]\n,       SUM(CASE WHEN rg.[State] = 2 THEN rg.[total_rows]     ELSE 0    END)    AS [CLOSED_rowgroup_rows]\n,       MIN(CASE WHEN rg.[State] = 2 THEN rg.[total_rows]     ELSE NULL END)    AS [CLOSED_rowgroup_rows_MIN]\n,       MAX(CASE WHEN rg.[State] = 2 THEN rg.[total_rows]     ELSE NULL END)    AS [CLOSED_rowgroup_rows_MAX]\n,       AVG(CASE WHEN rg.[State] = 2 THEN rg.[total_rows]     ELSE NULL END)    AS [CLOSED_rowgroup_rows_AVG]\n,       SUM(CASE WHEN rg.[State] = 3 THEN 1                   ELSE 0    END)    AS [COMPRESSED_rowgroup_count]\n,       SUM(CASE WHEN rg.[State] = 3 THEN rg.[total_rows]     ELSE 0    END)    AS [COMPRESSED_rowgroup_rows]\n,       SUM(CASE WHEN rg.[State] = 3 THEN rg.[deleted_rows]   ELSE 0    END)    AS [COMPRESSED_rowgroup_rows_DELETED]\n,       MIN(CASE WHEN rg.[State] = 3 THEN rg.[total_rows]     ELSE NULL END)    AS [COMPRESSED_rowgroup_rows_MIN]\n,       MAX(CASE WHEN rg.[State] = 3 THEN rg.[total_rows]     ELSE NULL END)    AS [COMPRESSED_rowgroup_rows_MAX]\n,       AVG(CASE WHEN rg.[State] = 3 THEN rg.[total_rows]     ELSE NULL END)    AS [COMPRESSED_rowgroup_rows_AVG]\n,       'ALTER INDEX ALL ON ' + s.name + '.' + t.NAME + ' REBUILD;'             AS [Rebuild_Index_SQL]\nFROM    sys.[pdw_nodes_column_store_row_groups] rg\nJOIN    sys.[pdw_nodes_tables] nt                   ON  rg.[object_id]          = nt.[object_id]\n                                                    AND rg.[pdw_node_id]        = nt.[pdw_node_id]\n                                                    AND rg.[distribution_id]    = nt.[distribution_id]\nJOIN    sys.[pdw_table_mappings] mp                 ON  nt.[name]               = mp.[physical_name]\nJOIN    sys.[tables] t                              ON  mp.[object_id]          = t.[object_id]\nJOIN    sys.[schemas] s                             ON t.[schema_id]            = s.[schema_id]\nGROUP BY\n        s.[name]\n,       t.[name];\n\n-- StatsSummary\n\nIF Exists(SELECT [name]\n    FROM sys.tables\n    WHERE [name] like 'StatsSummary' AND schema_id = SCHEMA_ID('SynapseAnalyzer'))\nBEGIN\n     DROP TABLE SynapseAnalyzer.StatsSummary\nEND\n\nGO\n\nCREATE TABLE SynapseAnalyzer.StatsSummary\nWITH (Clustered Index ([two_part_name]), DISTRIBUTION = REPLICATE)\nAS\nWITH \nStatsColumns\nAS ( \n    SELECT \n        c.object_id\n    ,   s.stats_id\n    ,   s.name  \n    ,   STRING_AGG(QUOTENAME(c.name),',') Stat_Columns\n    ,   count(1) NumberOfColumns \n    FROM sys.stats s \n        JOIN sys.stats_columns sc   ON s.object_id = sc.object_id \n                                    AND s.stats_id = sc.stats_id\n        JOIN sys.columns c          ON c.object_id = s.object_id \n                                    AND c.column_id = sc.column_id\n    WHERE (s.auto_created = 1 OR s.user_created = 1)\n    GROUP BY c.object_id, s.stats_id, s.name\n)\nSELECT \n GETDATE()                                              AS  [execution_time]\n, DB_NAME()                                             AS  [database_name]\n, s.name                                                AS  [schema_name]\n, t.name                                                AS  [table_name]\n, QUOTENAME(s.name)+'.'+QUOTENAME(t.name)               AS  [two_part_name]\n, sc.name                                               AS  [stat_name]\n, STATS_DATE(sc.[object_id],sc.[stats_id])              AS  [stats_last_updated_date]\n, sc.Stat_Columns                                       AS  [stat_column_list]\n, sc.NumberOfColumns                                    AS  [no_of_columns]\nFROM sys.schemas s\n\tJOIN sys.tables t ON t.schema_id=s.schema_id\n\tJOIN sys.indexes i ON i.object_id=t.object_id AND i.index_id<2\n\tJOIN StatsColumns sc ON sc.object_id=t.object_id \n\n\n-- TableSizes\n\nIF Exists(SELECT [name]\n    FROM sys.tables\n    WHERE [name] like 'TableSizes' AND schema_id = SCHEMA_ID('SynapseAnalyzer'))\nBEGIN\n     DROP TABLE SynapseAnalyzer.TableSizes\nEND\n\nGO\n\nCREATE TABLE SynapseAnalyzer.TableSizes\nWITH (Clustered Index ([two_part_name],[distribution_id]), DISTRIBUTION = HASH(distribution_id) )\nAS\nWITH base\nAS\n(\nSELECT\n GETDATE()                                                             AS  [execution_time]\n, DB_NAME()                                                            AS  [database_name]\n, s.name                                                               AS  [schema_name]\n, t.name                                                               AS  [table_name]\n, QUOTENAME(s.name)+'.'+QUOTENAME(t.name)                              AS  [two_part_name]\n, nt.[name]                                                            AS  [node_table_name]\n, ROW_NUMBER() OVER(PARTITION BY nt.[name] ORDER BY (SELECT NULL))     AS  [node_table_name_seq]\n, tp.[distribution_policy_desc]                                        AS  [distribution_policy_name]\n, c.[name]                                                             AS  [distribution_column]\n, nt.[distribution_id]                                                 AS  [distribution_id]\n, i.[index_id]                                                         AS  [index_id]\n, i.[type]                                                             AS  [index_type]\n, i.[type_desc]                                                        AS  [index_type_desc]\n, nt.[pdw_node_id]                                                     AS  [pdw_node_id]\n, pn.[type]                                                            AS  [pdw_node_type]\n, pn.[name]                                                            AS  [pdw_node_name]\n, di.name                                                              AS  [dist_name]\n, di.position                                                          AS  [dist_position]\n, nps.[partition_number]                                               AS  [partition_nmbr]\n, nps.[reserved_page_count]                                            AS  [reserved_space_page_count]\n, nps.[reserved_page_count] - nps.[used_page_count]                    AS  [unused_space_page_count]\n, nps.[in_row_data_page_count]\n    + nps.[row_overflow_used_page_count]\n    + nps.[lob_used_page_count]                                        AS  [data_space_page_count]\n, nps.[reserved_page_count]\n - (nps.[reserved_page_count] - nps.[used_page_count])\n - ([in_row_data_page_count]\n         + [row_overflow_used_page_count]+[lob_used_page_count])       AS  [index_space_page_count]\n, nps.[row_count]                                                      AS  [row_count]\nfrom\n    sys.schemas s\nINNER JOIN sys.tables t\n    ON s.[schema_id] = t.[schema_id]\nINNER JOIN sys.indexes i\n    ON  t.[object_id] = i.[object_id]\nINNER JOIN sys.pdw_table_distribution_properties tp\n    ON t.[object_id] = tp.[object_id]\nINNER JOIN sys.pdw_table_mappings tm\n    ON t.[object_id] = tm.[object_id]\nINNER JOIN sys.pdw_nodes_tables nt\n    ON tm.[physical_name] = nt.[name]\nINNER JOIN sys.dm_pdw_nodes pn\n    ON  nt.[pdw_node_id] = pn.[pdw_node_id]\nINNER JOIN sys.pdw_distributions di\n    ON  nt.[distribution_id] = di.[distribution_id]\nINNER JOIN sys.dm_pdw_nodes_db_partition_stats nps\n    ON nt.[object_id] = nps.[object_id]\n    AND  i.[index_id] = nps.[index_id]\n    AND nt.[pdw_node_id] = nps.[pdw_node_id]\n    AND nt.[distribution_id] = nps.[distribution_id]\nLEFT OUTER JOIN (select * from sys.pdw_column_distribution_properties where distribution_ordinal = 1) cdp\n    ON t.[object_id] = cdp.[object_id]\nLEFT OUTER JOIN sys.columns c\n    ON cdp.[object_id] = c.[object_id]\n    AND cdp.[column_id] = c.[column_id]\nWHERE pn.[type] = 'COMPUTE'\n)\nSELECT\n   [execution_time]\n,  [database_name]\n,  [schema_name]\n,  [table_name]\n,  [two_part_name]\n,  [node_table_name]\n,  [node_table_name_seq]\n,  [distribution_policy_name]\n,  [distribution_column]\n,  [distribution_id]\n,  [index_id]\n,  [index_type]\n,  [index_type_desc]\n,  [pdw_node_id]\n,  [pdw_node_type]\n,  [pdw_node_name]\n,  [dist_name]\n,  [dist_position]\n,  [partition_nmbr]\n,  [reserved_space_page_count]\n,  [unused_space_page_count]\n,  [data_space_page_count]\n,  [index_space_page_count]\n,  [row_count]\n,  ([reserved_space_page_count] * 8.0)                                 AS [reserved_space_KB]\n,  ([unused_space_page_count]   * 8.0)                                 AS [unused_space_KB]\n,  ([data_space_page_count]     * 8.0)                                 AS [data_space_KB]\n,  ([index_space_page_count]  * 8.0)                                   AS [index_space_KB]\nFROM base\n\n\n\n-- StatColumns\n\nIF Exists(SELECT [name]\n    FROM sys.tables\n    WHERE [name] like 'StatColumns' AND schema_id = SCHEMA_ID('SynapseAnalyzer'))\nBEGIN\n     DROP TABLE SynapseAnalyzer.StatColumns\nEND\n\nGO\n\nCREATE TABLE SynapseAnalyzer.StatColumns\nWITH (Clustered Index ([two_part_name]), DISTRIBUTION = ROUND_ROBIN )\nAS\nSELECT\n        GETDATE()                           AS  [execution_time]\n,       DB_NAME()                           AS  [database_name]       \n,       sm.[name]                           AS [schema_name]\n,       tb.[name]                           AS [table_name]\n,       st.[name]                           AS [stats_name]\n,       st.[filter_definition]              AS [stats_filter_definition]\n,       st.[has_filter]                     AS [stats_is_filtered]\n,       STATS_DATE(st.[object_id],st.[stats_id])\n                                            AS [stats_last_updated_date]\n,       co.[name]                           AS [stats_column_name]\n,       ty.[name]                           AS [column_type]\n,       co.[max_length]                     AS [column_max_length]\n,       co.[precision]                      AS [column_precision]\n,       co.[scale]                          AS [column_scale]\n,       co.[is_nullable]                    AS [column_is_nullable]\n,       co.[collation_name]                 AS [column_collation_name]\n,       QUOTENAME(sm.[name])+'.'+QUOTENAME(tb.[name])\n                                            AS two_part_name\n,       QUOTENAME(DB_NAME())+'.'+QUOTENAME(sm.[name])+'.'+QUOTENAME(tb.[name])\n                                            AS three_part_name\nFROM    sys.objects                         AS ob\nJOIN    sys.stats           AS st ON    ob.[object_id]      = st.[object_id]\nJOIN    sys.stats_columns   AS sc ON    st.[stats_id]       = sc.[stats_id]\n                            AND         st.[object_id]      = sc.[object_id]\nJOIN    sys.columns         AS co ON    sc.[column_id]      = co.[column_id]\n                            AND         sc.[object_id]      = co.[object_id]\nJOIN    sys.types           AS ty ON    co.[user_type_id]   = ty.[user_type_id]\nJOIN    sys.tables          AS tb ON  co.[object_id]        = tb.[object_id]\nJOIN    sys.schemas         AS sm ON  tb.[schema_id]        = sm.[schema_id]\nWHERE   1=1\nAND      (st.user_created = 1 OR st.auto_created = 1)\n\n-- ControlNodeRowcount\n\n\nIF Exists(SELECT [name]\n    FROM sys.tables\n    WHERE [name] like 'ControlNodeRowcount' AND schema_id = SCHEMA_ID('SynapseAnalyzer'))\nBEGIN\n     DROP TABLE SynapseAnalyzer.ControlNodeRowcount\nEND\n\nGO\n\nCREATE TABLE SynapseAnalyzer.ControlNodeRowcount\nWITH (Clustered Index ([two_part_name]), DISTRIBUTION = ROUND_ROBIN )\nAS\nWITH CtlSummary\nAS \n( \n    SELECT \n        p.object_id\n    ,   p.index_id    \n    ,   p.partition_number\n    ,   SUM(p.rows) rows\n\n    FROM sys.partitions p\n    WHERE p.index_id < 2\n    GROUP BY p.object_id, p.partition_number,p.index_id \n)\nSELECT \n GETDATE()                                                             AS  [execution_time]\n, DB_NAME()                                                            AS  [database_name]\n, s.name                                                               AS  [schema_name]\n, t.name                                                               AS  [table_name]\n, QUOTENAME(s.name)+'.'+QUOTENAME(t.name)                              AS  [two_part_name]\n, i.type_desc                                                          AS  [table_type]\n, p.partition_number                                                   AS  [partition_number]\n, p.rows                                                               AS  [Stats_rowcount]\nFROM sys.schemas s\n\tJOIN sys.tables t ON t.schema_id=s.schema_id\n\tJOIN sys.indexes i ON i.object_id=t.object_id AND i.index_id<2\n\tJOIN CtlSummary p ON p.object_id=t.object_id AND p.index_id=i.index_id\n\n\n\n\n\n--ColumnStoreRowGroupPhysicalStats\nIF Exists(SELECT [name]\n    FROM sys.tables\n    WHERE [name] like 'ColumnStoreRowGroupPhysicalStats' AND schema_id = SCHEMA_ID('SynapseAnalyzer'))\nBEGIN\n     DROP TABLE SynapseAnalyzer.ColumnStoreRowGroupPhysicalStats\nEND\n\nGO\n\nCREATE TABLE SynapseAnalyzer.ColumnStoreRowGroupPhysicalStats\nWITH (Clustered Index ([two_part_name],index_id,row_group_id), DISTRIBUTION = ROUND_ROBIN)\nAS\nSELECT   tb.[name]                                     AS [logical_table_name]\n,        sm.[name]                                     AS [schema_name]\n,        QUOTENAME(sm.name)+'.'+QUOTENAME(tb.name)     AS [two_part_name]\n,\t rg.[index_id]\t\t\t\t       AS [index_id]\n,\t rg.[partition_number]\t\t\t       AS [partition_number]\n,        rg.[row_group_id]                             AS [row_group_id]\n,        rg.[state]                                    AS [state]\n,        rg.[state_desc]                               AS [state_desc]\n,        rg.[total_rows]                               AS [total_rows]\n,\t rg.[deleted_rows]\t\t\t       AS [deleted_rows]\n,\t rg.[size_in_bytes]\t\t\t       AS [size_in_bytes]\n,        COALESCE(rg.[trim_reason_desc], rg.[state_desc])AS trim_reason_desc\n,        mp.[physical_name]                            AS physical_name\nFROM    sys.[schemas] sm\nJOIN    sys.[tables] tb               ON  sm.[schema_id]          = tb.[schema_id]\nJOIN    sys.[pdw_table_mappings] mp   ON  tb.[object_id]          = mp.[object_id]\nJOIN    sys.[pdw_nodes_tables] nt     ON  nt.[name]               = mp.[physical_name]\nJOIN    sys.[dm_pdw_nodes_db_column_store_row_group_physical_stats] rg      ON  rg.[object_id]     = nt.[object_id]\n                                                                            AND rg.[pdw_node_id]   = nt.[pdw_node_id]\n                                        AND rg.[distribution_id]    = nt.[distribution_id]\n\n\n\n\n\n--ExternalTables\n\n\nIF Exists(SELECT [name]\n    FROM sys.tables\n    WHERE [name] like 'ExternalTables' AND schema_id = SCHEMA_ID('SynapseAnalyzer'))\nBEGIN\n     DROP TABLE SynapseAnalyzer.ExternalTables\nEND\n\nGO\n\nCREATE TABLE SynapseAnalyzer.ExternalTables\nWITH (Clustered Index ([two_part_name]), DISTRIBUTION = REPLICATE )\nAS\nSELECT \n    GETDATE()                        AS  [execution_time]\n,   DB_NAME()                        AS [database_name]\n,   sm.[name]                        AS [schema_name]\n,   et.[name]                        AS [table_name]\n,   et.object_id                     AS [table_object_id]\n,   et.type_desc\t\n,   et.max_column_id_used\t\n,   et.uses_ansi_nulls\t\n,   et.data_source_id\t\n,   et.file_format_id\t\n,   et.location\n,   QUOTENAME(sm.[name]) + '.' + QUOTENAME(et.[name])   AS two_part_name\nFROM    sys.external_tables AS et \n    JOIN    sys.schemas AS sm \n        ON  et.[schema_id]        = sm.[schema_id]\n\n\n"
  },
  {
    "path": "Synapse_Analyzer/Synapse_BPA_Report/ForLargeDBwithCTAS/README.md",
    "content": "# Synapse Analyzer Report – for XL data warehouses.\n\n## CTAS version for XL data warehouses\nWith this update we are also bringing a parallel copy of Synapse Analyzer report specifically targeted towards scenarios where Synapse Dedicated Pool database has greater than 20K tables and the normal refresh of synapse analyzer report times out after long period (greater than 5 hours)\n\n![Synapse Analyzer with CTAS](../img/Synapse-Analyzer-with-CTAS-Tables-About-Page.png \"Synapse Analyzer with CTAS\")\n\nFor this version of the report the Synapse Admin has to run the Create table script on the dedicated Pool database which is being analyzed. The script will \n\n- a. Create new schema named “SynapseAnalyzer” under same database\n- b. Execute Create Table as Select (CTAS) statements to create tables in SynapseAnalyzer schema and prepopulate it with details from the same database. \n- c. These tables are then used as source for the Power BI template file “Synapse best practice analyzer_with_CTAS.pbit” \n- d. The PBI template will then connect to SynapseAnalyzer schema and pull all the information from the tables that are prepopulated in above steps.  \n\n**Important**: You need to run the scripts in given order.\n\n1. The “CreateTablesForSynapseAnalyzer_CTAS.sql” script creates new schema named “SynapseAnalyzer” and then creates all required tables as a part of CTAS\n2. Only after  step 1 above is successfully complete you can use “Synapse best practice analyzer_with_CTAS.pbit” for creating report using the PBI template file.\n\n## Fixed error during desktop refresh \nFor many users, running load data through Power BI desktop, the “Load Data” used to turn out into following error. \n\n    All Tables\n    Loading blocked by failures with other queries.\n    ColumnstoreDensity\n    Query 'ColumnstoreDensity' (step 'Expanded All Tables') references other queries or steps, so it may not directly access a data source. Please rebuild this data combination.\n    StatsSummary\n    Loading blocked by failures with other queries.\n    TableSizes\n    Query 'TableSizes' (step 'Expanded All Tables') references other queries or steps, so it may not directly access a data source. Please rebuild this data combination.\n    …\n\nWhile there was a details section in Troubleshooting document on github location for troubleshooting this error, the overall first experience with tool was not optimal. With a new version of Synapse Analyzer report we have fixed this issue so you should not be getting the above error.\n\nIn future we plan to continue with more features and reports.\n\nThank you very much for using Synapse Analyzer. As always, we would be happy to receive any feedback you may have on the report. \n\n\n\n\n"
  },
  {
    "path": "Synapse_Analyzer/Synapse_BPA_Report/InstallationGuide.md",
    "content": "# Using Power BI Template (.pbit) for Synapse Best Practice Report\n\nYou can install and use Power BI Desktop to access Power BI Desktop template (.pbit) file.\n\n1. From this GitHub location, download a Power BI template (.pbit) file named [**Synapse best practice analyzer.pbit**](./Synapse%20best%20practice%20analyzer.pbit \"Synapse best practice analyzer.pbit\"). \n2. You can use this pbit file through Power BI desktop (latest build). \n3. This step by step [installation guide](./InstallationGuide.md \"InstallationGuide.md\") will help you on installation, configuration and refresh of the report. \n4. If you face any errors in the process, the [troubleshooting guide](./TroubleshootingGuide.md \"TroubleshootingGuide.md\") will help you troubleshoot some of the common scenarios.\n\nBelow explains steps to install and run this report using Power BI template file (.pbit) from this location.\n\n## Prerequisite\n\n1. Latest version of Power BI Desktop App from [Microsoft Store](https://aka.ms/pbidesktopstore \"Microsoft Store\") on your PC. To configure Power BI desktop using Power BI desktop template (.pbit) file you need permission on your PC to run Power BI desktop.\n2. Sysadmin privileges are required to capture information from Synapse dedicated pool. The person setting up refresh, and the credentials used for refresh, should have admin rights on Synapse Dedicated pool and its databases.\n3. Consumers of this Report, however, could be non-admin based on who the report is shared with. \n\n## Installation\n\n1. If not already done, install latest version of Power BI Desktop (Mar-2022 or greater).\n\n![Install Power BI Desktop](./img/Install-Power-BI-Desktop.png \"Install Power BI Desktop\")\n\n2. Open Power BI Desktop on your PC,  \n3. It will prompt you for Get Data screen. You can click on Open other reports link\n\n![Open Other Reports](./img/Open-Other-Reports.png \"Open Other Reports\")\n\n4. Change file type from pbix to pbit (1)\n5. Select “Synapse Best Practice Report.pbit” template file provided (2)\n\n![Browse select pbit file](./img/Browse-select-pbit-file.png \"Browse select pbit file\")\n\n6. Click open (3)\n7. Dialogue box for Synapse Best Practice report will open\n\n![Provide connection parameters SQL endpoint database](./img/Provide-connection-parameters-SQLendpoint-database.png \"Provide connection parameters SQL endpoint database\")\n\n8. Provide Synapse Dedicated Pool Endpoint (1) and Database Name (2) in the parameter text boxes\n9. Click Load to open report (3)\n10. If you are opening it for the first time it will pop up security warnings. This is because most of the data is collected using native database queries against DMVs. You need to allow each one permission to run by hitting 'Run' on the popup. Like an example below\n\n![Native database query warning](./img/Native-database-query-warning.png \"Native database query warning\")\n\n11. Click “Try Again” to allow it to connect to Synapse Endpoint through Native Query.\n12. This should start the refresh process.\n\n![Refresh starts](./img/Refresh-starts.png \"Refresh starts\")\n\n13. Once refresh is complete click OK\n"
  },
  {
    "path": "Synapse_Analyzer/Synapse_BPA_Report/PublishToPowerBIService.md",
    "content": "# Publish Azure Synapse Analyzer Report to Power BI service\n\nWhile you can use Power BI desktop to refresh and view Azure Synapse Analyzer Report occasionally. You can set this report as a part of your operational procedure to review it on a regular basis in order to ensure you are having optimum Synapse practices implemented all the time. For scheduled report, and broader access to the report, we recommend publishing report to Power BI Service using Publish option in Power BI desktop. \n\nTo publish pbix file to Power BI service please follow the steps outlined in [Publish from Power BI Desktop](https://docs.microsoft.com/en-us/power-bi/create-reports/desktop-upload-desktop-files \"Publish from Power BI Desktop\").  User publishing report may need Power BI Pro user privileges. While setting up refresh of the dataset in Power BI Service, the data source credentials used for refresh require admin rights on Synapse Dedicated pool and its databases.\n\nTo configure dataset refresh in Power BI service\n\n1. After successfully publishing PBI desktop file, go to the premium workspace where you published the file. Click more options on the dataset and go to dataset settings \n\n![Dataset more info Settings](./img/Dataset-more-info-Settings.png \"Dataset more info Settings\")\n\n2. Under the dataset settings, you will see error for data source. \n\n3. Expand parameters under settings and provide Synapse dedicated pool endpoint and database name parameters. Click Apply\n\n![Dataset settings input parameter values](./img/Dataset-settings-input-parameter-values.png \"Dataset settings input parameter values\")\n\n4. Click on “Discover Data Sources” link after you applied parameters in above step. This will populate data source information from parameters you provided.\n\n5. You will then see option for data source credentials and Gateway connection as shown in figure below. \n\n![Edit Credentials option](./img/Edit-Credentials-option.png \"Edit Credentials option\")\n\n6. Click Edit Credentials to provide login credentials to your Synapse Dedicated endpoint. (the credentials should have sysadmin rights on the Synapse Database)\n\n7. If you have configured your synapse datasource to be available behind virtual private network, go to Gateway connection option and choose right gateway datasource from your gateways.  For more help on how to configure data source on gateway please see [Use the data source with Scheduled refresh](https://docs.microsoft.com/en-us/power-bi/connect-data/service-gateway-enterprise-manage-sql#use-the-data-source-with-scheduled-refresh \"Use the data source with Scheduled refresh\"). For more details on how to create gateway data source you can refer [Add or remove a gateway data source](https://docs.microsoft.com/power-bi/connect-data/service-gateway-data-sources \"Add or remove a gateway data source\").\n\n8. After above step, now refresh dataset by clicking refresh now\n\n![Click Refresh now](./img/Click-Refresh-now.png \"Click Refresh now\")\n\n"
  },
  {
    "path": "Synapse_Analyzer/Synapse_BPA_Report/README.md",
    "content": "# Azure Synapse Analyzer Report to monitor and improve Synapse Dedicated Pool performance\n\nThe Azure Synapse Analyzer Report is created to help you identify common issues that may be present in your database that can lead to performance issues. This report focuses on known best practices that Microsoft has identified with SQL Dedicated Pools. Following these best practices will help to get the best performance out of your solution.\n\n## Updated to Version 2.0\n\nNew version of Synapse Analyzer Report has been updated. Along with following detials, it includes reports related to **Workload Management** in Azure Synapse Analytics Dedicated SQL Pool. Please refer to [Updates to Synapse Analyzer Report](./UpdatestoSynapseAnalyzerReport.md \"UpdatestoSynapseAnalyzerReport.md\") document to know what is included in the new update. If you are reading it for the first time, then for overview of the overall report, please read through below before going to update section.\n\n## Report Details\n\nThis report provides key information around Table and Index storage for your Synapse Dedicated Pool (DW) database. \n\nThe report has following main pages:\n\n\t- About\n\t- Issue Tables\n\t- All Tables\n\t- Table Details\n\t- External Table Details\n\t- Workload management\n\n### About\n\nThis page provides overall information about the report. \n\n### Issue Tables\n\nThis page provides information about Tables where we have detected possible issues. The following issues are detected currently. We do plan on expanding this list in the future.\n- Data Skewness\n- Large Replicate Tables\n- Missing Stats\n- Outdated Statistics\n- Too Many Partitions\n\nYou can hover on the issue in \"Table count by issue\" tree-map visual to get a description about the issue. Clicking on the issue will filter the table visual to show you tables that are having an issue. The URL link in the table visual can provide more documentation about the issue type. You can right click on table name and drill-through to the Table details page.\n\nRow groups by trim reason bar chart provides information on the count of row groups trimmed by the reason due to which those were trimmed. To get more details on any visual you can click on the ? icon on the visual where available.\n\n![Tables with Issues](./img/Tables-with-Issues.png \"Tables with Issues\")\n\n### All Tables\n\nThis page provides information on the overall landscape of the table and index metadata for your data warehouse database. Table count by distribution policy and index type provides information on how your tables are aligned to different distribution versus index strategies. Please review this matrix to ensure you are using optimal strategy for your tables and indexes. At any time you can click on ? icon on the visual to know more details on the guidance.\n\nYou can right click on any table to go to Table details page.\n\n![All Tables](./img/All-Tables.png \"All Tables\")\n\n### Table Details\n\nThis page provides granular details about a single table like individual table attributes. The upper green/red indicators provides information on issues that were detected for this table. The Stats by update time table provides information on the last updated date for any statistics available on that table. The column chart below provides information on distribution of rows across 60 distributions for the distributed table. Row groups by trim reason provides count of row groups by the reason due to which those were trimmed.\n\n![Table Details](./img/Table-Details.png \"Table Details\")\n\n### External Table Details\n\nThis table provides metadata information on external tables present in the database like the source of external table, file format, source locations etc.\n\n![External Table Details](./img/External-Table-Details.png \"External Table Details\")\n\n## Best Practice Rules\n\nThe rules created will validate Best Practices rules against the set of conditions to flag an issue.\n\nThe 5 rules that have been incorporated today are:\n\n| Issue  | Issue Description  |\n| ------------ | ------------ |\n| **Data Skewness**  | This is a scenario when data is distributed unequally among 60 distributions. A heavy skew can negatively impact queries involving that table. And in most cases, data skew can be avoided by choosing the correct distribution column. See how to [choose a distribution column](https://docs.microsoft.com/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-tables-distribute#choose-a-distribution-column \"choose a distribution column\") for more information.  |\n| **Large Replicated Tables**  | Replicated tables help in avoiding the shuffle of data by maintaining a full copy of the table on each Compute Node. Due to the overhead involved in broadcasting the whole table, it is recommended to replicate a table that is < 2GB and infrequently updated. For more details, please refer [design guidance for replicated tables](https://docs.microsoft.com/azure/synapse-analytics/sql-data-warehouse/design-guidance-for-replicated-tables \"design guidance for replicated tables\").  |\n| **Missing Stats**  | If statistics are missing and the database AUTO_CREATE_STATISTICS option is on, dedicated SQL pool analyzes incoming user queries for missing statistics. The query optimizer creates statistics on individual columns on the query predicate or join condition to improve cardinality estimates for the query plan. Automatic creation of statistics is done synchronously so you may incur slightly degraded query performance if your columns are missing statistics. To avoid measurable performance degradation, you should ensure stats have been created first by executing the benchmark workload before profiling the system. Check [SQL data warehouse tables statistics](https://docs.microsoft.com/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-tables-statistics \"SQL data warehouse tables statistics\") to learn more.  |\n| **Outdated Statistics**  | SQL Pool uses a cost-based query optimizer which uses statistics to generate an optimal query execution plan. In the case of outdated/missing statistics, the SQL engine can choose a wrong execution plan leading to performance issues. Check [SQL data warehouse tables statistics](https://docs.microsoft.com/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-tables-statistics \"SQL data warehouse tables statistics\") to learn more.  |\n| **Too Many Partitions**  | For a Columnstore table, it highly recommended to have 1 million rows per row-group for better compression & performance. SQL Pool internally divides each table into 60 child-tables ( aka distribution), and a partition further divides these child tables by partition column. It would be best if you aimed to have 1 Million or more rows per partition per distribution. Refer [Data warehouse tables partition](https://docs.microsoft.com/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-tables-partition \"Data warehouse tables partition\") for details.  |\n\n\n## Installation \n\nYou can install and use Power BI Desktop to access Power BI Desktop template (.pbit) file.\n\n1. From this GitHub location, download a Power BI template (.pbit) file named [**Synapse best practice analyzer.pbit**](./Synapse%20best%20practice%20analyzer.pbit \"Synapse best practice analyzer.pbit\"). \n2. You can use this pbit file through Power BI desktop (latest build). \n3. The step by step [installation guide](./InstallationGuide.md \"InstallationGuide.md\") will help you on installation, configuration and refresh of the report. \n4. If you face any errors in the process, the [troubleshooting guide](./TroubleshootingGuide.md \"troubleshootingGuide.md\") will help you troubleshoot some of the common scenarios.\n\n## Required Permissions\n\n- To configure Power BI desktop using Power BI desktop template (.pbit) file you need permission on your PC to run Power BI desktop.\n\n- To connect to Azure Synapse Dedicated Pool data warehouse endpoint and refresh report you need to provide data source credentials. For those credentials Sysadmin privileges are required to capture information from Synapse dedicated pool. \n\n- Consumers of this Report, however, could be non-admin based on who the report is shared with. \n\n## Schedule Refresh from Power BI Service (Optional)\n\nWhile you can use Power BI desktop report occasionally, for scheduled report and broader access to the report, we recommend publishing report to Power BI Service using Publish option in Power BI desktop. To publish pbix file to Power BI service and refresh dataset from service user need Power BI Pro user privileges. [Publish Azure Synapse Analyzer Report to Power BI service](./PublishToPowerBIService.md \"PublishToPowerBIService.md\") provides step-by-step instructions.\n\nPlease note: While setting up refresh of dataset in Power BI Service, the credentials used for refresh, should have admin rights on Synapse Dedicated pool and its databases.\n\n## Update to Version 2.0\n\nNew version of Synapse Analyzer Report has been uploaded. It includes reports related to Workload Management in Azure Synapse Analytics Dedicated SQL Pool. Please refer to [Updates to Synapse Analyzer Report](./UpdatestoSynapseAnalyzerReport.md \"UpdatestoSynapseAnalyzerReport.md\") document for more details. \n\n## Summary \n\nThe Azure Synapse Analyzer Report should help give you insights into the health of your Azure Synapse Dedicated Pool database. We will continue to update the report to call out defined best practices that Microsoft has defined. \n\n"
  },
  {
    "path": "Synapse_Analyzer/Synapse_BPA_Report/TroubleshootingGuide.md",
    "content": "# Troubleshooting errors when refreshing report from Power BI Desktop\n\nDuring the refresh you may encounter Errors. This document lists some of the common errors and possible troubleshooting steps for those errors.\n\n## Connection Errors when refreshing report from Power BI Desktop\n\nSometimes you may receive errors while connecting to your Synapse Dedicated Pool database.\n\n![Connection Error Could not connect to server](./img/Connection-Error-Could-not-connect-to-server.png \"Connection Error Could not connect to server\")\n\n![Database is paused](./img/Database-is-paused.png \"Database is paused\")\n\nIf you receive any of the above connection errors, please ensure that\n\n1. You have provided correct connection parameters for Server endpoint and database\n2. The given database on the synapse workspace is online and running\n3. You have provided appropriate credentials to be used to connect to the database\n4. The credentials provided have admin access to the Synapse data warehouse database.\n\nYou can close Power BI desktop without saving and open pbit file again from Power BI Desktop.\n\n## Timeout errors when refreshing report from Power BI Desktop\n\nYou may encounter Timeout error when refreshing Power BI report from Power BI desktop. \n\nIf you click close on the error dialog you will see following on the Power BI desktop \n\n![PBI desktop report after refresh errors](./img/PBI-desktop-report-after-refresh-errors.png \"PBI desktop report after refresh errors\")\n\nAt this time you can try following troubleshooting steps based on situations\n1. Check if the Azure Synapse Dedicated Pool database is online and accepting connections\n2. Check if database is too busy with other requests. You can refresh the report towards off peak hours to ensure it pulls all the data\n3. If refresh is timing out after it starts loading data, \n\nYou can save the failed refresh desktop file without applying changes and upload pbix file to Power BI workspace (preferably Power BI Premium) and refresh from there. For that\n\nSave file on your desktop. While saving it will ask for applying changes, choose apply later\n\n![Warning dialog while saving desktop file](./img/Warning-dialog-while-saving-desktop-file.png \"Warning dialog while saving desktop file\")\n\nPublish file to Power BI Workspace. We would prefer using Power BI Premium since Premium datasets have higher timeout value and also higher processing power to execute refresh. While publishing it may again ask you to save file and pop up the same dialog as above step. You can click “Apply later”.\n\n![Power BI Publish successful dialog box](./img/Power-BI-Publish-successful-dialog-box.png \"Power BI Publish successful dialog box\")\n\nAfter successfully publishing PBI desktop file, go to the premium workspace where you published the file. Click more options on the dataset and go to dataset settings \n\n![Dataset more info Settings](./img/Dataset-more-info-Settings.png \"Dataset more info Settings\")\n\nUnder the dataset settings, you will see error for data source. \n\nExpand parameters under settings and provide Synapse dedicated pool endpoint and database name parameters. Click Apply\n\n![Dataset settings input parameter values](./img/Dataset-settings-input-parameter-values.png \"Dataset settings input parameter values\")\n\nClick on “Discover Data Sources” link after you applied parameters in above step. This will populate data source information from parameters you provided.\n\nYou will then see option for data source credentials and Gateway connection as shown in figure below. \n\n![Edit Credentials option](./img/Edit-Credentials-option.png \"Edit Credentials option\")\n\nClick Edit Credentials to provide login credentials to your Synapse Dedicated endpoint. (the credentials should have sysadmin rights on the Synapse Database)\n\nIf you have configured your synapse datasource to be available behind virtual private network, go to Gateway connection option and choose right gateway datasource from your gateways.  For more help on how to configure data source on gateway please see [Use the data source with Scheduled refresh](https://docs.microsoft.com/en-us/power-bi/connect-data/service-gateway-enterprise-manage-sql#use-the-data-source-with-scheduled-refresh \"Use the data source with Scheduled refresh\"). For more details on how to create gateway data source you can refer [Add or remove a gateway data source](https://docs.microsoft.com/power-bi/connect-data/service-gateway-data-sources \"Add or remove a gateway data source\").\n\nAfter above step, now refresh dataset by clicking refresh now\n\n![Click Refresh now](./img/Click-Refresh-now.png \"Click Refresh now\")\n\n## Other errors when refreshing report from Power BI Desktop\n\nSometimes you may see following error like “Query ‘Query Name’ (step ‘step name’) reference other queries or steps… please rebuild this data combination”\n\n![All Tables reference error](./img/All-Tables-reference-error.png \"All Tables reference error\")\n\nThis error happens only in desktop due to some internal race condition. There are two ways to fix it. You can either publish a report to Power BI service using steps mentioned in timeout error section\n\nAlternatively, you can use following technique to “refresh all” preview from transform data screen. For this go to transform data to open Power Query editor. \n\n![Open Power Query editor](./img/Open-Power-Query-editor.png \"Open Power Query editor\")\n\nIn Power Query editor, under Queries pane, click on “All Tables” query.\n\nExpand “Refresh Preview” and click “Refresh All”.\n\nWait for preview refresh to complete.\n\n![Refresh Preview Refresh All](./img/Refresh-Preview-Refresh-All.png \"Refresh Preview Refresh All\")\n\nOnce preview is refreshed you can click” Close & Apply” button on the left corner of navigation ribbon. \n\nThis will restart the refresh.\n"
  },
  {
    "path": "Synapse_Analyzer/Synapse_BPA_Report/UpdatestoSynapseAnalyzerReport.md",
    "content": "# Updates to Synapse Analyzer Report – Workload Management and support for XL data warehouses.\n\nIn May 2022 we released the first version of Synapse Analyzer Report that will help you with table, index, and statistics information and report issues on these topics. \n\nWith help from Nick Salch, Fretz Nusan, and Synapse CSE team, today we have an update (v2.0) to the Synapse Analyzer report:\n\n- Addition of Workload Management Report page to the existing report \n- A new separate CTAS version of Synapse Analyzer Report for extra-large data warehouses\n- Fixed below error during desktop refresh \n  - Query 'Query Name’ (step 'Expanded All Tables') references other queries or steps, so it may not directly access a data source. Please rebuild this data combination.\n\n## Addition of Workload Management Report page:\nThe new version (v2.0) contains additional reports to detect issues in configuration of Workload Management settings in Synapse Dedicated Pool.\n\n![Workload Management](./img/Workload-Management.png \"Workload Management\")\n\nFollowing is the brief description for the Workload Management report page. \n\n### Workload Management: \nThis page provides information on workload management and related settings in Synapse dedicated pool. It highlights some of the common warnings admins should be aware of when setting the resource and request percentage for effective workload governance. Please review issues and warnings on this page to ensure you are using optimal strategy for your workload groups and classifiers. At any time you can click on ? icon on the visual to view more details on the guidance. \n\n### WLM Issue Summary: \nThis table provides summary of all issues detected in your WLM environment. You can hover on each issue to find brief description and / or click on issue to find groups affected by respective issue. You can also click on URL link to find more information about workload management.\n\n### Group Details: \nThe table provides details for each workload group. Groups highlighted suggest there exist one or more issues for that group. You can hover on the groups flagged to find issues identified for that group. \n- Flag for effective values suggests there is mismatch between config and effective value at request or resource level. \n- Flag on request min config suggests mismatch in request min vs request max values. \n- Flag on resource min config suggests deviations in resource min configurations.\n\n### Requests / Timeouts Summary: \nThe table provides snapshot of requests and timeouts summary at the time when data was last refreshed / updated. \n\nThe table below provides details on issues that have been added for workload management. \n\n| Issue | Issue Description |\n| ----------- | --------------------------------- | \n| **Importance Mismatch** | Mismatch in workload group importance and workload classifier importance for a workload group. Importance can be set separately at the workload group or workload classifier level. Whichever importance is higher is the one that will be assigned to the query. This test is just to make the user aware that there are two different importance set to make sure there is no confusion on the classified query's importance. Refer [Workload Management](https://docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/resource-classes-for-workload-management \"Workload management with resource classes in Azure Synapse Analytics\") for details.|\n| **Request Max Mismatch** | Mismatch in configured and effective values of max request grant percentage for a workload group. The system will allow you to set any valid values for your request max and this will be your configured or desired value. The effective value is the actual value that is being used based on the configuration of other workload groups in the system. If your request max is set to 100%, but there is another workload group with a 10% minimum, then your effective request max will be lowered to 90%. Refer [Workload Management](https://docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/resource-classes-for-workload-management \"Workload management with resource classes in Azure Synapse Analytics\") for details.|\n| **Request Min Mismatch** | Mismatch in configured and effective values of min request grant percentage for a workload group. The system will allow you to set any valid values for your request minimum and this will be your configured or desired value. The effective value is the actual value that is being used based on the configuration of other workload groups in the system. If your request min is set to 50%, but there are other workload groups with combined minimums totaling 60%, then your effective request min will be lowered to 40%. Refer [Workload Management](https://docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/resource-classes-for-workload-management \"Workload management with resource classes in Azure Synapse Analytics\") for details.|\n| **Resource Max Mismatch** | Mismatch in configured and effective values of cap resource percentage for a workload group. The system will allow you to set any valid values for your resource max (workload group max) and this will be your configured or desired value. The effective value is the actual value that is being used based on the configuration of other workload groups in the system. If your resource max is set to 100%, but there is another workload group with a 10% minimum, then your effective resource max will be lowered to 90%. Refer [Workload Management](https://docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/resource-classes-for-workload-management \"Workload management with resource classes in Azure Synapse Analytics\") for details.|\n| **Resource Min Mismatch** | Mismatch in configured and effective values of min resource percentage for a workload group. The system will allow you to set any valid values for your resource minimum and this will be your configured or desired value. The effective value is the actual value that is being used based on the configuration of other workload groups in the system. If your resource minimum is set to 50%, but there are other workload groups with combined minimums totaling 60%, then your effective request min will be lowered to 40%. Refer [Workload Management](https://docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/resource-classes-for-workload-management \"Workload management with resource classes in Azure Synapse Analytics\") for details.|\n| **Resource Min NonZero** | Resource min percentage is nonzero for a workload group. You can set a workload group to have a minimum percentage allocated at all times, this is true regardless of whether or not there are queries running in this group. This test is to notify the user that there is a group that has a permanent resource grant because it will lower the concurrency resources available to all other groups and in many cases lower your overall concurrency. Refer [Workload Management](https://docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/resource-classes-for-workload-management \"Workload management with resource classes in Azure Synapse Analytics\") for details.|\n| **Resource Min Over10%** | Resource min percentage is > 10% for a workload group. When you set a workload group minimum it is allocated at all times regardless of whether or not there are queries running in this group. If this minimum is set to high then it can have a dramatic effect on the overall concurrency available to the system since queries not in this group can never tap into this granted percentage. There may be rare scenarios where this is a valid configuration such as a fairly constant workload that regularly uses more than this minimum, but you are more likely to achieve higher concurrency by removing or lowering this minimum, capping certain workloads, and allowing the shared resources to be dynamically allocated based on importance. Refer [Workload Management](https://docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/resource-classes-for-workload-management \"Workload management with resource classes in Azure Synapse Analytics\") for details.|\n| **Request Min vs Request Max mismatch** | Request min grant percentage and request max grant percentage do not match for a workload group. On a per-request basis within a workload group you can set a separate minimum and maximum resource grant. If there are enough resources available it will grant the maximum, but if there are not it will lower the allocation until it gets to the minimum at which point if there are still not enough resources the query will queue. However, in most scenarios you do not want to set a separate minimum and maximum request grant because it could result in varying query runtimes based on how large of a grant the query is given at different times. Refer [Workload Management](https://docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/resource-classes-for-workload-management \"Workload management with resource classes in Azure Synapse Analytics\") for details.|\n\n\n## CTAS version for XL data warehouses\nWith this update we are also bringing a parallel copy of Synapse Analyzer report specifically targeted towards scenarios where Synapse Dedicated Pool database has greater than 20K tables and the normal refresh of synapse analyzer report times out after long period (greater than 5 hours)\n\nFor this version of the report the Synapse Admin has to run the Create table script on the dedicated Pool database which is being analyzed. The script will \n\n- a. Create new schema named “SynapseAnalyzer” under same database\n- b. Execute Create Table as Select (CTAS) statements to create tables in SynapseAnalyzer schema and prepopulate it with details from the same database. \n- c. These tables are then used as source for the Power BI template file “Synapse best practice analyzer_with_CTAS.pbit” \n- d. The PBI template will then connect to SynapseAnalyzer schema and pull all the information from the tables that are prepopulated in above steps.  \n\n**Important**: You need to run the scripts in given order.\n\n1. The “CreateTablesForSynapseAnalyzer_CTAS.sql” script creates new schema named “SynapseAnalyzer” and then creates all required tables as a part of CTAS\n2. Only after  step 1 above is successfully complete you can use “Synapse best practice analyzer_with_CTAS.pbit” for creating report using the PBI template file.\n\n## Fixed error during desktop refresh \nFor many users, running load data through Power BI desktop, the “Load Data” used to turn out into following error. \n\n    All Tables\n    Loading blocked by failures with other queries.\n    ColumnstoreDensity\n    Query 'ColumnstoreDensity' (step 'Expanded All Tables') references other queries or steps, so it may not directly access a data source. Please rebuild this data combination.\n    StatsSummary\n    Loading blocked by failures with other queries.\n    TableSizes\n    Query 'TableSizes' (step 'Expanded All Tables') references other queries or steps, so it may not directly access a data source. Please rebuild this data combination.\n    …\n\nWhile there was a details section in Troubleshooting document on github location for troubleshooting this error, the overall first experience with tool was not optimal. With a new version of Synapse Analyzer report we have fixed this issue so you should not be getting the above error.\n\nIn future we plan to continue with more features and reports.\n\nThank you very much for using Synapse Analyzer. As always, we would be happy to receive any feedback you may have on the report. \n\n\n\n\n"
  },
  {
    "path": "Synapse_Toolkit/README.md",
    "content": "# Synapse Toolkit\n\n\tThe Synapse Toolkit is a set of stored procedures that help investigate\n\tcurrent activity on your Synapse Dedicated SQL Pool. sp_status is the overall\n\tsummary procedure that calls various other procedures to provide a picture\n\tof current activity. Use the detail_command columns to deep dive into a \n\tparticular session, query, or wait. \n\t\n\tList of SPs currently included:\n\t\tsp_status\n\t\tsp_concurrency\n\t\tsp_requests\n\t\tsp_requests_detail\n\t\tsp_sessions\n\t\tsp_sessions_detail\n\t\tsp_waits\n\t\tsp_waits_detail\n\t\tsp_datamovement\n\n- BETA Version includes new fields in the 'running queries' output to show cpu, IO, and cost metrics. These metrics are being tested for accuracy. \n    \n## Installation\n\nRun SynpaseToolkit.sql to create the stored procedures in dbo. If stored procedures with this name already exist they will overwrite them. \n\n## Using the Toolkit\n\nRun **EXEC sp_status** to get an overview of system activity. Then use the comands provided in the last column(s) to dive deeper.\n\nFor the best experience execute with SSMS\n\n![sp_status_screenshot](/Collateral/Screenshots/SynapseToolkit/sp_status_screenshot.png)\n\nSp_status runs 4 separate queries to give you an overall picture of your current workload. Some of the results provide you with the query to deep-dive further into that request’s execution.\n\t\n### Workload state\n\n* **resource_allocated_percentage:** The total percentage of resources utilized by all running queries. In this case there are 4 queries running, each with a 24% allocation for a total of 96% allocation. \n\n* **active_sessions:** The number of currently active sessions\n\n* **idle_sessions:** The number of sessions that are not active, but have not been closed\n\n* **running_queries:** Total number of executing queries, this does not include suspended queries. \n\n* **queued_queries:** Total number of queries that are in the suspended state\n\n* **concurrency_waits:** Number of queued queries that are waiting on concurrency resources to free up. In this case there are 2 queued queries, 1 of them is waiting on concurrency. \n\n* **object_waits:** Number of queued queries that are waiting on objects. In this case of the 2 queued queries, one of them is queued because there is an object lock it was not able to obtain. Queries waiting on objects may later be blocked by concurrency, but they cannot proceed until they are able to get locks on the required objects. \n\t\n### Running Requests\n\nThis result shows all currently executing queries against your system. The result only includes queries that have an actual execution plan so it will not show parent-level queries like batches. Column-level detail for running requests can be found on the sys.dm_pdw_exec_requests documentation page. The result also provides you with two extra columns to help further investigation: \n\n* **request_detail_command:** Executing this query will allow you to deep-dive into the execution plan of this query. You will see the entire plan at the distribution-level along with row counts for each distribution. \n\t\n* **session_detail_command:** Executing this query will show you all queries for this session. \n\n### Suspended requests\n\nSuspended requests shows detail about suspended queries and why they are in the suspended state. There are 4 columns added to help identify why these are queued:\n\n* **Concurrency_waits:** A non-zero value for this column means the query is suspended because there are not enough resources free to service this request. This is related to ‘resource_allocated_percentage’ in the first result. \n\n* **Object_waits:** A non-zero value in this column means the query is suspended because there is at least one object it was not able to obtain a lock on\n\n* **Waits_detail_command:** The command provided here allows you to investigate what objects are blocked and what query is blocking them. For a concurrency wait this will return no results since it is just waiting on resource percentage to free up\n\n* **Session_detail_command:** Executing this query will show you all queries for this session\n\n### Data Movement\nThis is perhaps the best indicator of what the heaviest queries currently executing are. Data movement can be a heavy operation, so queries that are performing a large amount of data movement are causing a lot of utilization of the service resources. If you are seeing resource issues and slowness, killing the first query in this result is most likely to free up resources. \n\n* **Step_rows_processed:** the number of rows that have been moved so far by this currently executing step of the query\n\n* **Step_GB_Processed:** how many gigabytes of data have been moved between distributions. \n\n* **Request_detail_command:** Executing this command will show the entire detailed query plan for this query including data movement for each distribution on each step. \n"
  },
  {
    "path": "Synapse_Toolkit/SynapseToolkit.sql",
    "content": "/***************************************************************************\n\tSynapse Toolkit v1.1, 06/13/22 \n\t\n\tThe Synapse Toolkit is a set of stored procedures that help investigate\n\tcurrent activity on your Synapse Dedicated SQL Pool. sp_status is the overall\n\tsummary procedure that calls various other procedures to provide a picture\n\tof current activity. Use the detail_command columns to deep dive into a \n\tparticular session, query, or wait. \n\t\n\tList of SPs currently included:\n\t\tsp_status\n\t\tsp_concurrency\n\t\tsp_requests\n\t\tsp_reqeusts_detail\n\t\tsp_sessions\n\t\tsp_sessions_detail\n\t\tsp_waits\n\t\tsp_waits_detail\n\t\tsp_datamovement\n\t\n****************************************************************************/\n\n\n\n/***************************************************************************\n\tProcedure name: sp_status\n\tDescription: \n\t\tRuns a few of the included SPs to give overall system utilization.\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_status')\n    EXEC ('CREATE PROC dbo.sp_status AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_status] AS\n\nPRINT 'Synapse Toolkit v1.1, 06/13/22'\n\nEXEC sp_concurrency;\nEXEC sp_requests;\nEXEC sp_datamovement\n--EXEC sp_sessions\n\nGO\n\n/***************************************************************************\n\tProcedure name: sp_requests\n\tDescription: \n\t\tCollects running requests and suspended requests in two separate result windows.\n\t\tA running request provides a sp_requests_details query to see the plan for the \n\t\trunning query. A suspended request provides the sp_waits_detail query so you can \n\t\tsee why the query is in the suspended state. \n\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_requests')\n    EXEC ('CREATE PROC dbo.sp_requests AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_requests] AS\nSELECT \n\t'Running Request' AS 'Running Requests'\n\t,s.session_id\n\t,r.request_id\n\t,s.login_name\n\t,r.submit_time\n\t,r.end_compile_time\n\t,r.total_elapsed_time\n\t,r.[label]\n\t,r.classifier_name\n\t,r.group_name\n\t,r.resource_allocation_percentage AS 'allocation_%'\n\t,ISNULL(r.command2, r.command) AS 'query_text'\n\t,r.result_cache_hit\n\t,'EXEC sp_requests_detail @request_id=''' + r.request_id + '''' AS 'request_detail_command'\n\t,'EXEC sp_sessions_detail @session_id=''' + r.session_id + '''' AS 'session_detail_command'\nFROM sys.dm_pdw_exec_requests r\nJOIN sys.dm_pdw_exec_sessions s\non r.session_id = s.session_id\nWHERE (r.group_name is not null OR r.result_cache_hit = 1)\nAND r.[status] = 'Running'\nOPTION(LABEL='SynapseToolkit')\n\nSELECT 'Suspended Request' AS 'Suspended Requests'\n\t,s.session_id\n\t,r.request_id\n\t,s.login_name\n\t,r.submit_time\n\t,r.total_elapsed_time AS 'wait_time'\n\t,r.[label]\n\t,r.classifier_name\n\t,ISNULL(r.command2, r.command) AS 'query_text'\n\t,w.resource_waits AS 'concurrency_waits'\n\t,w.object_waits AS 'object_waits'\n\t,'EXEC sp_waits_detail @request_id=''' + r.request_id + '''' AS 'waits_detail'\n\t,'EXEC sp_sessions_detail @session_id=''' + r.session_id + '''' AS 'session_detail_command'\nFROM sys.dm_pdw_exec_requests r\nJOIN sys.dm_pdw_exec_sessions s\non r.session_id = s.session_id\nLEFT JOIN (\n\tSELECT \n\trequest_id\n\t,SUM(CASE WHEN object_type = 'SYSTEM' THEN 1 ELSE 0 END) AS resource_waits \n\t,SUM(CASE WHEN object_type != 'SYSTEM' THEN 1 ELSE 0 END) AS object_waits\n\tFROM sys.dm_pdw_waits\n\tWHERE state != 'Granted'\n\tGROUP BY request_id\n) w\nON r.request_id = w.request_id\nWHERE r.[status] = 'Suspended'\nOPTION(LABEL='SynapseToolkit')\nGO\n\n/***************************************************************************\n\tProcedure name: sp_requests_detail\n\tDescription: \n\t\tProvides the detailed query plan for the specified requestID. This shows\n\t\ta results at the distribution-level. Use Step_index to determine \n\t\twhich step you are looking at. \n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_requests_detail')\n    EXEC ('CREATE PROC dbo.sp_requests_detail AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_requests_detail] @request_id [varchar](20) AS\n--Query Step Data\nSELECT \n\t'Query Plan' AS 'Query Plan'\n\t,rs.request_id\n\t,rs.step_index\n\t,rs.operation_type\n\t,rs.[status] AS 'step_status'\n\t,rs.estimated_rows AS 'step_estimated_rows'\n\t,rs.row_count AS 'step_actual_rows'\n\t,rs.total_elapsed_time AS 'step_elapsed_time'\n\t,dist.pdw_node_id\n\t,dist.distribution_id\n\t,dist.[type] AS 'distribution_step_type'\n\t,dist.[status] AS 'distribution_step_status'\n\t,dist.total_elapsed_time AS 'distribution_elapsed_time'\n\t,dist.bytes_per_sec\n\t,dist.bytes_processed\n\t,dist.row_count\n\t,dist.start_time\n\t,dist.end_time\n\t,dist.spid\n\t,rs.command\n\t,dist.error_id\n FROM \n\t(--dms\n\tSELECT \n\t\trequest_id\n\t\t,step_index\n\t\t,pdw_node_id\n\t\t,distribution_id\n\t\t,type\n\t\t,status\n\t\t,start_time\n\t\t,end_time\n\t\t,total_elapsed_time\n\t\t,command\n\t\t,error_id\n\t\t,sql_spid AS spid\n\t\t,bytes_per_sec\n\t\t,bytes_processed\n\t\t,rows_processed AS row_count\n\t\t,command AS dist_text\n\tFROM sys.dm_pdw_dms_workers\n\tWHERE request_id = @request_id\n\n\tUNION ALL\n\t\n\t--sql\n\tSELECT \n\t\trequest_id\n\t\t,step_index\n\t\t,pdw_node_id\n\t\t,distribution_id\n\t\t,'SQL' AS type\n\t\t,[status]\n\t\t,start_time\n\t\t,end_time\n\t\t,total_elapsed_time\n\t\t,command\n\t\t,error_id\n\t\t,spid\n\t\t,-1 AS bytes_per_sec\n\t\t,-1 AS bytes_processed\n\t\t,row_count\n\t\t,command AS dist_text\n\tFROM sys.dm_pdw_sql_requests \n\tWHERE request_id = @request_id\n\tAND command not like '%DISTRIBUTED_MOVE%'\n\t) dist\nRIGHT JOIN sys.dm_pdw_request_steps rs\n\tON rs.request_id = dist.request_id\n\tAND rs.step_index = dist.step_index\nWHERE rs.request_id = @request_id\nORDER BY rs.step_index,dist.pdw_node_id,dist.distribution_id\nOPTION(LABEL='SynapseToolkit')\nGO\n\n/***************************************************************************\n\tProcedure name: sp_waits\n\tDescription: \n\t\tCollects information on granted and queued object and resource (concurrency)\n\t\twaits. Provides statements for waits_detail queries to get more information on \n\t\twhat is blocking what.\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_waits')\n    EXEC ('CREATE PROC dbo.sp_waits AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_waits] AS\n\t\t--Granted Object Locks\n\t\tSELECT 'Granted Object Lock' AS 'Granted Object Locks'\n\t\t\t\t,w.session_id\n\t\t\t\t,w.request_id\n\t\t\t\t,r.[status] AS 'request_status'\n\t\t\t\t,w.[state] AS 'wait_state'\n\t\t\t\t,w.[type]\n\t\t\t\t,w.object_type\n\t\t\t\t,w.[object_name]\n\t\t\t\t,r.importance\n\t\t\t\t,r.classifier_name\n\t\t\t\t,r.group_name\n\t\t\t\t,w.priority\n\t\t\t\t,w.request_time\n\t\t\t\t,w.acquire_time\n\t\t\t\t,r.total_elapsed_time AS 'request_elapsed_time'\n\t\t\t\t,r.[label]\n\t\t\t\t,ISNULL(r.command2, r.command) AS 'query_text'\n\t\t\t\t--,'EXEC sp_waits_detail @request_id=''' + w.request_id + '''' AS 'detail_command'\n\t\t\t\tFROM sys.dm_pdw_waits w\n\t\t\t\tJOIN sys.dm_pdw_exec_requests r \n\t\t\t\tON w.request_id = r.request_id\n\t\t\t\tWHERE w.object_type != 'SYSTEM'\n\t\t\t\tAND w.[state]='Granted'\n\t\t\t\tAND r.[status] != 'Completed'\n\t\t\t\tAND w.session_id != SESSION_ID()\n\t\t\t\tORDER BY r.[status],r.start_time,r.submit_time,w.priority asc\n\t\t\t\tOPTION(LABEL='SynapseToolkit')\n\n\t\t--Queued Locks\n\t\t\t\tSELECT 'Queued Object Lock' AS 'Queued Object Locks'\n\t\t\t\t,w.session_id\n\t\t\t\t,w.request_id\n\t\t\t\t,r.[status] AS 'request_status'\n\t\t\t\t,w.[state] AS 'wait_state'\n\t\t\t\t,w.[type]\n\t\t\t\t,w.object_type\n\t\t\t\t,w.[object_name]\n\t\t\t\t,r.importance\n\t\t\t\t,r.classifier_name\n\t\t\t\t,r.group_name\n\t\t\t\t,w.priority\n\t\t\t\t,w.request_time\n\t\t\t\t,w.acquire_time\n\t\t\t\t,r.total_elapsed_time AS 'request_elapsed_time'\n\t\t\t\t,r.[label]\n\t\t\t\t,ISNULL(r.command2, r.command)  AS 'query_text'\n\t\t\t\t,'EXEC sp_waits_detail @request_id=''' + w.request_id + '''' AS 'detail_command'\n\t\t\t\tFROM sys.dm_pdw_waits w\n\t\t\t\tJOIN sys.dm_pdw_exec_requests r \n\t\t\t\tON w.request_id = r.request_id\n\t\t\t\tWHERE w.object_type != 'SYSTEM'\n\t\t\t\tAND w.[state]!='Granted'\n\t\t\t\tAND r.[status] != 'Completed'\n\t\t\t\tORDER BY r.[status],r.start_time,r.submit_time,w.priority asc\n\t\t\t\tOPTION(LABEL='SynapseToolkit')\n\n\t\t\t\t--Granted concurrency waits\n\t\t\t\tSELECT 'Granted Concurrency Wait' AS 'Granted Concurrency Waits'\n\t\t\t,w.session_id\n\t\t\t,w.request_id\n\t\t\t,r.[status] AS 'request_status'\n\t\t\t,w.[state] AS 'wait_state'\n\t\t\t,r.resource_allocation_percentage\n\t\t\t,r.importance\n\t\t\t,r.classifier_name\n\t\t\t,r.group_name\n\t\t\t,w.priority\n\t\t\t,w.request_time\n\t\t\t,w.acquire_time\n\t\t\t,r.total_elapsed_time AS 'request_elapsed_time'\n\t\t\t,r.[label]\n\t\t\t,ISNULL(r.command2, r.command)  AS 'query_text'\n\t\tFROM sys.dm_pdw_waits w\n\t\tJOIN sys.dm_pdw_exec_requests r\n\t\ton w.request_id = r.request_id\n\t\tWHERE object_type = 'SYSTEM'\n\t\tAND w.[state]='Granted'\n\t\tAND w.[type] NOT IN ('ConcurrencyResourceType','LocalQueriesConcurrencyResourceType')\n\t\tORDER BY w.session_id,w.request_id,w.wait_id\n\t\tOPTION(LABEL='SynapseToolkit')\n\n\t\t--Queued concurrency waits\n\t\tSELECT 'Queued Concurrency Wait' AS 'Queued Concurrency Waits'\n\t\t\t,w.session_id\n\t\t\t,w.request_id\n\t\t\t,r.[status] AS 'request_status'\n\t\t\t,w.[state] AS 'wait_state'\n\t\t\t,r.resource_allocation_percentage\n\t\t\t,r.importance\n\t\t\t,r.classifier_name\n\t\t\t,r.group_name\n\t\t\t,w.priority\n\t\t\t,w.request_time\n\t\t\t,w.acquire_time\n\t\t\t,r.total_elapsed_time AS 'request_elapsed_time'\n\t\t\t,r.[label]\n\t\t\t,ISNULL(r.command2, r.command)  AS 'query_text'\n\t\tFROM sys.dm_pdw_waits w\n\t\tJOIN sys.dm_pdw_exec_requests r\n\t\ton w.request_id = r.request_id\n\t\tWHERE object_type = 'SYSTEM'\n\t\tAND w.[state]!='Granted'\n\t\tAND w.[type] NOT IN ('ConcurrencyResourceType','LocalQueriesConcurrencyResourceType')\n\t\tORDER BY w.session_id,w.request_id,w.wait_id\n\t\tOPTION(LABEL='SynapseToolkit')\n\t\nGO\n\n/***************************************************************************\n\tProcedure name: sp_waits_detail\n\tDescription: \n\tWhen providing a suspended requestID:\n\t\tThis sp will return all queries that have object locks on the same objects\n\t\tthe provided query is queued on\n\tThis query returns a message if a query with no waiting object locks is provided\n\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_waits_detail')\n    EXEC ('CREATE PROC dbo.sp_waits_detail AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_waits_detail] @request_id [varchar](20) AS\n\n--If the provided statement is suspended, show what's blocking it\n\nIF (SELECT [status] FROM sys.dm_pdw_exec_requests WHERE request_id = @request_id) = 'Suspended'\n\tBEGIN\n\t\tIF (SELECT TOP 1 [object_type] FROM sys.dm_pdw_waits WHERE request_id = @request_id AND STATE != 'GRANTED' ) != 'SYSTEM'\n\t\tBEGIN\n\t\t\t--Queued Object Locks for provided query\n\t\t\tSELECT 'Blocked Object Lock' AS 'Blocked Object Locks'\n\t\t\t,session_id\n\t\t\t,request_id\n\t\t\t,wait_id\n\t\t\t,[state]\n\t\t\t,[type]\n\t\t\t,object_type\n\t\t\t,[object_name]\n\t\t\t,priority\n\t\t\t,request_time\n\t\t\t,acquire_time\n\t\t\tFROM sys.dm_pdw_waits\n\t\t\tWHERE object_type != 'SYSTEM'\n\t\t\tAND [state]!='Granted'\n\t\t\tAND request_id = @request_id\n\t\t\tORDER BY session_id,wait_id\n\t\t\tOPTION(LABEL='SynapseToolkit')\n\t\t\n\t\t\t--Granted Locks on the same objects as in query\n\t\t\tSELECT 'Possible Blocker' AS 'Possible Blockers'\n\t\t\t,w2.session_id\n\t\t\t,w2.request_id\n\t\t\t,w2.wait_id\n\t\t\t,w2.[state]\n\t\t\t,w2.[type]\n\t\t\t,w2.object_type\n\t\t\t,w2.[object_name]\n\t\t\t,w2.priority\n\t\t\t,w2.request_time\n\t\t\t,w2.acquire_time \n\t\t\t,'EXEC sp_requests_detail @request_id=''' + w2.request_id + '''' AS 'request_detail_command'\n\t\t\t,'EXEC sp_sessions_detail @session_id=''' + w2.session_id + '''' AS 'session_detail_command'\n\t\t\tFROM sys.dm_pdw_waits w1\n\t\t\tJOIN sys.dm_pdw_waits w2\n\t\t\tON w1.[object_name] = w2.[object_name]\n\t\t\tWHERE w1.request_id = @request_id\n\t\t\tAND w2.[state] = 'Granted'\n\t\t\tORDER BY w2.session_id,w2.wait_id\n\t\t\tOPTION(LABEL='SynapseToolkit')\n\t\tEND\n\n\tEND\n\tELSE\n\t\tBEGIN\n\t\t\tSELECT 'No queued object Locks found for ' + @request_id AS 'Message'\n\t\tEND\n\nGO\n\n\n\n/***************************************************************************\n\tProcedure name: sp_concurrency\n\tDescription: \n\t\tShows general information about how many queries are running/suspended\n\t\tand how many queued object locks or resource (concurrency) locks. Also \n\t\tshows the currentl percentage of resources allocated to running queries\n\t\tby workload group assignment\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_concurrency')\n    EXEC ('CREATE PROC dbo.sp_concurrency AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_concurrency] AS \n\nSELECT\n\tsum(case when r.status = 'Running' then r.resource_allocation_percentage else 0 end) as 'resource_allocated_percentage'\n\t--,sum(case when s.status = 'Active' then 1 else 0 end) as 'active_sessions'\n\t--sum(case when s.status = 'Idle' then 1 else 0 end) as 'idle_sessions'\n\t,(SELECT count(1) FROM sys.dm_pdw_exec_sessions where status = 'Active') AS 'active_sessions'\n\t,(SELECT count(1) FROM sys.dm_pdw_exec_sessions where status = 'Idle') AS 'idle_sessions'\n\t,sum(case when r.status = 'Running' AND (r.group_name is not null OR r.result_cache_hit = 1) then 1 else 0 end) as running_queries\n\t,sum(case when r.status = 'suspended' then 1 else 0 end) as queued_queries\n\t,sum(case when w.queued_resource_waits > 0 then 1 else 0 end) AS concurrency_waits\n\t,sum(case when w.queued_object_locks > 0 then 1 else 0 end) AS object_waits\nFROM \nsys.dm_pdw_exec_requests r\nJOIN sys.dm_pdw_exec_sessions s\nON r.session_id = s.session_id\nLEFT JOIN (\n\tSELECT \n\t\trequest_id\n\t\t,count(request_id) AS queued_locks\n\t\t,sum(case when object_type = 'system' then 1 else 0 end) as queued_resource_waits\n\t\t,sum(case when object_type != 'system' then 1 else 0 end) as queued_object_locks\n\tFROM sys.dm_pdw_waits\n\tWHERE state != 'Granted'\n\tGROUP BY request_id\n\t) w\nON w.request_id = r.request_id\nOPTION(LABEL='SynapseToolkit')\n\n\n\nGO\n/***************************************************************************\n\tProcedure name: sp_datamovement\n\tDescription: \n\t\tShows all data movement currently happening in order from largest to \n\t\tsmallest. The items at the top of this list are likely the most resource-\n\t\tintensive queries currently running. \n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_datamovement')\n    EXEC ('CREATE PROC dbo.sp_datamovement AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC sp_datamovement AS\n\nWITH step_data AS \n(\n\tSELECT \n\t\tSUM(rows_processed) AS Step_Rows_Processed\n\t\t, SUM(Bytes_processed) AS Step_Bytes_Processed\n\t\t, max(total_elapsed_time) AS Step_elapsed_time\n\t\t, request_id\n\t\t, step_index\n\t\t, status \n\t\t--, type\n\tFROM sys.dm_pdw_dms_workers \n\tWHERE status != 'StepComplete'\n\tGroup by \n\t\t  request_id\n\t\t, step_index\n\t\t, status\n\t\t--, type\n) \nSELECT \n\t'Data Movement' AS 'Data Movements'\n\t,s.login_name\n\t,step_data.request_id\n\t, per.session_id\n\t, rs.operation_type\n\t, (step_data.Step_elapsed_time/1000/60) AS 'step_elapsed_time_(m)'\n\t, step_data.Step_rows_processed\n\t, step_data.step_bytes_processed\n\t, (step_data.Step_Bytes_Processed/1024/1024/1024) AS Step_GB_Processed\n\t, step_data.step_index\n\t--, step_data.type\n\t, step_data.status as Step_status\n\t--, per.status AS QID_Status\n\t, per.total_elapsed_time/1000/60 as 'QID_elapsed_time(m)'\n\t, ISNULL(per.command2, per.command) AS 'QID_Command'\n\t, per.resource_class\n\t, per.importance\n\t,'EXEC sp_requests_detail @request_id=''' + per.request_id + '''' AS 'request_detail_command'\nFROM step_data\nLEFT JOIN sys.dm_pdw_exec_requests per\nON step_data.request_id = per.request_id\nJOIN sys.dm_pdw_exec_sessions s\nON per.session_id = s.session_id\nJOIN sys.dm_pdw_request_steps rs\nON step_data.request_id = rs.request_id\nAND step_data.step_index = rs.step_index\nWHERE per.status = 'Running'\nORDER BY step_data.Step_rows_processed DESC\nOPTION(LABEL='SynapseToolkit')\n\nGO\n/***************************************************************************\n\tProcedure name: sp_sessions\n\tDescription: status of all open sessions\n\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_sessions')\n    EXEC ('CREATE PROC dbo.sp_sessions AS SELECT ''TEMPORARY''')\n\nGO\n\nALTER PROC sp_sessions AS\n\nSELECT \n\t'Active Session' AS 'Active Sessions'\n\t,s.session_id\n\t,s.request_id\n\t,s.login_name\n\t,s.login_time\n\t,s.query_count\n\t,s.client_id\n\t,s.[app_name]\n\t,'EXEC sp_sessions_detail @session_id=''' + s.session_id + '''' AS 'detail_command'\nFROM sys.dm_pdw_exec_sessions s\nWHERE s.[status] = 'active'\norder by login_time asc\nOPTION(LABEL='SynapseToolkit')\n\nSELECT \n\t'Idle Session' AS 'Idle Sessions'\n\t,s.session_id\n\t,s.request_id\n\t,s.login_name\n\t,s.login_time\n\t,s.query_count\n\t,s.client_id\n\t,s.[app_name]\n\t,'EXEC sp_sessions_detail @session_id=''' + s.session_id + '''' AS 'detail_command'\nFROM sys.dm_pdw_exec_sessions s\nWHERE s.[status] = 'idle'\norder by login_time asc\nOPTION(LABEL='SynapseToolkit')\n\nGO\n\n/***************************************************************************\n\tProcedure name: sp_sessions_detail\n\tDescription: \n\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_sessions_detail')\n    EXEC ('CREATE PROC dbo.sp_sessions_detail AS SELECT ''TEMPORARY''')\n\nGO\n\nALTER PROC sp_sessions_detail @session_id [varchar](20) AS\n\nSELECT \n\tSession_id\n\t,request_id\n\t,[status]\n\t,submit_time\n\t,end_compile_time\n\t,start_time\n\t,end_time\n\t,total_elapsed_time/1000 AS 'total_elapsed_time_s'\n\t,[label]\n\t,error_id\n\t,command\n\t,command2\n\t,classifier_name\n\t,group_name\n\t,importance\n\t,resource_allocation_percentage\n\t,result_cache_hit\n\t,'EXEC sp_requests_detail @request_id=''' + request_id + '''' AS 'detail_command'\nFROM sys.dm_pdw_exec_requests\nWHERE session_id = @session_id\nORDER BY submit_time ASC\nOPTION(LABEL='SynapseToolkit')\n\n/***************************************************************************\n\tProcedure name: \n\tDescription: \n\n****************************************************************************/\n/*IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = '')\n    EXEC ('CREATE PROC dbo. AS SELECT ''TEMPORARY''')\nGO\n*/"
  },
  {
    "path": "Synapse_Toolkit/SynapseToolkit_beta.sql",
    "content": "/***************************************************************************\n\tSynapse Toolkit \n\t\n\tThe Synapse Toolkit is a set of stored procedures that help investigate\n\tcurrent activity on your Synapse Dedicated SQL Pool. sp_status is the overall\n\tsummary procedure that calls various other procedures to provide a picture\n\tof current activity. Use the detail_command columns to deep dive into a \n\tparticular session, query, or wait. \n\t\n\tList of SPs currently included:\n\t\tsp_status\n\t\tsp_concurrency\n\t\tsp_requests\n\t\tsp_reqeusts_detail\n\t\tsp_sessions\n\t\tsp_sessions_detail\n\t\tsp_waits\n\t\tsp_waits_detail\n\t\tsp_datamovement\n\t\n****************************************************************************/\n\n\n\n/***************************************************************************\n\tProcedure name: sp_status\n\tDescription: \n\t\tRuns a few of the included SPs to give overall system utilization.\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_status')\n    EXEC ('CREATE PROC dbo.sp_status AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_status] AS\n\nPRINT 'Synapse Toolkit v2.1_beta, 11/15/22' \n\nEXEC sp_concurrency;\nEXEC sp_requests;\nEXEC sp_datamovement\n\nGO\n\n/***************************************************************************\n\tProcedure name: sp_requests\n\tDescription: \n\t\tCollects running requests and suspended requests in two separate result windows.\n\t\tA running request provides a sp_requests_details query to see the plan for the \n\t\trunning query. A suspended request provides the sp_waits_detail query so you can \n\t\tsee why the query is in the suspended state. \n\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_requests')\n    EXEC ('CREATE PROC dbo.sp_requests AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_requests] AS\nSELECT\n\t'Running Request' AS 'Running Requests'\n\t,s.session_id\n\t,r.request_id\n\t--,r.status\n\t,r.command\n\t,r.resource_allocation_percentage AS 'resource_grant'\n\t,s.login_name\n\t,r.submit_time\n\t,r.end_compile_time\n\t,r.total_elapsed_time\n\t,r.[label]\n\t,r.classifier_name\n\t,r.group_name\n\t,ISNULL(r.command2, r.command) AS 'query_text'\n\t,r.result_cache_hit\n\t--,psr.step_index\n\t--,prs.operation_type\n\t--,prs.status\n\t,sum(ner.cpu_time)/1000 AS 'step_cpu_time'\n\t,sum(ner.reads) AS 'step_reads'\n\t,sum(ner.writes) AS 'step_writes'\n\t--,sum(ner.logical_reads) AS 'total_logical_reads'ok, i'\n\t,max(ner.granted_query_memory) AS 'step_total_granted_memory_pages'\n\t,round(log(sum(g.query_cost)),2) AS 'step_cost'\n\t,'EXEC sp_requests_detail @request_id=''' + r.request_id + '''' AS 'request_detail_command'\n\t,'EXEC sp_sessions_detail @session_id=''' + s.session_id + '''' AS 'session_detail_command'\nFROM sys.dm_pdw_exec_requests r\nJOIN sys.dm_pdw_exec_sessions s\n\ton r.session_id = s.session_id\nLEFT JOIN sys.dm_pdw_request_steps rs\n\tON r.request_id = rs.request_id\nLEFT JOIN sys.dm_pdw_sql_requests sr\n\tON rs.request_id = sr.request_id\n\tAND rs.step_index = sr.step_index\nLEFT JOIN sys.dm_pdw_nodes_exec_requests ner\n\tON sr.spid = ner.session_id\n\tAND sr.pdw_node_id = ner.pdw_node_id\nLEFT JOIN sys.dm_pdw_nodes_exec_query_memory_grants g\n\tON ner.session_id = g.session_id\n\tAND ner.pdw_node_id = g.pdw_node_id\nWHERE (r.group_name is not null OR r.result_cache_hit = 1)\nAND rs.[status] = 'Running'\nGROUP BY r.request_id\n\t--,r.[status]\n\t,r.request_id\n\t,r.status\n\t,r.command\n\t,r.command2\n\t,r.resource_allocation_percentage\n\t,s.session_id\n\t,s.login_name\n\t,r.submit_time\n\t,r.end_compile_time\n\t,r.total_elapsed_time\n\t,r.[label]\n\t,r.classifier_name\n\t,r.group_name\n\t--,ISNULL(r.command2, r.command)\n\t,r.result_cache_hit\nOPTION(LABEL='SynapseToolkit')\n\nSELECT 'Suspended Request' AS 'Suspended Requests'\n\t,s.session_id\n\t,r.request_id\n\t,s.login_name\n\t,r.submit_time\n\t,r.total_elapsed_time AS 'wait_time'\n\t,r.[label]\n\t,r.classifier_name\n\t,ISNULL(r.command2, r.command) AS 'query_text'\n\t,w.resource_waits AS 'concurrency_waits'\n\t,w.object_waits AS 'object_waits'\n\t,'EXEC sp_waits_detail @request_id=''' + r.request_id + '''' AS 'waits_detail'\n\t,'EXEC sp_sessions_detail @session_id=''' + r.session_id + '''' AS 'session_detail_command'\nFROM sys.dm_pdw_exec_requests r\nJOIN sys.dm_pdw_exec_sessions s\non r.session_id = s.session_id\nLEFT JOIN (\n\tSELECT \n\trequest_id\n\t,SUM(CASE WHEN object_type = 'SYSTEM' THEN 1 ELSE 0 END) AS resource_waits \n\t,SUM(CASE WHEN object_type != 'SYSTEM' THEN 1 ELSE 0 END) AS object_waits\n\tFROM sys.dm_pdw_waits\n\tWHERE state != 'Granted'\n\tGROUP BY request_id\n) w\nON r.request_id = w.request_id\nWHERE r.[status] = 'Suspended'\nOPTION(LABEL='SynapseToolkit')\nGO\n\n/***************************************************************************\n\tProcedure name: sp_requests_detail\n\tDescription: \n\t\tProvides the detailed query plan for the specified requestID. This shows\n\t\ta results at the distribution-level. Use Step_index to determine \n\t\twhich step you are looking at. \n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_requests_detail')\n    EXEC ('CREATE PROC dbo.sp_requests_detail AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_requests_detail] @request_id [varchar](20) AS\n--Query Step Data\nSELECT \n\t'Query Plan' AS 'Query Plan'\n\t,rs.request_id\n\t,rs.step_index\n\t,rs.operation_type\n\t,rs.[status] AS 'step_status'\n\t,rs.estimated_rows AS 'step_estimated_rows'\n\t,rs.row_count AS 'step_actual_rows'\n\t,rs.total_elapsed_time AS 'step_elapsed_time'\n\t,dist.pdw_node_id\n\t,dist.distribution_id\n\t,dist.[type] AS 'distribution_step_type'\n\t,dist.[status] AS 'distribution_step_status'\n\t,dist.total_elapsed_time AS 'distribution_elapsed_time'\n\t,dist.bytes_per_sec\n\t,dist.bytes_processed\n\t,dist.row_count\n\t,dist.start_time\n\t,dist.end_time\n\t,dist.spid\n\t,rs.command\n\t,dist.source_info AS 'distribution_source_command'\n\t,dist.error_id\n FROM \n\t(--dms\n\tSELECT \n\t\trequest_id\n\t\t,step_index\n\t\t,pdw_node_id\n\t\t,distribution_id\n\t\t,type\n\t\t,status\n\t\t,start_time\n\t\t,end_time\n\t\t,total_elapsed_time\n\t\t,command\n\t\t,error_id\n\t\t,sql_spid AS spid\n\t\t,bytes_per_sec\n\t\t,bytes_processed\n\t\t,rows_processed AS row_count\n\t\t,command AS dist_text\n\t\t,source_info\n\tFROM sys.dm_pdw_dms_workers\n\tWHERE request_id = @request_id\n\n\tUNION ALL\n\t\n\t--sql\n\tSELECT \n\t\trequest_id\n\t\t,step_index\n\t\t,pdw_node_id\n\t\t,distribution_id\n\t\t,'SQL' AS type\n\t\t,[status]\n\t\t,start_time\n\t\t,end_time\n\t\t,total_elapsed_time\n\t\t,command \n\t\t,-1 AS 'distribution_source_command'\n\t\t,error_id\n\t\t,spid\n\t\t,-1 AS bytes_per_sec\n\t\t,-1 AS bytes_processed\n\t\t,row_count\n\t\t,command AS dist_text\n\tFROM sys.dm_pdw_sql_requests \n\tWHERE request_id = @request_id\n\tAND command not like '%DISTRIBUTED_MOVE%'\n\t) dist\nRIGHT JOIN sys.dm_pdw_request_steps rs\n\tON rs.request_id = dist.request_id\n\tAND rs.step_index = dist.step_index\nWHERE rs.request_id = @request_id\nORDER BY rs.step_index,dist.pdw_node_id,dist.distribution_id,dist.type\nOPTION(LABEL='SynapseToolkit')\nGO\n\n/***************************************************************************\n\tProcedure name: sp_waits\n\tDescription: \n\t\tCollects information on granted and queued object and resource (concurrency)\n\t\twaits. Provides statements for waits_detail queries to get more information on \n\t\twhat is blocking what.\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_waits')\n    EXEC ('CREATE PROC dbo.sp_waits AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_waits] AS\n\t\t--Granted Object Locks\n\t\tSELECT 'Granted Object Lock' AS 'Granted Object Locks'\n\t\t\t\t,w.session_id\n\t\t\t\t,w.request_id\n\t\t\t\t,r.[status] AS 'request_status'\n\t\t\t\t,w.[state] AS 'wait_state'\n\t\t\t\t,w.[type]\n\t\t\t\t,w.object_type\n\t\t\t\t,w.[object_name]\n\t\t\t\t,r.importance\n\t\t\t\t,r.classifier_name\n\t\t\t\t,r.group_name\n\t\t\t\t,w.priority\n\t\t\t\t,w.request_time\n\t\t\t\t,w.acquire_time\n\t\t\t\t,r.total_elapsed_time AS 'request_elapsed_time'\n\t\t\t\t,r.[label]\n\t\t\t\t,ISNULL(r.command2, r.command) AS 'query_text'\n\t\t\t\t--,'EXEC sp_waits_detail @request_id=''' + w.request_id + '''' AS 'detail_command'\n\t\t\t\tFROM sys.dm_pdw_waits w\n\t\t\t\tJOIN sys.dm_pdw_exec_requests r \n\t\t\t\tON w.request_id = r.request_id\n\t\t\t\tWHERE w.object_type != 'SYSTEM'\n\t\t\t\tAND w.[state]='Granted'\n\t\t\t\tAND r.[status] != 'Completed'\n\t\t\t\tAND w.session_id != SESSION_ID()\n\t\t\t\tORDER BY r.[status],r.start_time,r.submit_time,w.priority asc\n\t\t\t\tOPTION(LABEL='SynapseToolkit')\n\n\t\t--Queued Locks\n\t\t\t\tSELECT 'Queued Object Lock' AS 'Queued Object Locks'\n\t\t\t\t,w.session_id\n\t\t\t\t,w.request_id\n\t\t\t\t,r.[status] AS 'request_status'\n\t\t\t\t,w.[state] AS 'wait_state'\n\t\t\t\t,w.[type]\n\t\t\t\t,w.object_type\n\t\t\t\t,w.[object_name]\n\t\t\t\t,r.importance\n\t\t\t\t,r.classifier_name\n\t\t\t\t,r.group_name\n\t\t\t\t,w.priority\n\t\t\t\t,w.request_time\n\t\t\t\t,w.acquire_time\n\t\t\t\t,r.total_elapsed_time AS 'request_elapsed_time'\n\t\t\t\t,r.[label]\n\t\t\t\t,ISNULL(r.command2, r.command)  AS 'query_text'\n\t\t\t\t,'EXEC sp_waits_detail @request_id=''' + w.request_id + '''' AS 'detail_command'\n\t\t\t\tFROM sys.dm_pdw_waits w\n\t\t\t\tJOIN sys.dm_pdw_exec_requests r \n\t\t\t\tON w.request_id = r.request_id\n\t\t\t\tWHERE w.object_type != 'SYSTEM'\n\t\t\t\tAND w.[state]!='Granted'\n\t\t\t\tAND r.[status] != 'Completed'\n\t\t\t\tORDER BY r.[status],r.start_time,r.submit_time,w.priority asc\n\t\t\t\tOPTION(LABEL='SynapseToolkit')\n\n\t\t\t\t--Granted concurrency waits\n\t\t\t\tSELECT 'Granted Concurrency Wait' AS 'Granted Concurrency Waits'\n\t\t\t,w.session_id\n\t\t\t,w.request_id\n\t\t\t,r.[status] AS 'request_status'\n\t\t\t,w.[state] AS 'wait_state'\n\t\t\t,r.resource_allocation_percentage\n\t\t\t,r.importance\n\t\t\t,r.classifier_name\n\t\t\t,r.group_name\n\t\t\t,w.priority\n\t\t\t,w.request_time\n\t\t\t,w.acquire_time\n\t\t\t,r.total_elapsed_time AS 'request_elapsed_time'\n\t\t\t,r.[label]\n\t\t\t,ISNULL(r.command2, r.command)  AS 'query_text'\n\t\tFROM sys.dm_pdw_waits w\n\t\tJOIN sys.dm_pdw_exec_requests r\n\t\ton w.request_id = r.request_id\n\t\tWHERE object_type = 'SYSTEM'\n\t\tAND w.[state]='Granted'\n\t\tAND w.[type] NOT IN ('ConcurrencyResourceType','LocalQueriesConcurrencyResourceType')\n\t\tORDER BY w.session_id,w.request_id,w.wait_id\n\t\tOPTION(LABEL='SynapseToolkit')\n\n\t\t--Queued concurrency waits\n\t\tSELECT 'Queued Concurrency Wait' AS 'Queued Concurrency Waits'\n\t\t\t,w.session_id\n\t\t\t,w.request_id\n\t\t\t,r.[status] AS 'request_status'\n\t\t\t,w.[state] AS 'wait_state'\n\t\t\t,r.resource_allocation_percentage\n\t\t\t,r.importance\n\t\t\t,r.classifier_name\n\t\t\t,r.group_name\n\t\t\t,w.priority\n\t\t\t,w.request_time\n\t\t\t,w.acquire_time\n\t\t\t,r.total_elapsed_time AS 'request_elapsed_time'\n\t\t\t,r.[label]\n\t\t\t,ISNULL(r.command2, r.command)  AS 'query_text'\n\t\tFROM sys.dm_pdw_waits w\n\t\tJOIN sys.dm_pdw_exec_requests r\n\t\ton w.request_id = r.request_id\n\t\tWHERE object_type = 'SYSTEM'\n\t\tAND w.[state]!='Granted'\n\t\tAND w.[type] NOT IN ('ConcurrencyResourceType','LocalQueriesConcurrencyResourceType')\n\t\tORDER BY w.session_id,w.request_id,w.wait_id\n\t\tOPTION(LABEL='SynapseToolkit')\n\t\nGO\n\n/***************************************************************************\n\tProcedure name: sp_waits_detail\n\tDescription: \n\tWhen providing a suspended requestID:\n\t\tThis sp will return all queries that have object locks on the same objects\n\t\tthe provided query is queued on\n\tThis query returns a message if a query with no waiting object locks is provided\n\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_waits_detail')\n    EXEC ('CREATE PROC dbo.sp_waits_detail AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_waits_detail] @request_id [varchar](20) AS\n\n--If the provided statement is suspended, show what's blocking it\n\nIF (SELECT [status] FROM sys.dm_pdw_exec_requests WHERE request_id = @request_id) = 'Suspended'\n\tBEGIN\n\t\tIF (SELECT TOP 1 [object_type] FROM sys.dm_pdw_waits WHERE request_id = @request_id AND STATE != 'GRANTED' ) != 'SYSTEM'\n\t\tBEGIN\n\t\t\t--Queued Object Locks for provided query\n\t\t\tSELECT 'Blocked Object Lock' AS 'Blocked Object Locks'\n\t\t\t,session_id\n\t\t\t,request_id\n\t\t\t,wait_id\n\t\t\t,[state]\n\t\t\t,[type]\n\t\t\t,object_type\n\t\t\t,[object_name]\n\t\t\t,priority\n\t\t\t,request_time\n\t\t\t,acquire_time\n\t\t\tFROM sys.dm_pdw_waits\n\t\t\tWHERE object_type != 'SYSTEM'\n\t\t\tAND [state]!='Granted'\n\t\t\tAND request_id = @request_id\n\t\t\tORDER BY session_id,wait_id\n\t\t\tOPTION(LABEL='SynapseToolkit')\n\t\t\n\t\t\t--Granted Locks on the same objects as in query\n\t\t\tSELECT 'Possible Blocker' AS 'Possible Blockers'\n\t\t\t,w2.session_id\n\t\t\t,w2.request_id\n\t\t\t,w2.wait_id\n\t\t\t,w2.[state]\n\t\t\t,w2.[type]\n\t\t\t,w2.object_type\n\t\t\t,w2.[object_name]\n\t\t\t,w2.priority\n\t\t\t,w2.request_time\n\t\t\t,w2.acquire_time \n\t\t\t,'EXEC sp_requests_detail @request_id=''' + w2.request_id + '''' AS 'request_detail_command'\n\t\t\t,'EXEC sp_sessions_detail @session_id=''' + w2.session_id + '''' AS 'session_detail_command'\n\t\t\tFROM sys.dm_pdw_waits w1\n\t\t\tJOIN sys.dm_pdw_waits w2\n\t\t\tON w1.[object_name] = w2.[object_name]\n\t\t\tWHERE w1.request_id = @request_id\n\t\t\tAND w2.[state] = 'Granted'\n\t\t\tORDER BY w2.session_id,w2.wait_id\n\t\t\tOPTION(LABEL='SynapseToolkit')\n\t\tEND\n\n\tEND\n\tELSE\n\t\tBEGIN\n\t\t\tSELECT 'No queued object Locks found for ' + @request_id AS 'Message'\n\t\tEND\n\nGO\n\n/***************************************************************************\n\tProcedure name:  sp_tempdb\n\tDescription: lists various information about tempdb usage\n\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_tempDB')\n    EXEC ('CREATE PROC dbo.sp_tempDB AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC sp_tempDB AS\n\n--Total TempDB Usage\nSELECT\n\t'Total TempDB usage' AS 'Total TempDB usage'\n\t,sum(pdw.rows_processed) as 'rows_written'\n\t,sum(pdw.bytes_processed) as 'bytes_written'\n\t,CAST(sum(pdw.bytes_processed)/1024.0/1024.0/1024.0 AS Decimal(10,1)) AS 'GB_written'\n\t,total_tempdb.total_tempdb_gb as 'Total_tempDB_size_GB'\n\t,CAST(((sum(pdw.bytes_processed)/1024.0/1024.0/1024.0)/total_tempdb.total_tempdb_gb)*100.0 AS Decimal(10,1)) AS 'approx_percent_used'\nFROM Sys.dm_pdw_dms_workers pdw\nJOIN sys.dm_pdw_exec_requests req\n\tON pdw.request_id = req.request_id\nJOIN (SELECT (count(1) * 1995) AS total_tempdb_gb FROM sys.dm_pdw_nodes WHERE type='COMPUTE') AS total_tempdb\n\tON 1=1\nWHERE pdw.type = 'Writer'\nAND req.status = 'running'\nGROUP BY total_tempdb.total_tempdb_gb\n\n/*\n--Tempdb usage per query\nSELECT \n\t'TempDB per query' AS 'TempDB per query'\n\t,req.request_id\n\t,sum(pdw.bytes_processed) as 'bytes_written'\n\t,CAST(sum(pdw.bytes_processed)/1024.0/1024.0/1024.0 AS Decimal(10,1)) AS 'GB_written'\n\t,sum(pdw.rows_processed) as 'rows_written'\n\t,'EXEC sp_requests_detail @request_id=''' + req.request_id + '''' AS 'request_detail_command'\nfrom\tSys.dm_pdw_dms_workers pdw\nJOIN sys.dm_pdw_exec_requests req\nON pdw.request_id = req.request_id\nWHERE pdw.type = 'Writer'\nAND req.status = 'running'\nGROUP BY req.request_id\nORDER BY bytes_written desc\n*/\n\n/***************************************************************************\n\tProcedure name:  sp_tempdb_node\n\tDescription: lists various information about tempdb usage\n\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_tempdb_node')\n    EXEC ('CREATE PROC dbo.sp_tempdb_node AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC sp_tempdb_node AS\n\n--Tempdb usage per node\nSELECT \n\t'TempDB per node' AS 'TempDB per node'\n\t,pdw.pdw_node_id\n\t,n.type\n\t,sum(pdw.bytes_processed) as 'bytes_written'\n\t,CAST(sum(pdw.bytes_processed)/1024.0/1024.0/1024.0 AS Decimal(10,1)) AS 'GB_written'\n\t,'1995' AS 'Total_tempDB_size_GB'\n\t,CAST(((sum(pdw.bytes_processed)/1024.0/1024.0/1024.0)/1995.0)*100 AS Decimal(10,1)) AS 'percent_used'\n\t,sum(pdw.rows_processed) as 'rows_written'\nFROM sys.dm_pdw_nodes n\nLEFT JOIN Sys.dm_pdw_dms_workers pdw\n\tON n.pdw_node_id = pdw.pdw_node_id\nLEFT JOIN sys.dm_pdw_exec_requests req\n\tON pdw.request_id = req.request_id\nWHERE pdw.type = 'Writer'\nAND req.status = 'running'\nGROUP BY n.type,pdw.pdw_node_id\nORDER BY bytes_written desc\n\n/***************************************************************************\n\tProcedure name: sp_concurrency\n\tDescription: \n\t\tShows general information about how many queries are running/suspended\n\t\tand how many queued object locks or resource (concurrency) locks. Also \n\t\tshows the currentl percentage of resources allocated to running queries\n\t\tby workload group assignment\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_concurrency')\n    EXEC ('CREATE PROC dbo.sp_concurrency AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_concurrency] AS \n\nSELECT\n\tsum(case when r.status = 'Running' then r.resource_allocation_percentage else 0 end) as 'total_resources_granted'\n\t,tempdb_metrics.percent_used as 'approx_tempdb_used_percent'\n\t--,sum(case when s.status = 'Active' then 1 else 0 end) as 'active_sessions'\n\t--sum(case when s.status = 'Idle' then 1 else 0 end) as 'idle_sessions'\n\t,(SELECT count(1) FROM sys.dm_pdw_exec_sessions where status = 'Active') AS 'active_sessions'\n\t,(SELECT count(1) FROM sys.dm_pdw_exec_sessions where status = 'Idle') AS 'idle_sessions'\n\t,sum(case when r.status = 'Running' AND (r.group_name is not null OR r.result_cache_hit = 1) then 1 else 0 end) as running_queries\n\t,sum(case when r.status = 'suspended' then 1 else 0 end) as queued_queries\n\t,sum(case when w.queued_resource_waits > 0 then 1 else 0 end) AS concurrency_waits\n\t,sum(case when w.queued_object_locks > 0 then 1 else 0 end) AS object_waits\n\t,'EXEC sp_tempdb' AS 'tempdb_usage_detail'\nFROM \nsys.dm_pdw_exec_requests r\nJOIN sys.dm_pdw_exec_sessions s\nON r.session_id = s.session_id\nLEFT JOIN (\n\tSELECT \n\t\trequest_id\n\t\t,count(request_id) AS queued_locks\n\t\t,sum(case when object_type = 'system' then 1 else 0 end) as queued_resource_waits\n\t\t,sum(case when object_type != 'system' then 1 else 0 end) as queued_object_locks\n\tFROM sys.dm_pdw_waits\n\tWHERE state != 'Granted'\n\tGROUP BY request_id\n\t) w\nON w.request_id = r.request_id\nJOIN (\n\tSELECT \n\t\tsum(pdw.bytes_processed) as 'bytes_written'\n\t\t,CAST(sum(pdw.bytes_processed)/1024.0/1024.0/1024.0 AS Decimal(10,1)) AS 'GB_written'\n\t\t,sum(pdw.rows_processed) as 'rows_written'\n\t\t,total_tempdb.total_tempdb_gb\n\t\t,CAST(((sum(pdw.bytes_processed)/1024.0/1024.0/1024.0)/total_tempdb.total_tempdb_gb)*100.0 AS Decimal(10,1)) AS 'percent_used'\n\t\tFROM Sys.dm_pdw_dms_workers pdw\n\t\tJOIN sys.dm_pdw_exec_requests req\n\t\t\tON pdw.request_id = req.request_id\n\t\tJOIN (SELECT (count(1) * 1995) AS total_tempdb_gb FROM sys.dm_pdw_nodes WHERE type='COMPUTE') AS total_tempdb\n\t\tON 1=1\n\t\tWHERE pdw.type = 'Writer'\n\t\tAND req.status = 'running'\n\t\tGROUP BY total_tempdb.total_tempdb_gb\n\t\t) AS tempdb_metrics\nON 1=1\nGROUP BY tempdb_metrics.percent_used\nOPTION(LABEL='SynapseToolkit')\n\n\n\nGO\n/***************************************************************************\n\tProcedure name: sp_datamovement\n\tDescription: \n\t\tShows all data movement currently happening in order from largest to \n\t\tsmallest. The items at the top of this list are likely the most resource-\n\t\tintensive queries currently running. \n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_datamovement')\n    EXEC ('CREATE PROC dbo.sp_datamovement AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC sp_datamovement AS\n\nWITH step_data AS \n(\n\tSELECT \n\t\tSUM(rows_processed) AS Step_Rows_Processed\n\t\t, SUM(Bytes_processed) AS Step_Bytes_Processed\n\t\t, max(total_elapsed_time) AS Step_elapsed_time\n\t\t, request_id\n\t\t, step_index\n\t\t, status \n\t\t--, type\n\tFROM sys.dm_pdw_dms_workers \n\tWHERE status != 'StepComplete'\n\tAND type != 'Writer' --including writers gives you double counts on operations\n\tGroup by \n\t\t  request_id\n\t\t, step_index\n\t\t, status\n) \nSELECT \n\t'Data Movement' AS 'Data Movements'\n\t,s.login_name\n\t,step_data.request_id\n\t, per.session_id\n\t, rs.operation_type\n\t, (step_data.Step_elapsed_time/1000/60) AS 'step_elapsed_time_(m)'\n\t, step_data.Step_rows_processed\n\t--, step_data.step_bytes_processed\n\t, (step_data.Step_Bytes_Processed/1024/1024/1024) AS Step_GB_Processed\n\t, step_data.step_index\n\t--, step_data.type\n\t, step_data.status as Step_status\n\t--, per.status AS QID_Status\n\t, per.total_elapsed_time/1000/60 as 'QID_elapsed_time(m)'\n\t, ISNULL(per.command2, per.command) AS 'QID_Command'\n\t, per.resource_class\n\t, per.importance\n\t,'EXEC sp_requests_detail @request_id=''' + per.request_id + '''' AS 'request_detail_command'\nFROM step_data\nLEFT JOIN sys.dm_pdw_exec_requests per\nON step_data.request_id = per.request_id\nJOIN sys.dm_pdw_exec_sessions s\nON per.session_id = s.session_id\nJOIN sys.dm_pdw_request_steps rs\nON step_data.request_id = rs.request_id\nAND step_data.step_index = rs.step_index\nWHERE per.status = 'Running'\nORDER BY step_data.Step_rows_processed DESC\nOPTION(LABEL='SynapseToolkit')\n\nGO\n/***************************************************************************\n\tProcedure name: sp_sessions\n\tDescription: status of all open sessions\n\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_sessions')\n    EXEC ('CREATE PROC dbo.sp_sessions AS SELECT ''TEMPORARY''')\n\nGO\n\nALTER PROC sp_sessions AS\n\nSELECT \n\t'Active Session' AS 'Active Sessions'\n\t,s.session_id\n\t,s.request_id\n\t,s.login_name\n\t,s.login_time\n\t,s.query_count\n\t,s.client_id\n\t,s.[app_name]\n\t,'EXEC sp_sessions_detail @session_id=''' + s.session_id + '''' AS 'detail_command'\nFROM sys.dm_pdw_exec_sessions s\nWHERE s.[status] = 'active'\norder by login_time asc\nOPTION(LABEL='SynapseToolkit')\n\nSELECT \n\t'Idle Session' AS 'Idle Sessions'\n\t,s.session_id\n\t,s.request_id\n\t,s.login_name\n\t,s.login_time\n\t,s.query_count\n\t,s.client_id\n\t,s.[app_name]\n\t,'EXEC sp_sessions_detail @session_id=''' + s.session_id + '''' AS 'detail_command'\nFROM sys.dm_pdw_exec_sessions s\nWHERE s.[status] = 'idle'\norder by login_time asc\nOPTION(LABEL='SynapseToolkit')\n\nGO\n\n/***************************************************************************\n\tProcedure name: sp_sessions_detail\n\tDescription: \n\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_sessions_detail')\n    EXEC ('CREATE PROC dbo.sp_sessions_detail AS SELECT ''TEMPORARY''')\n\nGO\n\nALTER PROC sp_sessions_detail @session_id [varchar](20) AS\n\nSELECT \n\tSession_id\n\t,request_id\n\t,[status]\n\t,submit_time\n\t,end_compile_time\n\t,start_time\n\t,end_time\n\t,total_elapsed_time/1000 AS 'total_elapsed_time_s'\n\t,[label]\n\t,error_id\n\t,command\n\t,command2\n\t,classifier_name\n\t,group_name\n\t,importance\n\t,resource_allocation_percentage\n\t,result_cache_hit\n\t,'EXEC sp_requests_detail @request_id=''' + request_id + '''' AS 'detail_command'\nFROM sys.dm_pdw_exec_requests\nWHERE session_id = @session_id\nORDER BY submit_time ASC\nOPTION(LABEL='SynapseToolkit')\n\n\n\n/***************************************************************************\n\tProcedure name: \n\tDescription: \n\n****************************************************************************/\n/*IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = '')\n    EXEC ('CREATE PROC dbo. AS SELECT ''TEMPORARY''')\nGO\n*/"
  },
  {
    "path": "Synapse_Toolkit/SynapseToolkit_beta.sql.bak",
    "content": "/***************************************************************************\n\tSynapse Toolkit \n\t\n\tThe Synapse Toolkit is a set of stored procedures that help investigate\n\tcurrent activity on your Synapse Dedicated SQL Pool. sp_status is the overall\n\tsummary procedure that calls various other procedures to provide a picture\n\tof current activity. Use the detail_command columns to deep dive into a \n\tparticular session, query, or wait. \n\t\n\tList of SPs currently included:\n\t\tsp_status\n\t\tsp_concurrency\n\t\tsp_requests\n\t\tsp_reqeusts_detail\n\t\tsp_sessions\n\t\tsp_sessions_detail\n\t\tsp_waits\n\t\tsp_waits_detail\n\t\tsp_datamovement\n\t\n****************************************************************************/\n\n\n\n/***************************************************************************\n\tProcedure name: sp_status\n\tDescription: \n\t\tRuns a few of the included SPs to give overall system utilization.\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_status')\n    EXEC ('CREATE PROC dbo.sp_status AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_status] AS\n\nPRINT 'Synapse Toolkit v2.1_beta, 11/15/22' \n\nEXEC sp_concurrency;\nEXEC sp_requests;\nEXEC sp_datamovement\n\nGO\n\n/***************************************************************************\n\tProcedure name: sp_requests\n\tDescription: \n\t\tCollects running requests and suspended requests in two separate result windows.\n\t\tA running request provides a sp_requests_details query to see the plan for the \n\t\trunning query. A suspended request provides the sp_waits_detail query so you can \n\t\tsee why the query is in the suspended state. \n\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_requests')\n    EXEC ('CREATE PROC dbo.sp_requests AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_requests] AS\nSELECT\n\t'Running Request' AS 'Running Requests'\n\t,s.session_id\n\t,r.request_id\n\t--,r.status\n\t,r.command\n\t,r.resource_allocation_percentage AS 'resource_grant'\n\t,s.login_name\n\t,r.submit_time\n\t,r.end_compile_time\n\t,r.total_elapsed_time\n\t,r.[label]\n\t,r.classifier_name\n\t,r.group_name\n\t,ISNULL(r.command2, r.command) AS 'query_text'\n\t,r.result_cache_hit\n\t--,psr.step_index\n\t--,prs.operation_type\n\t--,prs.status\n\t,sum(ner.cpu_time)/1000 AS 'step_cpu_time'\n\t,sum(ner.reads) AS 'step_reads'\n\t,sum(ner.writes) AS 'step_writes'\n\t--,sum(ner.logical_reads) AS 'total_logical_reads'ok, i'\n\t,max(ner.granted_query_memory) AS 'step_total_granted_memory_pages'\n\t,round(log(sum(g.query_cost)),2) AS 'step_cost'\n\t,'EXEC sp_requests_detail @request_id=''' + r.request_id + '''' AS 'request_detail_command'\n\t,'EXEC sp_sessions_detail @session_id=''' + s.session_id + '''' AS 'session_detail_command'\nFROM sys.dm_pdw_exec_requests r\nJOIN sys.dm_pdw_exec_sessions s\n\ton r.session_id = s.session_id\nLEFT JOIN sys.dm_pdw_request_steps rs\n\tON r.request_id = rs.request_id\nLEFT JOIN sys.dm_pdw_sql_requests sr\n\tON rs.request_id = sr.request_id\n\tAND rs.step_index = sr.step_index\nLEFT JOIN sys.dm_pdw_nodes_exec_requests ner\n\tON sr.spid = ner.session_id\n\tAND sr.pdw_node_id = ner.pdw_node_id\nLEFT JOIN sys.dm_pdw_nodes_exec_query_memory_grants g\n\tON ner.session_id = g.session_id\n\tAND ner.pdw_node_id = g.pdw_node_id\nWHERE (r.group_name is not null OR r.result_cache_hit = 1)\nAND rs.[status] = 'Running'\nGROUP BY r.request_id\n\t--,r.[status]\n\t,r.request_id\n\t,r.status\n\t,r.command\n\t,r.command2\n\t,r.resource_allocation_percentage\n\t,s.session_id\n\t,s.login_name\n\t,r.submit_time\n\t,r.end_compile_time\n\t,r.total_elapsed_time\n\t,r.[label]\n\t,r.classifier_name\n\t,r.group_name\n\t--,ISNULL(r.command2, r.command)\n\t,r.result_cache_hit\nOPTION(LABEL='SynapseToolkit')\n\nSELECT 'Suspended Request' AS 'Suspended Requests'\n\t,s.session_id\n\t,r.request_id\n\t,s.login_name\n\t,r.submit_time\n\t,r.total_elapsed_time AS 'wait_time'\n\t,r.[label]\n\t,r.classifier_name\n\t,ISNULL(r.command2, r.command) AS 'query_text'\n\t,w.resource_waits AS 'concurrency_waits'\n\t,w.object_waits AS 'object_waits'\n\t,'EXEC sp_waits_detail @request_id=''' + r.request_id + '''' AS 'waits_detail'\n\t,'EXEC sp_sessions_detail @session_id=''' + r.session_id + '''' AS 'session_detail_command'\nFROM sys.dm_pdw_exec_requests r\nJOIN sys.dm_pdw_exec_sessions s\non r.session_id = s.session_id\nLEFT JOIN (\n\tSELECT \n\trequest_id\n\t,SUM(CASE WHEN object_type = 'SYSTEM' THEN 1 ELSE 0 END) AS resource_waits \n\t,SUM(CASE WHEN object_type != 'SYSTEM' THEN 1 ELSE 0 END) AS object_waits\n\tFROM sys.dm_pdw_waits\n\tWHERE state != 'Granted'\n\tGROUP BY request_id\n) w\nON r.request_id = w.request_id\nWHERE r.[status] = 'Suspended'\nOPTION(LABEL='SynapseToolkit')\nGO\n\n/***************************************************************************\n\tProcedure name: sp_requests_detail\n\tDescription: \n\t\tProvides the detailed query plan for the specified requestID. This shows\n\t\ta results at the distribution-level. Use Step_index to determine \n\t\twhich step you are looking at. \n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_requests_detail')\n    EXEC ('CREATE PROC dbo.sp_requests_detail AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_requests_detail] @request_id [varchar](20) AS\n--Query Step Data\nSELECT \n\t'Query Plan' AS 'Query Plan'\n\t,rs.request_id\n\t,rs.step_index\n\t,rs.operation_type\n\t,rs.[status] AS 'step_status'\n\t,rs.estimated_rows AS 'step_estimated_rows'\n\t,rs.row_count AS 'step_actual_rows'\n\t,rs.total_elapsed_time AS 'step_elapsed_time'\n\t,dist.pdw_node_id\n\t,dist.distribution_id\n\t,dist.[type] AS 'distribution_step_type'\n\t,dist.[status] AS 'distribution_step_status'\n\t,dist.total_elapsed_time AS 'distribution_elapsed_time'\n\t,dist.bytes_per_sec\n\t,dist.bytes_processed\n\t,dist.row_count\n\t,dist.start_time\n\t,dist.end_time\n\t,dist.spid\n\t,rs.command\n\t,dist.source_info AS 'distribution_source_command'\n\t,dist.error_id\n FROM \n\t(--dms\n\tSELECT \n\t\trequest_id\n\t\t,step_index\n\t\t,pdw_node_id\n\t\t,distribution_id\n\t\t,type\n\t\t,status\n\t\t,start_time\n\t\t,end_time\n\t\t,total_elapsed_time\n\t\t,command\n\t\t,error_id\n\t\t,sql_spid AS spid\n\t\t,bytes_per_sec\n\t\t,bytes_processed\n\t\t,rows_processed AS row_count\n\t\t,command AS dist_text\n\t\t,source_info\n\tFROM sys.dm_pdw_dms_workers\n\tWHERE request_id = @request_id\n\n\tUNION ALL\n\t\n\t--sql\n\tSELECT \n\t\trequest_id\n\t\t,step_index\n\t\t,pdw_node_id\n\t\t,distribution_id\n\t\t,'SQL' AS type\n\t\t,[status]\n\t\t,start_time\n\t\t,end_time\n\t\t,total_elapsed_time\n\t\t,command \n\t\t,-1 AS 'distribution_source_command'\n\t\t,error_id\n\t\t,spid\n\t\t,-1 AS bytes_per_sec\n\t\t,-1 AS bytes_processed\n\t\t,row_count\n\t\t,command AS dist_text\n\tFROM sys.dm_pdw_sql_requests \n\tWHERE request_id = @request_id\n\tAND command not like '%DISTRIBUTED_MOVE%'\n\t) dist\nRIGHT JOIN sys.dm_pdw_request_steps rs\n\tON rs.request_id = dist.request_id\n\tAND rs.step_index = dist.step_index\nWHERE rs.request_id = @request_id\nORDER BY rs.step_index,dist.pdw_node_id,dist.distribution_id,dist.type\nOPTION(LABEL='SynapseToolkit')\nGO\n\n/***************************************************************************\n\tProcedure name: sp_waits\n\tDescription: \n\t\tCollects information on granted and queued object and resource (concurrency)\n\t\twaits. Provides statements for waits_detail queries to get more information on \n\t\twhat is blocking what.\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_waits')\n    EXEC ('CREATE PROC dbo.sp_waits AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_waits] AS\n\t\t--Granted Object Locks\n\t\tSELECT 'Granted Object Lock' AS 'Granted Object Locks'\n\t\t\t\t,w.session_id\n\t\t\t\t,w.request_id\n\t\t\t\t,r.[status] AS 'request_status'\n\t\t\t\t,w.[state] AS 'wait_state'\n\t\t\t\t,w.[type]\n\t\t\t\t,w.object_type\n\t\t\t\t,w.[object_name]\n\t\t\t\t,r.importance\n\t\t\t\t,r.classifier_name\n\t\t\t\t,r.group_name\n\t\t\t\t,w.priority\n\t\t\t\t,w.request_time\n\t\t\t\t,w.acquire_time\n\t\t\t\t,r.total_elapsed_time AS 'request_elapsed_time'\n\t\t\t\t,r.[label]\n\t\t\t\t,ISNULL(r.command2, r.command) AS 'query_text'\n\t\t\t\t--,'EXEC sp_waits_detail @request_id=''' + w.request_id + '''' AS 'detail_command'\n\t\t\t\tFROM sys.dm_pdw_waits w\n\t\t\t\tJOIN sys.dm_pdw_exec_requests r \n\t\t\t\tON w.request_id = r.request_id\n\t\t\t\tWHERE w.object_type != 'SYSTEM'\n\t\t\t\tAND w.[state]='Granted'\n\t\t\t\tAND r.[status] != 'Completed'\n\t\t\t\tAND w.session_id != SESSION_ID()\n\t\t\t\tORDER BY r.[status],r.start_time,r.submit_time,w.priority asc\n\t\t\t\tOPTION(LABEL='SynapseToolkit')\n\n\t\t--Queued Locks\n\t\t\t\tSELECT 'Queued Object Lock' AS 'Queued Object Locks'\n\t\t\t\t,w.session_id\n\t\t\t\t,w.request_id\n\t\t\t\t,r.[status] AS 'request_status'\n\t\t\t\t,w.[state] AS 'wait_state'\n\t\t\t\t,w.[type]\n\t\t\t\t,w.object_type\n\t\t\t\t,w.[object_name]\n\t\t\t\t,r.importance\n\t\t\t\t,r.classifier_name\n\t\t\t\t,r.group_name\n\t\t\t\t,w.priority\n\t\t\t\t,w.request_time\n\t\t\t\t,w.acquire_time\n\t\t\t\t,r.total_elapsed_time AS 'request_elapsed_time'\n\t\t\t\t,r.[label]\n\t\t\t\t,ISNULL(r.command2, r.command)  AS 'query_text'\n\t\t\t\t,'EXEC sp_waits_detail @request_id=''' + w.request_id + '''' AS 'detail_command'\n\t\t\t\tFROM sys.dm_pdw_waits w\n\t\t\t\tJOIN sys.dm_pdw_exec_requests r \n\t\t\t\tON w.request_id = r.request_id\n\t\t\t\tWHERE w.object_type != 'SYSTEM'\n\t\t\t\tAND w.[state]!='Granted'\n\t\t\t\tAND r.[status] != 'Completed'\n\t\t\t\tORDER BY r.[status],r.start_time,r.submit_time,w.priority asc\n\t\t\t\tOPTION(LABEL='SynapseToolkit')\n\n\t\t\t\t--Granted concurrency waits\n\t\t\t\tSELECT 'Granted Concurrency Wait' AS 'Granted Concurrency Waits'\n\t\t\t,w.session_id\n\t\t\t,w.request_id\n\t\t\t,r.[status] AS 'request_status'\n\t\t\t,w.[state] AS 'wait_state'\n\t\t\t,r.resource_allocation_percentage\n\t\t\t,r.importance\n\t\t\t,r.classifier_name\n\t\t\t,r.group_name\n\t\t\t,w.priority\n\t\t\t,w.request_time\n\t\t\t,w.acquire_time\n\t\t\t,r.total_elapsed_time AS 'request_elapsed_time'\n\t\t\t,r.[label]\n\t\t\t,ISNULL(r.command2, r.command)  AS 'query_text'\n\t\tFROM sys.dm_pdw_waits w\n\t\tJOIN sys.dm_pdw_exec_requests r\n\t\ton w.request_id = r.request_id\n\t\tWHERE object_type = 'SYSTEM'\n\t\tAND w.[state]='Granted'\n\t\tAND w.[type] NOT IN ('ConcurrencyResourceType','LocalQueriesConcurrencyResourceType')\n\t\tORDER BY w.session_id,w.request_id,w.wait_id\n\t\tOPTION(LABEL='SynapseToolkit')\n\n\t\t--Queued concurrency waits\n\t\tSELECT 'Queued Concurrency Wait' AS 'Queued Concurrency Waits'\n\t\t\t,w.session_id\n\t\t\t,w.request_id\n\t\t\t,r.[status] AS 'request_status'\n\t\t\t,w.[state] AS 'wait_state'\n\t\t\t,r.resource_allocation_percentage\n\t\t\t,r.importance\n\t\t\t,r.classifier_name\n\t\t\t,r.group_name\n\t\t\t,w.priority\n\t\t\t,w.request_time\n\t\t\t,w.acquire_time\n\t\t\t,r.total_elapsed_time AS 'request_elapsed_time'\n\t\t\t,r.[label]\n\t\t\t,ISNULL(r.command2, r.command)  AS 'query_text'\n\t\tFROM sys.dm_pdw_waits w\n\t\tJOIN sys.dm_pdw_exec_requests r\n\t\ton w.request_id = r.request_id\n\t\tWHERE object_type = 'SYSTEM'\n\t\tAND w.[state]!='Granted'\n\t\tAND w.[type] NOT IN ('ConcurrencyResourceType','LocalQueriesConcurrencyResourceType')\n\t\tORDER BY w.session_id,w.request_id,w.wait_id\n\t\tOPTION(LABEL='SynapseToolkit')\n\t\nGO\n\n/***************************************************************************\n\tProcedure name: sp_waits_detail\n\tDescription: \n\tWhen providing a suspended requestID:\n\t\tThis sp will return all queries that have object locks on the same objects\n\t\tthe provided query is queued on\n\tThis query returns a message if a query with no waiting object locks is provided\n\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_waits_detail')\n    EXEC ('CREATE PROC dbo.sp_waits_detail AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_waits_detail] @request_id [varchar](20) AS\n\n--If the provided statement is suspended, show what's blocking it\n\nIF (SELECT [status] FROM sys.dm_pdw_exec_requests WHERE request_id = @request_id) = 'Suspended'\n\tBEGIN\n\t\tIF (SELECT TOP 1 [object_type] FROM sys.dm_pdw_waits WHERE request_id = @request_id AND STATE != 'GRANTED' ) != 'SYSTEM'\n\t\tBEGIN\n\t\t\t--Queued Object Locks for provided query\n\t\t\tSELECT 'Blocked Object Lock' AS 'Blocked Object Locks'\n\t\t\t,session_id\n\t\t\t,request_id\n\t\t\t,wait_id\n\t\t\t,[state]\n\t\t\t,[type]\n\t\t\t,object_type\n\t\t\t,[object_name]\n\t\t\t,priority\n\t\t\t,request_time\n\t\t\t,acquire_time\n\t\t\tFROM sys.dm_pdw_waits\n\t\t\tWHERE object_type != 'SYSTEM'\n\t\t\tAND [state]!='Granted'\n\t\t\tAND request_id = @request_id\n\t\t\tORDER BY session_id,wait_id\n\t\t\tOPTION(LABEL='SynapseToolkit')\n\t\t\n\t\t\t--Granted Locks on the same objects as in query\n\t\t\tSELECT 'Possible Blocker' AS 'Possible Blockers'\n\t\t\t,w2.session_id\n\t\t\t,w2.request_id\n\t\t\t,w2.wait_id\n\t\t\t,w2.[state]\n\t\t\t,w2.[type]\n\t\t\t,w2.object_type\n\t\t\t,w2.[object_name]\n\t\t\t,w2.priority\n\t\t\t,w2.request_time\n\t\t\t,w2.acquire_time \n\t\t\t,'EXEC sp_requests_detail @request_id=''' + w2.request_id + '''' AS 'request_detail_command'\n\t\t\t,'EXEC sp_sessions_detail @session_id=''' + w2.session_id + '''' AS 'session_detail_command'\n\t\t\tFROM sys.dm_pdw_waits w1\n\t\t\tJOIN sys.dm_pdw_waits w2\n\t\t\tON w1.[object_name] = w2.[object_name]\n\t\t\tWHERE w1.request_id = @request_id\n\t\t\tAND w2.[state] = 'Granted'\n\t\t\tORDER BY w2.session_id,w2.wait_id\n\t\t\tOPTION(LABEL='SynapseToolkit')\n\t\tEND\n\n\tEND\n\tELSE\n\t\tBEGIN\n\t\t\tSELECT 'No queued object Locks found for ' + @request_id AS 'Message'\n\t\tEND\n\nGO\n\n/***************************************************************************\n\tProcedure name:  sp_tempdb\n\tDescription: lists various information about tempdb usage\n\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_tempDB')\n    EXEC ('CREATE PROC dbo.sp_tempDB AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC sp_tempDB AS\n\n--Total TempDB Usage\nSELECT\n\t'Total TempDB usage' AS 'Total TempDB usage'\n\t,sum(pdw.rows_processed) as 'rows_written'\n\t,sum(pdw.bytes_processed) as 'bytes_written'\n\t,CAST(sum(pdw.bytes_processed)/1024.0/1024.0/1024.0 AS Decimal(10,1)) AS 'GB_written'\n\t,total_tempdb.total_tempdb_gb as 'Total_tempDB_size_GB'\n\t,CAST(((sum(pdw.bytes_processed)/1024.0/1024.0/1024.0)/total_tempdb.total_tempdb_gb)*100.0 AS Decimal(10,1)) AS 'approx_percent_used'\nFROM Sys.dm_pdw_dms_workers pdw\nJOIN sys.dm_pdw_exec_requests req\n\tON pdw.request_id = req.request_id\nJOIN (SELECT (count(1) * 1995) AS total_tempdb_gb FROM sys.dm_pdw_nodes WHERE type='COMPUTE') AS total_tempdb\n\tON 1=1\nWHERE pdw.type = 'Writer'\nAND req.status = 'running'\nGROUP BY total_tempdb.total_tempdb_gb\n\n\n--Tempdb usage per query\nSELECT \n\t'TempDB per query' AS 'TempDB per query'\n\t,req.request_id\n\t,sum(pdw.bytes_processed) as 'bytes_written'\n\t,CAST(sum(pdw.bytes_processed)/1024.0/1024.0/1024.0 AS Decimal(10,1)) AS 'GB_written'\n\t,sum(pdw.rows_processed) as 'rows_written'\n\t,'EXEC sp_requests_detail @request_id=''' + req.request_id + '''' AS 'request_detail_command'\nfrom\tSys.dm_pdw_dms_workers pdw\nJOIN sys.dm_pdw_exec_requests req\nON pdw.request_id = req.request_id\nWHERE pdw.type = 'Writer'\nAND req.status = 'running'\nGROUP BY req.request_id\nORDER BY bytes_written desc\n\n--Tempdb usage per node\nSELECT \n\t'TempDB per node' AS 'TempDB per node'\n\t,pdw.pdw_node_id\n\t,n.type\n\t,sum(pdw.bytes_processed) as 'bytes_written'\n\t,CAST(sum(pdw.bytes_processed)/1024.0/1024.0/1024.0 AS Decimal(10,1)) AS 'GB_written'\n\t,'1995' AS 'Total_tempDB_size_GB'\n\t,CAST(((sum(pdw.bytes_processed)/1024.0/1024.0/1024.0)/1995.0)*100 AS Decimal(10,1)) AS 'percent_used'\n\t,sum(pdw.rows_processed) as 'rows_written'\nFROM sys.dm_pdw_nodes n\nLEFT JOIN Sys.dm_pdw_dms_workers pdw\n\tON n.pdw_node_id = pdw.pdw_node_id\nLEFT JOIN sys.dm_pdw_exec_requests req\n\tON pdw.request_id = req.request_id\nWHERE pdw.type = 'Writer'\nAND req.status = 'running'\nGROUP BY n.type,pdw.pdw_node_id\nORDER BY bytes_written desc\n\n/***************************************************************************\n\tProcedure name: sp_concurrency\n\tDescription: \n\t\tShows general information about how many queries are running/suspended\n\t\tand how many queued object locks or resource (concurrency) locks. Also \n\t\tshows the currentl percentage of resources allocated to running queries\n\t\tby workload group assignment\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_concurrency')\n    EXEC ('CREATE PROC dbo.sp_concurrency AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC [dbo].[sp_concurrency] AS \n\nSELECT\n\tsum(case when r.status = 'Running' then r.resource_allocation_percentage else 0 end) as 'total_resources_granted'\n\t,tempdb_metrics.percent_used as 'approx_tempdb_used_percent'\n\t--,sum(case when s.status = 'Active' then 1 else 0 end) as 'active_sessions'\n\t--sum(case when s.status = 'Idle' then 1 else 0 end) as 'idle_sessions'\n\t,(SELECT count(1) FROM sys.dm_pdw_exec_sessions where status = 'Active') AS 'active_sessions'\n\t,(SELECT count(1) FROM sys.dm_pdw_exec_sessions where status = 'Idle') AS 'idle_sessions'\n\t,sum(case when r.status = 'Running' AND (r.group_name is not null OR r.result_cache_hit = 1) then 1 else 0 end) as running_queries\n\t,sum(case when r.status = 'suspended' then 1 else 0 end) as queued_queries\n\t,sum(case when w.queued_resource_waits > 0 then 1 else 0 end) AS concurrency_waits\n\t,sum(case when w.queued_object_locks > 0 then 1 else 0 end) AS object_waits\n\t,'EXEC sp_tempdb' AS 'tempdb_usage_detail'\nFROM \nsys.dm_pdw_exec_requests r\nJOIN sys.dm_pdw_exec_sessions s\nON r.session_id = s.session_id\nLEFT JOIN (\n\tSELECT \n\t\trequest_id\n\t\t,count(request_id) AS queued_locks\n\t\t,sum(case when object_type = 'system' then 1 else 0 end) as queued_resource_waits\n\t\t,sum(case when object_type != 'system' then 1 else 0 end) as queued_object_locks\n\tFROM sys.dm_pdw_waits\n\tWHERE state != 'Granted'\n\tGROUP BY request_id\n\t) w\nON w.request_id = r.request_id\nJOIN (\n\tSELECT \n\t\tsum(pdw.bytes_processed) as 'bytes_written'\n\t\t,CAST(sum(pdw.bytes_processed)/1024.0/1024.0/1024.0 AS Decimal(10,1)) AS 'GB_written'\n\t\t,sum(pdw.rows_processed) as 'rows_written'\n\t\t,total_tempdb.total_tempdb_gb\n\t\t,CAST(((sum(pdw.bytes_processed)/1024.0/1024.0/1024.0)/total_tempdb.total_tempdb_gb)*100.0 AS Decimal(10,1)) AS 'percent_used'\n\t\tFROM Sys.dm_pdw_dms_workers pdw\n\t\tJOIN sys.dm_pdw_exec_requests req\n\t\t\tON pdw.request_id = req.request_id\n\t\tJOIN (SELECT (count(1) * 1995) AS total_tempdb_gb FROM sys.dm_pdw_nodes WHERE type='COMPUTE') AS total_tempdb\n\t\tON 1=1\n\t\tWHERE pdw.type = 'Writer'\n\t\tAND req.status = 'running'\n\t\tGROUP BY total_tempdb.total_tempdb_gb\n\t\t) AS tempdb_metrics\nON 1=1\nGROUP BY tempdb_metrics.percent_used\nOPTION(LABEL='SynapseToolkit')\n\n\n\nGO\n/***************************************************************************\n\tProcedure name: sp_datamovement\n\tDescription: \n\t\tShows all data movement currently happening in order from largest to \n\t\tsmallest. The items at the top of this list are likely the most resource-\n\t\tintensive queries currently running. \n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_datamovement')\n    EXEC ('CREATE PROC dbo.sp_datamovement AS SELECT ''TEMPORARY''')\nGO\n\nALTER PROC sp_datamovement AS\n\nWITH step_data AS \n(\n\tSELECT \n\t\tSUM(rows_processed) AS Step_Rows_Processed\n\t\t, SUM(Bytes_processed) AS Step_Bytes_Processed\n\t\t, max(total_elapsed_time) AS Step_elapsed_time\n\t\t, request_id\n\t\t, step_index\n\t\t, status \n\t\t--, type\n\tFROM sys.dm_pdw_dms_workers \n\tWHERE status != 'StepComplete'\n\tAND type != 'Writer' --including writers gives you double counts on operations\n\tGroup by \n\t\t  request_id\n\t\t, step_index\n\t\t, status\n) \nSELECT \n\t'Data Movement' AS 'Data Movements'\n\t,s.login_name\n\t,step_data.request_id\n\t, per.session_id\n\t, rs.operation_type\n\t, (step_data.Step_elapsed_time/1000/60) AS 'step_elapsed_time_(m)'\n\t, step_data.Step_rows_processed\n\t--, step_data.step_bytes_processed\n\t, (step_data.Step_Bytes_Processed/1024/1024/1024) AS Step_GB_Processed\n\t, step_data.step_index\n\t--, step_data.type\n\t, step_data.status as Step_status\n\t--, per.status AS QID_Status\n\t, per.total_elapsed_time/1000/60 as 'QID_elapsed_time(m)'\n\t, ISNULL(per.command2, per.command) AS 'QID_Command'\n\t, per.resource_class\n\t, per.importance\n\t,'EXEC sp_requests_detail @request_id=''' + per.request_id + '''' AS 'request_detail_command'\nFROM step_data\nLEFT JOIN sys.dm_pdw_exec_requests per\nON step_data.request_id = per.request_id\nJOIN sys.dm_pdw_exec_sessions s\nON per.session_id = s.session_id\nJOIN sys.dm_pdw_request_steps rs\nON step_data.request_id = rs.request_id\nAND step_data.step_index = rs.step_index\nWHERE per.status = 'Running'\nORDER BY step_data.Step_rows_processed DESC\nOPTION(LABEL='SynapseToolkit')\n\nGO\n/***************************************************************************\n\tProcedure name: sp_sessions\n\tDescription: status of all open sessions\n\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_sessions')\n    EXEC ('CREATE PROC dbo.sp_sessions AS SELECT ''TEMPORARY''')\n\nGO\n\nALTER PROC sp_sessions AS\n\nSELECT \n\t'Active Session' AS 'Active Sessions'\n\t,s.session_id\n\t,s.request_id\n\t,s.login_name\n\t,s.login_time\n\t,s.query_count\n\t,s.client_id\n\t,s.[app_name]\n\t,'EXEC sp_sessions_detail @session_id=''' + s.session_id + '''' AS 'detail_command'\nFROM sys.dm_pdw_exec_sessions s\nWHERE s.[status] = 'active'\norder by login_time asc\nOPTION(LABEL='SynapseToolkit')\n\nSELECT \n\t'Idle Session' AS 'Idle Sessions'\n\t,s.session_id\n\t,s.request_id\n\t,s.login_name\n\t,s.login_time\n\t,s.query_count\n\t,s.client_id\n\t,s.[app_name]\n\t,'EXEC sp_sessions_detail @session_id=''' + s.session_id + '''' AS 'detail_command'\nFROM sys.dm_pdw_exec_sessions s\nWHERE s.[status] = 'idle'\norder by login_time asc\nOPTION(LABEL='SynapseToolkit')\n\nGO\n\n/***************************************************************************\n\tProcedure name: sp_sessions_detail\n\tDescription: \n\n****************************************************************************/\nIF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'sp_sessions_detail')\n    EXEC ('CREATE PROC dbo.sp_sessions_detail AS SELECT ''TEMPORARY''')\n\nGO\n\nALTER PROC sp_sessions_detail @session_id [varchar](20) AS\n\nSELECT \n\tSession_id\n\t,request_id\n\t,[status]\n\t,submit_time\n\t,end_compile_time\n\t,start_time\n\t,end_time\n\t,total_elapsed_time/1000 AS 'total_elapsed_time_s'\n\t,[label]\n\t,error_id\n\t,command\n\t,command2\n\t,classifier_name\n\t,group_name\n\t,importance\n\t,resource_allocation_percentage\n\t,result_cache_hit\n\t,'EXEC sp_requests_detail @request_id=''' + request_id + '''' AS 'detail_command'\nFROM sys.dm_pdw_exec_requests\nWHERE session_id = @session_id\nORDER BY submit_time ASC\nOPTION(LABEL='SynapseToolkit')\n\n\n\n/***************************************************************************\n\tProcedure name: \n\tDescription: \n\n****************************************************************************/\n/*IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = '')\n    EXEC ('CREATE PROC dbo. AS SELECT ''TEMPORARY''')\nGO\n*/"
  },
  {
    "path": "TSQL_Queries/Current_Activity/CollectNodeMemoryUsage.sql",
    "content": "/*\n\t===============================\n\t   Node Memory Usage\n\t===============================\n\tThe following query will show how much memory is currently in use by each \n    SQLDW node compared to the max for current DWU. \n\n    If memory utilization regularly hits it's limits during workload execution, \n    consider scaling up your data warehouse. \n*/\nSELECT \n\tpc1.cntr_value as Curr_Mem_KB, pc1.cntr_value/1024.0 as Curr_Mem_MB, \t(pc1.cntr_value/1048576.0) as Curr_Mem_GB, \n\tpc2.cntr_value as Max_Mem_KB, \n\tpc2.cntr_value/1024.0 as Max_Mem_MB, \n\t(pc2.cntr_value/1048576.0) as Max_Mem_GB, \n\tpc1.cntr_value * 100.0/pc2.cntr_value AS Memory_Utilization_Percentage, \n\tpc1.pdw_node_id \nFROM \n\t-- pc1: current memory \n\tsys.dm_pdw_nodes_os_performance_counters AS pc1 \n\t-- pc2: total memory allowed for this SQL instance \n\tJOIN sys.dm_pdw_nodes_os_performance_counters AS pc2 ON pc1.object_name = pc2.object_name \n\tAND pc1.pdw_node_id = pc2.pdw_node_id \nWHERE pc1.counter_name = 'Total Server Memory (KB)' AND pc2.counter_name = 'Target Server Memory (KB)'\n"
  },
  {
    "path": "TSQL_Queries/Current_Activity/CountGrantedConcurrencySlots.sql",
    "content": "/*\n\t===============================\n\t   Granted Concurrency Slots\n\t===============================\n\tThe following query will show how many conccurency slots are currently granted\n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/analyze-your-workload\n*/\nSELECT  SUM([concurrency_slots_used]) as total_granted_slots \nFROM    sys.[dm_pdw_resource_waits] \nWHERE   [state]           = 'Granted' \nAND     [resource_class] is not null\nAND     [session_id]     <> session_id()\n;"
  },
  {
    "path": "TSQL_Queries/Current_Activity/DMSHeavyHitters.sql",
    "content": "/*\n\t==========================\n\t   DMS Heavy Hitters\n\t==========================\n\tThe following query returns queries that are currently processing rows in DMS sorted from largest to smallest. \n    Queries that are processing very large amounts of rows or volume of data could be spilling to tempdb and impacting other queries. \n    When troubleshooting a \"general slowness\" issue, this query can help you find the query steps that are most likley to be impacting \n    other resources. \n*/\nWITH step_data AS \n(\n\tSELECT \n\t\tSUM(rows_processed) AS Step_Rows_Processed\n\t\t, SUM(Bytes_processed) AS Step_Bytes_Processed\n\t\t, request_id\n\t\t, step_index\n\t\t, status \n\t\t, type\n\tFROM sys.dm_pdw_dms_workers \n\tWHERE status != 'StepComplete'\n\tGroup by \n\t\t  request_id\n\t\t, step_index\n\t\t, status\n\t\t, type\n) \nSELECT \n\t step_data.request_id\n\t, per.session_id\n\t, step_data.Step_rows_processed\n\t, step_data.step_bytes_processed\n\t, (step_data.Step_Bytes_Processed/1024/1024/1024) AS Step_GB_Processed\n\t, step_data.step_index\n\t, step_data.type\n\t, step_data.status as Step_status\n\t, per.status AS QID_Status\n\t, per.total_elapsed_time/1000/60 as 'QID_Elapsed_Time (min)'\n\t, per.command AS 'QID_Command'\n\t, per.resource_class\n\t, per.importance\nFROM step_data\nLEFT JOIN sys.dm_pdw_exec_requests per\nON step_data.request_id = per.request_id\nWHERE per.status = 'Running'\nORDER BY step_data.Step_rows_processed DESC"
  },
  {
    "path": "TSQL_Queries/Current_Activity/IdentifyBlocking1.sql",
    "content": "/*\n\t==========================\n\t   Identify Blocking 1\n\t==========================\n\tThis query looks for any queries that are not currently granted, then returns all other waits on that same object. \n    Returns no results if there are no blocked queries. \n    \n    Example: if there is a queued query waiting on an exclusive lock on an object, any other lock on that object that \n    is currently granted is considered blocking that query.   \n*/\nselect * from sys.dm_pdw_waits\nwhere object_name in (select object_name from sys.dm_pdw_waits where state != 'Granted')\norder by object_name"
  },
  {
    "path": "TSQL_Queries/Current_Activity/IdentifyBlocking2.sql",
    "content": " /*\n\t==========================\n\t   Identify Blocking 2\n\t==========================\n\tNOTE: THIS QUERY IS NOT 100% ACCURATE, but is helpful in most cases. It attempts to link waiting queries to other queries that are blocking them.\n    Sometimes if there are multiple queries blocking the waiting query, it cannot correctly identify the first query in the blocking chain.  \n*/\n\nWITH \nWaitingSidsList AS (\n\tSELECT \n\t\tDateDiff(minute, waiting_waits.request_time, getdate()) as Wait_Time,\n\t\twaiting_waits.session_id AS        'Waiting_SID',\n\t\twaiting_waits.request_id AS        'Waiting_QID',\n\t\tblocking_waits.session_id AS    'Blocking_SID',\n\t\tblocking_waits.request_id AS    'Blocking_QID',\n\t\twaiting_waits.wait_id AS        'waiting_waitID',\n\t\twaiting_sessions.login_name AS    'Waiting_Login_Name',\n\t\tblocking_sessions.login_name AS    'Blocking_Login_Name',\n\t\twaiting_sessions.app_name AS    'Waiting_App_Name',\n\t\tblocking_sessions.app_name AS    'Blocking_App_name',\n\t\twaiting_PER.command AS            'Waiting_command',\n\t\tblocking_PER.command AS            'Blocking_command'\n\tFROM sys.dm_pdw_waits waiting_waits\n\tJOIN sys.dm_pdw_waits blocking_waits\n\t\ton waiting_waits.object_name = blocking_waits.object_name\n\t\tand waiting_waits.request_id != blocking_waits.request_id\n\tLEFT JOIN sys.dm_pdw_exec_sessions waiting_sessions\n\t\tON waiting_waits.session_id = waiting_sessions.session_id\n\tLEFT JOIN sys.dm_pdw_exec_sessions blocking_sessions\n\t\tON blocking_waits.session_id = blocking_sessions.session_id\n\tLEFT JOIN sys.dm_pdw_exec_requests waiting_PER\n\t\tON waiting_PER.request_id = waiting_waits.request_id\n\tLEFT JOIN sys.dm_pdw_exec_requests blocking_PER\n\t\tON blocking_PER.request_id = blocking_waits.request_id\n\tWHERE waiting_waits.state = 'queued'\n), \nMAX_WaitingSidsList AS (\n\tSELECT    Waiting_SID,\n\t\t\tMAX(waiting_waitID) as 'MAX_WaitID'\n\tFROM WaitingSidsList\n\tGROUP BY Waiting_SID\n) SELECT \n\t WaitingSidsList.Wait_Time AS 'Wait_Time_(M)',\n\t WaitingSidsList.Waiting_SID,\n\t WaitingSidsList.Waiting_QID,\n\t WaitingSidsList.Blocking_SID,\n\t WaitingSidsList.Blocking_QID,\n\t WaitingSidsList.Waiting_Login_Name,\n\t WaitingSidsList.Blocking_Login_Name,\n\t WaitingSidsList.Waiting_App_Name,\n\t WaitingSidsList.Blocking_App_name,\n\t WaitingSidsList.Waiting_command,\n\t WaitingSidsList.Blocking_command\nFROM MAX_WaitingSidsList\nJOIN WaitingSidsList\n\tON MAX_WaitingSidsList.Waiting_SID = WaitingSidsList.Waiting_SID\n\tAND MAX_WaitingSidsList.MAX_WaitID = WaitingSidsList.waiting_waitID\n"
  },
  {
    "path": "TSQL_Queries/Current_Activity/IdentifyResourceWaits.sql",
    "content": "/*\n\t=============================\n\t   Identify Resource Waits\n\t=============================\n\tThe following query can be used to determine what resources a request is waiting for.\n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/analyze-your-workload\n*/\nSELECT  w.[wait_id]\n,       w.[session_id]\n,       w.[type]                                           AS Wait_type\n,       w.[object_type]\n,       w.[object_name]\n,       w.[request_id]\n,       w.[request_time]\n,       w.[acquire_time]\n,       w.[state]\n,       w.[priority]\n,       SESSION_ID()                                       AS Current_session\n,       s.[status]                                         AS Session_status\n,       s.[login_name]\n,       s.[query_count]\n,       s.[client_id]\n,       s.[sql_spid]\n,       r.[command]                                        AS Request_command\n,       r.[label]\n,       r.[status]                                         AS Request_status\n,       r.[submit_time]\n,       r.[start_time]\n,       r.[end_compile_time]\n,       r.[end_time]\n,       DATEDIFF(ms,r.[submit_time],r.[start_time])        AS Request_queue_time_ms\n,       DATEDIFF(ms,r.[start_time],r.[end_compile_time])   AS Request_compile_time_ms\n,       DATEDIFF(ms,r.[end_compile_time],r.[end_time])     AS Request_execution_time_ms\n,       r.[total_elapsed_time]\nFROM    sys.dm_pdw_waits w\nJOIN    sys.dm_pdw_exec_sessions s  ON w.[session_id] = s.[session_id]\nJOIN    sys.dm_pdw_exec_requests r  ON w.[request_id] = r.[request_id]\nWHERE    w.[session_id] <> SESSION_ID()\n;"
  },
  {
    "path": "TSQL_Queries/Current_Activity/MemoryGrantPerDistribution.sql",
    "content": "/*\n\t===================================\n\t   Memory Grant Per Distribution\n\t===================================\n\tThis query will return information on the memory grants per distribution.I n reality, \n\tyour memory grant is less than the results of the following query. However, this query \n\tprovides a level of guidance that you can use when sizing your partitions for data\n\tmanagement operations. Maximum memory per distribution is govered by resource classes.\n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-partition\n*/\nSELECT  rp.[name]                       \t\tAS [pool_name]\n,       rp.[max_memory_kb]\t\t\t\t\t\tAS [max_memory_kb]\n,       rp.[max_memory_kb]/1024         \t\tAS [max_memory_mb]\n,       rp.[max_memory_kb]/1048576      \t\tAS [mex_memory_gb]\n,       rp.[max_memory_percent]         \t\tAS [max_memory_percent]\n,       wg.[name]                       \t\tAS [group_name]\n,       wg.[importance]                \t\t\tAS [group_importance]\n,       wg.[request_max_memory_grant_percent]   AS [request_max_memory_grant_percent]\nFROM    sys.dm_pdw_nodes_resource_governor_workload_groups    wg\nJOIN    sys.dm_pdw_nodes_resource_governor_resource_pools    rp ON wg.[pool_id] = rp.[pool_id]\nWHERE   wg.[name] like 'SloDWGroup%'\nAND     rp.[name]    = 'SloDWPool'\n;"
  },
  {
    "path": "TSQL_Queries/Current_Activity/QueuedQueryTime.sql",
    "content": "/*\n\t=======================\n\t   Queued Query Time\n\t=======================\n\tThe following query looks for queries that had the longest time between submit_time and \n\tstart_time. These queries were blocked by resources being locked or waiting for a concurrentcy slot. \n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/analyze-your-workload\n*/\nSELECT  r.[request_id]                           AS Request_ID\n,       r.[status]                               AS Request_Status\n,       r.[submit_time]                          AS Request_SubmitTime\n,       r.[start_time]                           AS Request_StartTime\n,       DATEDIFF(ms,[submit_time],[start_time])  AS Request_InitiateDuration_ms\n,       r.resource_class                         AS Request_resource_class\nFROM    sys.dm_pdw_exec_requests r\nORDER BY Request_InitiateDuration_ms desc\n;\n"
  },
  {
    "path": "TSQL_Queries/Current_Activity/RecentQueries.sql",
    "content": "--Recently ran queries still in exec_requests\nSELECT r.[session_id]\n\t,r.[request_id]\n\t,r.[status]\n\t,s.[login_name]\n\t,r.[command]\n\t,r.[submit_time]\n\t,r.[end_time]\n\t--,r.[end_compile_time]\n\t,datediff(ms,r.[submit_time], r.[end_compile_time]) AS [compile_time_ms]\n\t,datediff(ms,r.[end_compile_time],r.[start_time]) AS [wait_time_ms]\n\t,datediff(ms,r.[start_time], r.[end_time]) AS [execution_time_ms]\n\t,r.[total_elapsed_time] AS [total_time_ms]\n\t,sum(CASE WHEN row_count=('-1') THEN 0 ELSE row_count END) AS [Total_Rows_Processed]\n\t,r.[label]\n\t,r.[resource_allocation_percentage]\n\t,r.[importance]\n\t,r.[group_name]\n\t,r.[classifier_name]\n\t,r.[result_cache_hit]\n\t,s.[app_name]\n\tFROM sys.dm_pdw_exec_requests r\nLEFT JOIN sys.dm_pdw_exec_sessions s\nON r.[session_id] = s.[session_id]\nLEFT JOIN sys.dm_pdw_request_steps steps\nON r.[request_id] = steps.[request_id]\n--WHERE [group_name] is not null\nGROUP BY r.[request_id],r.[session_id],r.[status],r.[submit_time],r.[end_compile_time],r.[start_time],r.[end_time],r.[total_elapsed_time],r.[label],r.[command],r.[importance],r.[group_name],r.[classifier_name],r.[resource_allocation_percentage],r.[result_cache_hit],s.[login_name],s.[app_name] \nORDER BY r.[submit_time] desc\n"
  },
  {
    "path": "TSQL_Queries/Current_Activity/ResourceWaitConsumptionByQuery.sql",
    "content": "/*\n\t========================================\n\t   Resource Wait Consumption by Query\n\t========================================\n\tThe following query Will show resource waits consumed by a given query. \n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/analyze-your-workload\n*/\nSELECT  [session_id]\n,       [type]\n,       [object_type]\n,       [object_name]\n,       [request_id]\n,       [request_time]\n,       [acquire_time]\n,       DATEDIFF(ms,[request_time],[acquire_time])  AS acquire_duration_ms\n,       [concurrency_slots_used]                    AS concurrency_slots_reserved\n,       [resource_class]\n,       [wait_id]                                   AS queue_position\nFROM    sys.dm_pdw_resource_waits\nWHERE    [session_id] <> SESSION_ID()\n;"
  },
  {
    "path": "TSQL_Queries/Current_Activity/UsedConcurrencySlotsInfo.sql",
    "content": "/*\n\t=================================\n\t   Used Concurrency Slots Info\n\t=================================\n\tThe following query will show details of current granted and waiting concurrency slots including:\n\t\tHow many concurrency slots are used\n\t\tWhat resource class the query is running in\n\t\tThe query text\n*/\nSELECT prw.Session_id, \n\tprw.request_id, \n\tprw.request_time, \n\tprw.acquire_time, \n\tprw.state, \n\tprw.priority, \n\tprw.concurrency_slots_used,\n\tprw.resource_class,\n\tper.command AS 'Query_text'\nFROM sys.dm_pdw_resource_waits prw\nJOIN sys.dm_pdw_exec_requests per\nON prw.request_id = per.request_id\nWHERE type = 'UserConcurrencyResourceType'\nORDER BY state,concurrency_slots_used DESC"
  },
  {
    "path": "TSQL_Queries/Delta Lake/README.md",
    "content": "# Reading Delta Lake\n\n    This stored procedure reads Delta Lake, it supports time travel but does not support schema drift.\n\n    This is a breakdown of how the script works.\n\n    - Read the _last_checkpoint file, this contains the highest checkpoint version number.\n    - Read all the checkpoint files, these contain the 'Add' and 'Remove' files that need to be included and their timestamps.\n    - Read the latest JSON transaction files (since the last checkpoint), these contain the most recent 'Add' and 'Remove' files that need to be included and their timestamps.\n    - Filter out the 'Add' and 'Remove' files based on the 'modificationTime' and 'deletionTimestamp'\n    - Return the data from all the 'Add' files excluding the 'Remove' files. (Batching up the COPY INTO statements)\n    \n## Installation\n\nRun Delta.sql to create the stored procedures in dbo.\n\n## Using the Procedure\n\n    Run the delta.sql script, this creates the delta stored procedure.\n\n### Parameters\n```\n    @Folder -> String. The location of the Delta Lake file, including HTTPS\n    @DT -> Datetime2. Gives us the version of the file at this time. (NULL returns latest version)\n    @Credential -> String.  Full credential string (NULL defaults to AAD authentication)\n    @Destination Table -> String.  Destination table for loading the files. (NULL means a temp table is used)\n    @Display -> Int. 0  = Don't display results,  1 = Display results.\n    @Debug -> Int.  0 = Hide debug information.  1 = Show debug information.\n```\n\n### Example\n\n``` sql\ndeclare @path varchar(400), @dt datetime2, @credential varchar(500),@outputable varchar(500),@display int, @debug int;\n\nset @path = 'https://storageaccount.blob.core.windows.net/container/delta/demo/'\n--set @dt =  convert(datetime2,'2022/07/06 18:37:00');  --  for time travel \nset @dt =  getdate(); --  for time travel -- \nset @credential  = 'IDENTITY= ''Shared Access Signature'', SECRET = ''___SECRET____''';\nset @outputable = 'mpmtest' -- leave empty for temp table\nset @display = 1; -- if 1 display results\nset @debug = 1; -- if 1 display debugging information\nexec delta @path,@dt,@credential,@outputable,@display, @debug\n\n```\n\n"
  },
  {
    "path": "TSQL_Queries/Delta Lake/delta.sql",
    "content": "/*\nIF OBJECT_ID('mpmtest') IS NOT NULL\n  BEGIN;\n\tDROP TABLE mpmtest\nEND\n\ndeclare @path varchar(400), @dt datetime2, @credential varchar(500),@outputable varchar(500),@display int, @debug int;\nset @path = 'https://storageaccount.blob.core.windows.net/container/delta/demo/'\n--set @dt =  convert(datetime2,'2022/07/06 18:37:00'); --getdate(); --  for time travel -- \nset @dt =  getdate(); --  for time travel -- \nset @credential  = 'IDENTITY= ''Shared Access Signature'', SECRET = ''___SECRET____''';\nset @outputable = 'mpmtest' -- leave empty for temp table\nset @display = 1; -- if 1 display results\nset @debug = 1;\nexec delta @path,@dt,@credential,@outputable,@display, @debug\n\n--select count(*) from mpmtest;\n*/\n\n\n\ncreate PROC [dbo].[delta] \n\t@folder [varchar](4000), \n\t@dt [datetime2], \n\t@credential [varchar](4000), \n\t@dest_table [varchar](4000),\n\t@display int, -- 0 dont display, 1 display\n\t@debug int -- 0 dont debug , 1 debug mode\n\tAS\nbegin\n-- version info\n-- 0.1 - Very basic, but sort of worked.\n-- 0.2 - Added support for remove files.\n-- 0.3 - Fixed bug , in authenication\n-- 0.4 - Improved performance in handling add/remove files\n-- 0.5 - Added support for checkpoint files\n-- 0.6 - Changed the json handling, added latest checkpoint handing\n\n\tDECLARE @ts bigint,@tsmil bigint, @json varchar(8000), @tsql varchar(8000);\n\tDECLARE @json_remove varchar(8000), @tsql_checkpoint varchar(8000);\n\tDECLARE @td_checkpoint1 datetime2, @td_checkpoint2 datetime2;\n\tDECLARE @last_checkpoint varchar(25), @jsonversionchar varchar(25),@checkpointversion varchar(25) ;\n\tDECLARE @output_sql varchar(max);\n\tDECLARE @checkpoint_file_count bigint;\n\n\t-- default: AAD authenication\n    IF (@credential IS NULL)\n        SET @credential = ''\n\n    IF (@credential <> '')\n        SET @credential = ' CREDENTIAL = (' + @credential + ')'\n\n\t-- default : display results\n\tIF @display IS NULL\n\t\tset @display = 1\n\n\t-- default : debug is off\n\tIF @debug IS NULL \n\t\tSET @debug = 0\n\t\n\t-- if the datetime is null, get the latest version\n\tIF (@dt IS NULL)\n\t\tset @dt = getdate()\n\n\t-- number of milliseconds since 1970\n\t-- Datediff doesn't return a bigint - so I need todo this into 2 parts\n\tset @ts  = datediff( s, '1970/1/1', convert(date,@dt) ) \n\tset @ts = @ts * 1000;\n\n\tset @tsmil = datediff(ms, convert(date,@dt) , @dt)\n\tset @ts = @ts + @tsmil;\n\n\tif (@dest_table IS NULL)\n\t\tset @dest_table = '#tmp_output'\n\n\t---- Holds the raw json information -----------------------------\n\tIF OBJECT_ID('tempdb..#last_checkpoint') IS NOT NULL\n\t\tDROP TABLE #last_checkpoint\n\n\tcreate table #last_checkpoint\n\t(\n\t\tinfo varchar(max)\n\t) with (distribution=round_robin, heap)\n\n\t------ read _last_checkpoint\n\t-- This gives us the checkpoint if it exists, this gives us the starting point\n\t-- for the json files\n\tset @tsql = '\n\tcopy into  #last_checkpoint (info)\n\tfrom ''' + @folder + '_delta_log/_last_checkpoint''\n\t with ( \t' + @credential +  '    ,FILE_TYPE = ''CSV''\n\t ,fieldterminator =''0x0b''    ,fieldquote = ''0x0b''     ,rowterminator = ''0x0d'' ) '\n \n\tif @debug = 1 \t\n\t\tprint @tsql;\n \n\tset @td_checkpoint1 = getdate();  \n\texec(@tsql);\n\tset @td_checkpoint2 = getdate();\n\n\tprint 'Loading _last_checkpoint files took ' + convert(varchar(50),datediff(ms, @td_checkpoint1,@td_checkpoint2)) + ' ms'\n\n\tif @debug = 1 \n\tbegin \n\t\tselect '_Last_checkpoint', *  from #last_checkpoint\n\tend\n\t\n\tselect @checkpointversion = ISNULL(JSON_VALUE(info,'$.version'),'00') from #last_checkpoint;\n\t\n\tif NOT EXISTS(SELECT * FROM #last_checkpoint)\n\tBEGIN\n\t\tSET @checkpointversion = '00'\n\tEND\n\n\n\tPRINT 'checkpointversion=' +@checkpointversion\n\n\tset @jsonversionchar = '00000000000000000000';\n\n\tIF OBJECT_ID('tempdb..#delta_checkpoint') IS NOT NULL\n\t\tDROP TABLE #delta_checkpoint\n\n\tcreate table #delta_checkpoint\n\t(\n\t\ttxn varchar(max),\n\t\t[add] varchar(max),\n\t\t[remove] varchar(max),\n\t\tmetaData varchar(max),\n\t\tprotocol varchar(max)\n\t) with (distribution=round_robin, heap)\n\n\t--- Code to pull the the add / remove files from the checkpoint files.\n\tset @tsql_checkpoint = ' \n\tcopy into  #delta_checkpoint\tfrom ''' + @folder + '_delta_log/*.checkpoint.parquet''\n\t with ( ' + @credential +  '  ,FILE_TYPE = ''PARQUET'', AUTO_CREATE_TABLE = ''ON''   ) '\n\n\t if @debug = 1\n\t BEGIN\n\t\tprint @tsql_checkpoint;\n\tEND\n \n\tset @td_checkpoint1 = getdate()  \n\texec(@tsql_checkpoint);\n\tset @td_checkpoint2 = getdate()\n\n\tprint 'Loading checkpoint files took ' + convert(varchar(50),datediff(ms, @td_checkpoint1,@td_checkpoint2)) + ' ms'\n\n\tSELECT @checkpoint_file_count = count(*) from #delta_checkpoint\n\n\t if @debug = 1 \n\t BEGIN\n\t\tprint 'No of checkpoint files ' + convert(varchar(10),@checkpoint_file_count);\n\t\t\n\t\tSELECT * FROM #delta_checkpoint order by [add],[remove]\n\tEND\n\t-- Holds the information from the checkpoint files ---------\n\tIF OBJECT_ID('tempdb..#delta_files_checkpoint') IS NOT NULL\n\t  BEGIN;\n\t\tprint 'Dropping table #delta_files_checkpoint'\n\t\tDROP TABLE #delta_files_checkpoint\n\tEND\n\t\n\tcreate table #delta_files_checkpoint\n\t(\n\t\tfname varchar(99),\n\t\tts bigint,\n\t\tdt datetime2,\n\t\t[action] char(1)\n\t) with (distribution=round_robin, heap)\n\n\t-- create a table of add/remove files with the datetimestamp\n\tINSERT INTO #delta_files_checkpoint\n\tselect DISTINCT\n\t\tCASE WHEN JSON_VALUE([add],'$.path') is NULL THEN\n\t\t\tJSON_VALUE([remove],'$.path')\n\t\tELSE\n\t\t\tJSON_VALUE([add],'$.path') \n\t\tEND fname,\n\t\tCASE \n\t\tWHEN JSON_VALUE([add],'$.path') is NULL THEN\n\t\t\tconvert(bigint,JSON_VALUE([remove],'$.deletionTimestamp'))\n\t\tELSE\n\t\t\tconvert(bigint,JSON_VALUE([add],'$.modificationTime')) \n\t\t\tEND updatetime,\n\t\tCASE \n\t\tWHEN JSON_VALUE([add],'$.path') is NULL THEN\n\t\t\tdateadd(s, convert(bigint,JSON_VALUE([remove],'$.deletionTimestamp'))  / 1000 , '1970/1/1')\n\t\tELSE\n\t\t\tdateadd(s, convert(bigint,JSON_VALUE([add],'$.modificationTime'))  / 1000 , '1970/1/1')\n\t\tEND updatetimedt,\n\t\tCASE\tWHEN JSON_VALUE([add],'$.path') is NULL THEN\n\t\t\t'R'\n\t\tELSE\n\t\t\t'A'\n\t\tEND [action]\n\t\tfrom #delta_checkpoint\n\n\tDELETE from #delta_files_checkpoint where fname is null\n\n\tif @debug = 1 \t\n\t\tSELECT 'checkpoint', * , @ts, @dt FROM #delta_files_checkpoint order by dt desc\n\n\t -- remove files after the given time \n\t DELETE FROM #delta_files_checkpoint  \tWHERE ts > @ts \n\n\tif @debug = 1 \t\n\t\tSELECT 'checkpoint filtered', * , @ts, @dt FROM #delta_files_checkpoint  order by dt desc\n\n\t---- Holds the raw json information -----------------------------\n\tIF OBJECT_ID('tempdb..#delta_json') IS NOT NULL\n\t  BEGIN;\n\t\tDROP TABLE #delta_json\n\tEND\n\n\tcreate table #delta_json\n\t(\n\t\tjsoninput varchar(max)\n\t) with (distribution=round_robin, heap)\n\t----------------------------------------------------------------\n\n\tset @jsonversionchar=  left(substring(@jsonversionchar,0,len(@jsonversionchar)-len(@checkpointversion)+1) + @checkpointversion,len(@jsonversionchar)-1) + '*'\n\n\t-- Read all the delta transaction logs, we cant filter out things by file name.\n\tset @tsql = '\n\tcopy into  #delta_json (jsoninput)\n\tfrom ''' + @folder + '_delta_log/'+ @jsonversionchar +'.json''\n\t with ( \t' + @credential +  '    ,FILE_TYPE = ''CSV''\n\t ,fieldterminator =''0x0b''    ,fieldquote = ''0x0b''     ,rowterminator = ''0x0d'' ) '\n \n\tif @debug = 1 \t\n\t\tprint @tsql;\n \n\tset @td_checkpoint1 = getdate();  \n\texec(@tsql);\n\tset @td_checkpoint2 = getdate();\n\n\tprint 'Loading json files took ' + convert(varchar(50),datediff(ms, @td_checkpoint1,@td_checkpoint2)) + ' ms'\n\n\tif @debug = 1 \t\n\t\tSELECT 'JSON Files', * , @ts, @dt FROM #delta_json\n\n\t---- delta file details..\n\tIF OBJECT_ID('tempdb..#delta_active_json') IS NOT NULL\n\t  BEGIN;\n\t\tDROP TABLE #delta_active_json\n\tEND\n\n\tcreate table #delta_active_json\n\t(\n\t\tjsoninput varchar(max) , \n\t\tts bigint,\n\t\tdt datetime2,\n\t\t[action] char(1)\n\t) with (distribution=round_robin, heap)\n\t-----------------------------------------------------------\n\n\t-- inserting into temp table, so the date and time is associated to each row\n\tinsert into #delta_active_json\n\t\tselect  \n\t\t\tconvert(varchar(max),jsoninput)\n\t\t\t, convert(bigint,JSON_VALUE(jsoninput,'$.commitInfo.timestamp'))  as ts\n\t\t\t, dateadd(s, convert(bigint,JSON_VALUE(jsoninput,'$.commitInfo.timestamp'))  / 1000 , '1970/1/1')\n\t\t\t,''\n\t\tfrom #delta_json \n\t\tWHERE convert(bigint,JSON_VALUE(jsoninput,'$.commitInfo.timestamp')) < @ts  \n\n\n\tif @debug = 1 \t\n\t\tselect 'json filtered by date',*, @ts, @dt\tfrom #delta_active_json order by dt desc\n\n\t-- left in for debugging -- shows each version of the JSON\n\tif @debug = 1 \n\tbegin\n\t\tselect  'not filtered',\n\t\tconvert(bigint,JSON_VALUE(jsoninput,'$.commitInfo.timestamp'))  as ts\n\t\t, convert(varchar(8000),jsoninput)\n\t\t, dateadd(s, convert(bigint,JSON_VALUE(jsoninput,'$.commitInfo.timestamp'))  / 1000 , '1970/1/1')\n\t\t,ROW_NUMBER() OVER(PARTITION BY NULL ORDER BY  JSON_VALUE(jsoninput,'$.commitInfo.timestamp') DESC) AS \"Row Number\" \n\t\t,convert(varchar(8000),jsoninput)\n\t\t, @ts, @dt \n\t\tfrom #delta_json  \n\t\torder by convert(bigint,JSON_VALUE(jsoninput,'$.commitInfo.timestamp'))  desc\n\tend\n\n\n\t---------------------------------------------------------\n\t-- insert the JSON adds and removes to the existing list from checkpoint\n\tinsert into #delta_files_checkpoint\n\tselect  substring(value,charindex('path',value)+7 ,67) [path] \n\t\t\t, convert(bigint,JSON_VALUE(jsoninput,'$.commitInfo.timestamp')) ts\n\t\t\t, dateadd(s, convert(bigint,JSON_VALUE(jsoninput,'$.commitInfo.timestamp'))  / 1000 , '1970/1/1') td\n\t\t\t,'A' as [action]\n\tfrom #delta_active_json \n\t\tcross apply STRING_SPLIT(jsoninput,',') \n\twhere value like '%path%' and  charindex('add',value) > 0\n\tunion all\n\tselect   substring(value,charindex('path',value)+7 ,67)\n\t\t\t, convert(bigint,JSON_VALUE(jsoninput,'$.commitInfo.timestamp')) ts\n\t\t\t, dateadd(s, convert(bigint,JSON_VALUE(jsoninput,'$.commitInfo.timestamp'))  / 1000 , '1970/1/1') td\n\t\t\t, 'R'\n\tfrom #delta_active_json \n\t\tcross apply STRING_SPLIT(jsoninput,',') \n\twhere value like '%path%' and  charindex('remove',value) > 0\n\n\n\tif @debug = 1 \n\tbegin\n\t\t-- all the adds and removes from the json\n\t\tselect 'adds', substring(value,charindex('path',value)+7 ,67) [path] \n\t\t\t, convert(bigint,JSON_VALUE(jsoninput,'$.commitInfo.timestamp')) ts\n\t\t\t, dateadd(s, convert(bigint,JSON_VALUE(jsoninput,'$.commitInfo.timestamp'))  / 1000 , '1970/1/1') td\n\t\t\t,'A' as [action] , @ts, @dt\n\t\tfrom #delta_active_json \n\t\t\tcross apply STRING_SPLIT(jsoninput,',') \n\t\twhere value like '%path%' and  charindex('add',value) > 0\n\n\t\tselect  'removes',  substring(value,charindex('path',value)+7 ,67)\n\t\t\t\t, convert(bigint,JSON_VALUE(jsoninput,'$.commitInfo.timestamp')) ts\n\t\t\t\t, dateadd(s, convert(bigint,JSON_VALUE(jsoninput,'$.commitInfo.timestamp'))  / 1000 , '1970/1/1') td\n\t\t\t\t, 'R', @ts, @dt\n\t\tfrom #delta_active_json \n\t\t\tcross apply STRING_SPLIT(jsoninput,',') \n\t\twhere value like '%path%' and  charindex('remove',value) > 0\n\t\n\t\tselect 'New list with adds and removes', *, @ts, @dt from #delta_files_checkpoint order by ts desc;\n\t\n\t\tselect distinct 'distinct list ', fname, dt, [action], @ts, @dt  from #delta_files_checkpoint order by dt desc;\n\tend\n\n\n\t---- Holds the raw json information -----------------------------\n\tIF OBJECT_ID('tempdb..#delta_files') IS NOT NULL\n\t  BEGIN;\n\t\tDROP TABLE #delta_files\n\tEND\n\n\tcreate table #delta_files\n\t(\n\t\tfilenames varchar(max), rownumber bigint\n\t) with (distribution=round_robin, heap)\n\n\tinsert into #delta_files\n\t\tselect fname, \n\t\tROW_NUMBER() OVER(PARTITION BY NULL ORDER BY fname DESC) \n\t\tfrom #delta_files_checkpoint where [action] = 'A' and\n\t\t\tfname not in (select fname from  #delta_files_checkpoint where [action] = 'R') \n\n\tif @debug = 1 \n\t\tselect '#delta_files', * from #delta_files;\n\n\tif @debug = 1 \n\t\tselect 'parquet to read ', fname,ts, @ts, dt, @dt from #delta_files_checkpoint where [action] = 'A' and\n\t\t\tfname not in (select fname from  #delta_files_checkpoint where [action] = 'R') \n\t\t--where ts < @ts\n\n\t--- This batching code might appear over kill, but STRING_AGG falls over when the string\n\t-- is too long.. so I am batching up the inserts.\n\n\tDECLARE @flist varchar(max);\n\tDECLARE @batchsize int = 100000;\n\tDECLARE @iParquetFileCount int =0;\n\tDECLARE @iParquetFilePos int =1;\n\tselect @iParquetFileCount = count(*) from #delta_files\n\n\tIF OBJECT_ID('tempdb..#_files') IS NOT NULL\n\t\tDROP TABLE #_files\n\n\tcreate table #_files\n\t( fname varchar(999) ) with (distribution=round_robin,heap)\n\n\t---- creating batches of COPY INTO statements\n\twhile(@iParquetFilePos <= @iParquetFileCount)\n\tBEGIN\n\t\tINSERT INTO #_files \n\t\tSELECT [filenames] FROM #delta_files where rownumber between @iParquetFilePos and @iParquetFilePos + @batchsize \n\n\t\t-- Had issues with STRING_AGG with if the string gets too long\n\t\tSELECT @flist = 'COPY INTO  ' + @dest_table + '  FROM '  \n\t\t\t\t\t\t+ STRING_AGG(CAST(''''+@folder+fname+'''' AS VARCHAR(MAX)), ',\n\t\t\t\t\t\t') + '   with ( \t' + @credential +  '\n\t\t\t\t\t\t\t,FILE_TYPE = ''PARQUET''  , AUTO_CREATE_TABLE = ''ON''  )' \n\t\t\t\t\t\t\tFROM #_files\n\n\t\tif @debug =1 \n\t\t\tselect '_filelist', * from #_files;\n\t\t\n\t\tif @debug =1 print @flist;\n\t\tif @debug =1 print len(@flist);\n\n\t\tset @td_checkpoint1 = getdate();  \n\t\texec(@flist);\n\t\tset @td_checkpoint2 = getdate();\n\n\t\tprint 'Loading batch of parquet ' + convert(varchar(10),@iParquetFilePos) + '->' +  convert(varchar(10), @iParquetFilePos + @batchsize ) + ' took ' + convert(varchar(50),datediff(ms, @td_checkpoint1,@td_checkpoint2)) + ' ms'\n\n\t\ttruncate table #_files;\n\t\tset @iParquetFilePos = @iParquetFilePos + @batchsize +1;\n\tEND\n\t\n\t-- if there is no file, there is no table and this causes a problem\n\tif charindex('#',@dest_table) > 0\n\t\tset @output_sql = 'IF OBJECT_ID(''tempdb..' + @dest_table + ''') IS NOT NULL \t SELECT * from ' + @dest_table + ';'\n\tELSE\n\t\tset @output_sql = 'IF OBJECT_ID(''' + @dest_table + ''') IS NOT NULL \t SELECT * from ' + @dest_table + ';'\n\n\tif @debug = 1\n\t\tPRINT @output_sql;\n\t\n\tif @display = 1\n\t\texec(@output_sql );\n\nend"
  },
  {
    "path": "TSQL_Queries/Identity_Columns/IdentityColumns.sql",
    "content": "/*\n\t======================\n\t   Identity Columns\n\t======================\n\tThis query will return information about identity columns for the given table.   \n\tSee source link for more information.\n\t\n\t**Fill in Schema and Table information\n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-identity\n*/\nSELECT  sm.name\n,       tb.name\n,       co.name\n,       CASE WHEN ic.column_id IS NOT NULL\n             THEN 1\n        ELSE 0\n        END AS is_identity \nFROM        sys.schemas AS sm\nJOIN        sys.tables  AS tb           ON  sm.schema_id = tb.schema_id\nJOIN        sys.columns AS co           ON  tb.object_id = co.object_id\nLEFT JOIN   sys.identity_columns AS ic  ON  co.object_id = ic.object_id\n                                        AND co.column_id = ic.column_id\nWHERE   sm.name = 'dbo'\nAND     tb.name = 'T1'\n;"
  },
  {
    "path": "TSQL_Queries/Indexes/CCIHealthByTable.sql",
    "content": "﻿/*\n\t=================================================\n\t   Clustered Columnstore Index Health by Table\n\t=================================================\n\n\tThis query will return the health of the columnstore index on each table. \n\n\tCollection Date:\tDate this collection was ran\n\tDatabase Name\t\t \n\tTable Name\n\tDistribution Type:\tHash (distributed), Replicated, Round Robin. \n\tOpen Row Group: \n*/\n\nSELECT               \n\tSYSDATETIME()\t\t\t\t\t\t\t\t\t\t\t\t\tas 'Collection_Date',\n    DB_Name()\t\t\t\t\t\t\t\t\t\t\t\t\t\tas 'Database_Name',\n\ts.name\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tas 'Schema_Name',\n    t.name\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tas 'Table_Name',\n\ttdp.distribution_policy_desc\t\t\t\t\t\t\t\t\tas 'Distribution_type',\n\tSUM(rg.Total_rows)\t\t\t\t\t\t\t\t\t\t\t\tas 'Total_Rows',\n\tpt.max_column_id_used\t\t\t\t\t\t\t\t\t\t\tas 'Column_Count',\n\t--MAX(p.partition_number)\t\t\t\t\t\t\t\t\t\t\tas 'Partition_Count',\n    SUM(CASE WHEN rg.State = 1 THEN 1 else 0 end)\t\t\t\t\tas 'OPEN_Row_Groups',\n    SUM(CASE WHEN rg.State = 1 THEN rg.Total_rows else 0 end)\t\tas 'OPEN_rows',\n    MIN(CASE WHEN rg.State = 1 THEN rg.Total_rows else NULL end)\tas 'MIN OPEN Row Group Rows',\n    MAX(CASE WHEN rg.State = 1 THEN rg.Total_rows else NULL end)\tas 'MAX OPEN_Row Group Rows',\n    AVG(CASE WHEN rg.State = 1 THEN rg.Total_rows else NULL end)\tas 'AVG OPEN_Row Group Rows',\n \n    SUM(CASE WHEN rg.State = 3 THEN 1 else 0 end)\t\t\t\t\tas 'COMPRESSED_Row_Groups',\n    SUM(CASE WHEN rg.State = 3 THEN rg.Total_rows else 0 end)\t\tas 'COMPRESSED_Rows',\n\tSUM(CASE WHEN rg.State = 3 THEN rg.deleted_rows else 0 end)\t\tas 'Deleted_COMPRESSED_Rows',\n\tMIN(CASE WHEN rg.State = 3 THEN rg.Total_rows else NULL end)\tas 'MIN COMPRESSED Row Group Rows',\n    MAX(CASE WHEN rg.State = 3 THEN rg.Total_rows else NULL end)\tas 'MAX COMPRESSED Row Group Rows',\n    AVG(CASE WHEN rg.State = 3 THEN rg.Total_rows else NULL end)\tas 'AVG_COMPRESSED_Rows',\n \n    SUM(CASE WHEN rg.State = 2 THEN 1 else 0 end)\t\t\t\t\tas 'CLOSED_Row_Groups',\n    SUM(CASE WHEN rg.State = 2 THEN rg.Total_rows else 0 end)\t\tas 'CLOSED_Rows',\n\tMIN(CASE WHEN rg.State = 2 THEN rg.Total_rows else NULL end)\tas 'MIN CLOSED Row Group Rows',\n    MAX(CASE WHEN rg.State = 2 THEN rg.Total_rows else NULL end)\tas 'MAX CLOSED Row Group Rows',\n    AVG(CASE WHEN rg.State = 2 THEN rg.Total_rows else NULL end)\tas 'AVG CLOSED Row Group Rows'\nFROM sys.dm_pdw_nodes_db_column_store_row_group_physical_stats rg\nINNER JOIN sys.pdw_nodes_tables pt\n\tON rg.object_id = pt.object_id\n\tAND rg.pdw_node_id = pt.pdw_node_id\n\tAND rg.distribution_id = pt.distribution_id\nINNER JOIN sys.pdw_table_mappings mp\n\tON pt.name = mp.physical_name\nINNER JOIN sys.tables t\n\tON     mp.object_id = t.object_id\nINNER JOIN sys.schemas s\n    ON t.schema_id = s.schema_id\nINNER JOIN sys.pdw_table_distribution_properties tdp\n\tON tdp.object_id = t.object_id\n--INNER JOIN sys.partitions p\n--\tON P.object_id = t.object_id\nGROUP BY t.name,s.name,tdp.distribution_policy_desc,pt.max_column_id_used\n\n\n\n \n"
  },
  {
    "path": "TSQL_Queries/Indexes/CCIHealthWithTrimReasons",
    "content": "*\n\t=================================================\n\t   Clustered Columnstore Index Health by Table\n\t=================================================\n\n\tThis query will return the health of the columnstore index on each table. \n\n\tCollection Date:\tDate this collection was ran\n\tDatabase Name\t\t \n\tTable Name\n\tDistribution Type:\tHash (distributed), Replicated, Round Robin. \n\tOpen Row Group: \n*/\n\nSELECT               \n\tSYSDATETIME()\t\t\t\t\t\t\t\t\t\t\t\t\tas 'Collection_Date',\n    DB_Name()\t\t\t\t\t\t\t\t\t\t\t\t\t\tas 'Database_Name',\n\ts.name\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tas 'Schema_Name',\n    t.name\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tas 'Table_Name',\n\ttdp.distribution_policy_desc\t\t\t\t\t\t\t\t\tas 'Distribution_type',\n\tSUM(rg.Total_rows)\t\t\t\t\t\t\t\t\t\t\t\tas 'Total_Rows',\n\tpt.max_column_id_used\t\t\t\t\t\t\t\t\t\t\tas 'Column_Count',\n\t--MAX(p.partition_number)\t\t\t\t\t\t\t\t\t\t\tas 'Partition_Count',\n    SUM(CASE WHEN rg.State = 1 THEN 1 else 0 end)\t\t\t\t\tas 'OPEN_Row_Groups',\n    SUM(CASE WHEN rg.State = 1 THEN rg.Total_rows else 0 end)\t\tas 'OPEN_rows',\n    MIN(CASE WHEN rg.State = 1 THEN rg.Total_rows else NULL end)\tas 'MIN OPEN Row Group Rows',\n    MAX(CASE WHEN rg.State = 1 THEN rg.Total_rows else NULL end)\tas 'MAX OPEN_Row Group Rows',\n    AVG(CASE WHEN rg.State = 1 THEN rg.Total_rows else NULL end)\tas 'AVG OPEN_Row Group Rows',\n \n    SUM(CASE WHEN rg.State = 3 THEN 1 else 0 end)\t\t\t\t\tas 'COMPRESSED_Row_Groups',\n    SUM(CASE WHEN rg.State = 3 THEN rg.Total_rows else 0 end)\t\tas 'COMPRESSED_Rows',\n\tSUM(CASE WHEN rg.State = 3 THEN rg.deleted_rows else 0 end)\t\tas 'Deleted_COMPRESSED_Rows',\n\tMIN(CASE WHEN rg.State = 3 THEN rg.Total_rows else NULL end)\tas 'MIN COMPRESSED Row Group Rows',\n    MAX(CASE WHEN rg.State = 3 THEN rg.Total_rows else NULL end)\tas 'MAX COMPRESSED Row Group Rows',\n    AVG(CASE WHEN rg.State = 3 THEN rg.Total_rows else NULL end)\tas 'AVG_COMPRESSED_Rows',\n \n    SUM(CASE WHEN rg.State = 2 THEN 1 else 0 end)\t\t\t\t\tas 'CLOSED_Row_Groups',\n    SUM(CASE WHEN rg.State = 2 THEN rg.Total_rows else 0 end)\t\tas 'CLOSED_Rows',\n\tMIN(CASE WHEN rg.State = 2 THEN rg.Total_rows else NULL end)\tas 'MIN CLOSED Row Group Rows',\n    MAX(CASE WHEN rg.State = 2 THEN rg.Total_rows else NULL end)\tas 'MAX CLOSED Row Group Rows',\n    AVG(CASE WHEN rg.State = 2 THEN rg.Total_rows else NULL end)\tas 'AVG CLOSED Row Group Rows',\n\t\n\tSUM(CASE WHEN rg.trim_reason = 0 THEN 1 else 0 end)\t\t\t\t\tas 'Unknown Trim',\n\tSUM(CASE WHEN rg.trim_reason = 1 THEN 1 else 0 end)\t\t\t\t\tas 'No_Trim',\n\tSUM(CASE WHEN rg.trim_reason = 2 THEN 1 else 0 end)\t\t\t\t\tas 'BULKLOAD',\n\tSUM(CASE WHEN rg.trim_reason = 3 THEN 1 else 0 end)\t\t\t\t\tas 'REORG',\n\tSUM(CASE WHEN rg.trim_reason = 4 THEN 1 else 0 end)\t\t\t\t\tas 'DICTIONARY_SIZE',\n\tSUM(CASE WHEN rg.trim_reason = 5 THEN 1 else 0 end)\t\t\t\t\tas 'MEMORY_LIMITATION',\n\tSUM(CASE WHEN rg.trim_reason = 6 THEN 1 else 0 end)\t\t\t\t\tas 'RESIDUAL_ROW_GROUP',\n\tSUM(CASE WHEN rg.trim_reason = 7 THEN 1 else 0 end)\t\t\t\t\tas 'STATS_MISMATCH',\n\tSUM(CASE WHEN rg.trim_reason = 8 THEN 1 else 0 end)\t\t\t\t\tas 'SPILLOVER',\n\tSUM(CASE WHEN rg.trim_reason = 9 THEN 1 else 0 end)\t\t\t\t\tas 'AUTO_MERGE'\n\t\nFROM sys.dm_pdw_nodes_db_column_store_row_group_physical_stats rg\nINNER JOIN sys.pdw_nodes_tables pt\n\tON rg.object_id = pt.object_id\n\tAND rg.pdw_node_id = pt.pdw_node_id\n\tAND rg.distribution_id = pt.distribution_id\nINNER JOIN sys.pdw_table_mappings mp\n\tON pt.name = mp.physical_name\nINNER JOIN sys.tables t\n\tON     mp.object_id = t.object_id\nINNER JOIN sys.schemas s\n    ON t.schema_id = s.schema_id\nINNER JOIN sys.pdw_table_distribution_properties tdp\n\tON tdp.object_id = t.object_id\n--INNER JOIN sys.partitions p\n--\tON P.object_id = t.object_id\nGROUP BY t.name,s.name,tdp.distribution_policy_desc,pt.max_column_id_used"
  },
  {
    "path": "TSQL_Queries/Indexes/CCITrimReason_BETA.sql",
    "content": "﻿/*\n\t=================================\n\t   CCI Trim Reason\n\t=================================\n\tThis query reports the Trim Reason for the individual Compressed RowGoups.\n\n*/\nWITH \n    cte_All_RowGroups AS (\n        SELECT  [Schema_Name], \n                [Table_Name],\n                Distribution_Type,\n                COUNT(*) AS rg_compressed_count_total\n            FROM [dbo].[vCS_rg_physical_stats]\n            WHERE rg_state = 3\n            GROUP BY [Schema_Name], [Table_Name], Distribution_Type ),\n\n    cte_Compressed_RowGroups AS (\n        SELECT  [Schema_Name], \n                [Table_Name],\n                rg_trim_reason      as trim_reason,\n                rg_trim_reason_desc as trim_reason_desc,\n                COUNT(*)            as trim_reason_rg_count\n            FROM [dbo].[vCS_rg_physical_stats]\n            WHERE rg_state = 3\n            GROUP BY [Schema_Name], [Table_Name], rg_trim_reason, rg_trim_reason_desc )\n\nSELECT  \n        SYSDATETIME() as 'Collection_Date',\n        DB_Name(),\n        a.*,\n        c.trim_reason,\n        c.trim_reason_desc,\n        c.trim_reason_rg_count\n    FROM cte_All_RowGroups a\n        LEFT OUTER JOIN cte_Compressed_RowGroups c\n            ON  a.[Schema_Name] = c.[Schema_Name]\n            AND a.[Table_Name]  = c.[Table_Name]\n    ORDER BY a.[Schema_Name], a.[Table_Name], c.trim_reason\n\n"
  },
  {
    "path": "TSQL_Queries/Indexes/CreateRowgroupHealthView.sql",
    "content": "/*\n\t=================================\n\t   Create Rowgroup Health View\n\t=================================\n\tThis query will create a view that contains useful information such as the number of rows in rowgroups\n\tand the reason for trimming if there was trimming. See source link for more info. \n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-memory-optimizations-for-columnstore-compression\n*/\ncreate view dbo.vCS_rg_physical_stats\nas \nwith cte\nas\n(\nselect   tb.[name]                    AS [logical_table_name]\n,        rg.[row_group_id]            AS [row_group_id]\n,        rg.[state]                   AS [state]\n,        rg.[state_desc]              AS [state_desc]\n,        rg.[total_rows]              AS [total_rows]\n,        rg.[trim_reason_desc]        AS trim_reason_desc\n,        mp.[physical_name]           AS physical_name\nFROM    sys.[schemas] sm\nJOIN    sys.[tables] tb               ON  sm.[schema_id]          = tb.[schema_id]                             \nJOIN    sys.[pdw_permanent_table_mappings] mp   ON  tb.[object_id]          = mp.[object_id]\nJOIN    sys.[pdw_nodes_tables] nt     ON  nt.[name]               = mp.[physical_name]\nJOIN    sys.[dm_pdw_nodes_db_column_store_row_group_physical_stats] rg      ON  rg.[object_id]     = nt.[object_id]\n                                                                            AND rg.[pdw_node_id]   = nt.[pdw_node_id]\n                                        AND rg.[distribution_id]    = nt.[distribution_id]                                          \n)\nselect *\nfrom cte;"
  },
  {
    "path": "TSQL_Queries/Indexes/ReorgOrRebuildColumnstoreByPartition_All.sql",
    "content": "/*\n\t============================================\n\t   Rebuild Columnstore Index By partition\n\t============================================\n\tThis query will loop through all partitions in a table and rebuild\n\tthe columnstore index per partition. Perfoming rebuilds this way require\n\ta smaller memory grant \n\t\n\tChoose whether you want to perform a reorganize (online) or REBUILD (offline) by \n\tcommenting and uncommenting the proper command. \n\t\n*/\nDECLARE @schemaName VARCHAR(50) = 'dbo' \nDECLARE @tableName VARCHAR(100)= 'FactInternetSales_partitioned'\nDECLARE @counter INT \nDECLARE @partitionCount INT \n\n\nSET @counter=1\nSET @partitionCount=(\n\t\t\tSELECT \n\t\t\t\tmax(p.partition_number) AS 'Num_Partitions'\n\t\t\tFROM sys.partitions p\n\t\t\tJOIN sys.tables t\n\t\t\t\tON P.object_id = t.object_id\n\t\t\tJOIN sys.schemas s\n\t\t\t\tON t.[schema_id] = s.[schema_id]\n\t\t\tWHERE s.name = @schemaName\n\t\t\tAND t.name = @tableName\n\t\t\tgroup by s.[name],t.[name]\n\t\t\t)\n\nWHILE ( @counter <= @partitionCount)\nBEGIN\n\tDECLARE @s NVARCHAR(4000) = N''\n\n\t--Choose whether or not you want to do a rebuild or reorganize by uncommenting the proper command. Default is reorganize.\n\t--SET @s = ('ALTER INDEX ALL ON ' + @schemaName + '.' + @tableName + ' REBUILD PARTITION = ' + CAST(@counter AS varchar(10))) --rebuild command (offline operation)\n\tSET @s = ('ALTER INDEX ALL ON ' + @schemaName + '.' + @tableName + ' REORGANIZE PARTITION = ' + CAST(@counter AS varchar(10)) + ' WITH (COMPRESS_ALL_ROW_GROUPS = ON)') --REORGANIZE command (online operation)\n\tPRINT @s\n\n\tEXEC sp_executesql @s\n\n    SET @counter  = @counter  + 1\nEND"
  },
  {
    "path": "TSQL_Queries/Indexes/ReorgOrRebuildColumnstore_LatestPartitionsOnly.sql",
    "content": "/*\n\t============================================\n\t   Rebuild Columnstore Index By partiiton\n\t============================================\n\tThis query will loop through all partitions in a table and rebuild\n\tthe columnstore index per partition. Perfoming rebuilds this way require\n\ta smaller memory grant \n\t\n\tSET Schema, dbo, and number of partitions to alter before running\n\n*/\n--Set these 3 variables\nDECLARE @schemaName VARCHAR(50) = 'dbo' \nDECLARE @tableName VARCHAR(100) = 'FactInternetSales_partitioned'\nDECLARE @numPartitionsToAlter INT = 2 --1 for only max partition with data, 2 for last 2, etc.\n\nDECLARE @counter INT \nDECLARE @maxPartitionWithData INT \n\nSET @maxPartitionWithData=(\n\t\t\tSELECT \n\t\t\t\tmax(pnp.partition_number) AS 'Max_Parititon_With_Data'\n\t\t\t FROM\n\t\t\t   sys.tables t\n\t\t\tINNER JOIN sys.indexes i\n\t\t\t\tON  t.[object_id] = i.[object_id]\n\t\t\t\tAND i.[index_id] <= 1 /* HEAP = 0, CLUSTERED or CLUSTERED_COLUMNSTORE =1 */\n\t\t\tINNER JOIN sys.pdw_table_mappings tm\n\t\t\t\tON t.[object_id] = tm.[object_id]\n\t\t\tINNER JOIN sys.pdw_nodes_tables nt\n\t\t\t\tON tm.[physical_name] = nt.[name]\n\t\t\tINNER JOIN sys.pdw_nodes_partitions pnp \n\t\t\t\tON nt.[object_id]=pnp.[object_id] \n\t\t\t\tAND nt.[pdw_node_id]=pnp.[pdw_node_id] \n\t\t\t\tAND nt.[distribution_id] = pnp.[distribution_id]\n\t\t\tINNER JOIN sys.dm_pdw_nodes_db_partition_stats nps\n\t\t\t\tON nt.[object_id] = nps.[object_id]\n\t\t\t\tAND nt.[pdw_node_id] = nps.[pdw_node_id]\n\t\t\t\tAND nt.[distribution_id] = nps.[distribution_id]\n\t\t\t\tAND pnp.[partition_id]=nps.[partition_id]\n\t\t\tJOIN sys.schemas s\n\t\t\t\tON s.[schema_id] = t.[schema_id]\n\t\t\tWHERE s.name = @schemaName \n\t\t\tAND t.name=@tableName\n\t\t\tAND nps.[row_count] > 0\n\t\t\tGROUP BY s.[name],t.[name]\n\t\t\t)\nSET @counter=@maxPartitionWithData - @numPartitionsToAlter + 1\n\nWHILE ( @counter <= @maxPartitionWithData)\nBEGIN\n\tDECLARE @s NVARCHAR(4000) = N''\n\n\t--SET @s = ('ALTER INDEX ALL ON ' + @schemaName + '.' + @tableName + ' REBUILD PARTITION = ' + CAST(@counter AS varchar(10))) --rebuild command (offline operation)\n\tSET @s = ('ALTER INDEX ALL ON ' + @schemaName + '.' + @tableName + ' REORGANIZE PARTITION = ' + CAST(@counter AS varchar(10)) + ' WITH (COMPRESS_ALL_ROW_GROUPS = ON)') --REORGANIZE command (online operation)\n\tPRINT @s\n\n\tEXEC sp_executesql @s\n\n    SET @counter  = @counter  + 1\nEND"
  },
  {
    "path": "TSQL_Queries/Partitions/GetPartitionColumn.sql",
    "content": "select c.name\nfrom sys.index_columns ic\njoin sys.tables t on t.object_id = ic.object_id\njoin sys.columns c\non c.object_id = ic.object_id and c.column_id = ic.column_id\nwhere ic.partition_ordinal > 0\nand t.object_id  = (select object_id from sys.objects where name =  'FactInternetSalespartition')"
  },
  {
    "path": "TSQL_Queries/Partitions/MaxPartitionWithData.sql",
    "content": "/*\n\t=============================\n\t   Max Parititon With Data\n\t=============================\n\tThis query will use sys.dm_pdw_nodes_db_partition_stats to return the last partition that has data\n\tfor the specified table. Using sys.dm_pdw_nodes_db_partition_stats is much more \n\taccurate than just using sys.partition_stats. This is useful if you have pre-built partitions, but \n\tneed to identify the last one that contains data for maintenance activities like columnstore rebuilds.\n\t\n*/\nSELECT \n\ts.[name]\n\t,t.[name]\n\t,sum(nps.[row_count]) AS 'Table_Row_Count'\n\t,sum(nps.[used_page_count]*8.0/1024) AS 'Table_Used_Space_MB'\n\t,max(pnp.partition_number) AS 'Max_Parititon_With_Data'\n FROM\n   sys.tables t\nINNER JOIN sys.indexes i\n    ON  t.[object_id] = i.[object_id]\n    AND i.[index_id] <= 1 /* HEAP = 0, CLUSTERED or CLUSTERED_COLUMNSTORE =1 */\nINNER JOIN sys.pdw_table_mappings tm\n    ON t.[object_id] = tm.[object_id]\nINNER JOIN sys.pdw_nodes_tables nt\n    ON tm.[physical_name] = nt.[name]\nINNER JOIN sys.pdw_nodes_partitions pnp \n    ON nt.[object_id]=pnp.[object_id] \n    AND nt.[pdw_node_id]=pnp.[pdw_node_id] \n    AND nt.[distribution_id] = pnp.[distribution_id]\nINNER JOIN sys.dm_pdw_nodes_db_partition_stats nps\n    ON nt.[object_id] = nps.[object_id]\n    AND nt.[pdw_node_id] = nps.[pdw_node_id]\n    AND nt.[distribution_id] = nps.[distribution_id]\n    AND pnp.[partition_id]=nps.[partition_id]\nJOIN sys.schemas s\n\tON s.[schema_id] = t.[schema_id]\nWHERE s.name = 'dbo' --comment out for all schemas \nAND t.name='FactInternetSales' --comment out for all tables\nAND nps.[row_count] > 0\nGROUP BY s.[name],t.[name]\n"
  },
  {
    "path": "TSQL_Queries/Partitions/RowsPerPartition.sql",
    "content": "/*\n\t=============================\n\t   Row count per partition\n\t=============================\n\tThis query will use sys.dm_pdw_nodes_db_partition_stats to return the row count in each partition\n\tfor the specified table. Using sys.dm_pdw_nodes_db_partition_stats is much more \n\taccurate than just using sys.partition_stats.\n\t\n*/\nSELECT \n\tpnp.partition_number\n\t,s.[name]\n\t,t.[name]\n\t,sum(nps.[row_count])\n\t,sum(nps.[used_page_count]*8.0/1024) as usedSpaceMB\n FROM\n   sys.tables t\nINNER JOIN sys.indexes i\n    ON  t.[object_id] = i.[object_id]\n    AND i.[index_id] <= 1 /* HEAP = 0, CLUSTERED or CLUSTERED_COLUMNSTORE =1 */\nINNER JOIN sys.pdw_table_mappings tm\n    ON t.[object_id] = tm.[object_id]\nINNER JOIN sys.pdw_nodes_tables nt\n    ON tm.[physical_name] = nt.[name]\nINNER JOIN sys.pdw_nodes_partitions pnp \n    ON nt.[object_id]=pnp.[object_id] \n    AND nt.[pdw_node_id]=pnp.[pdw_node_id] \n    AND nt.[distribution_id] = pnp.[distribution_id]\nINNER JOIN sys.dm_pdw_nodes_db_partition_stats nps\n    ON nt.[object_id] = nps.[object_id]\n    AND nt.[pdw_node_id] = nps.[pdw_node_id]\n    AND nt.[distribution_id] = nps.[distribution_id]\n    AND pnp.[partition_id]=nps.[partition_id]\nJOIN sys.schemas s\n\tON s.[schema_id] = t.[schema_id]\nWHERE s.name = 'dbo' --comment out for all schemas \nAND t.name='FactInternetSales_partitioned' --comment out for all tables\nGROUP BY pnp.partition_number,s.[name],t.[name]\nORDER BY pnp.partition_number ASC;"
  },
  {
    "path": "TSQL_Queries/Permissions/All_Database_Permissions.sql",
    "content": "--This query will list ALL PERMISSIONS in the database. It includes permissions granted to principals through role membership and permissions granted explicitly to principals. \n--It also includes all role membership whether or not permissions are granted through that role. In this case the permission columns will be NULL.\nSELECT DB_NAME() AS 'Database',* FROM \n(\n--List permissions granted outside of database roles\nSELECT \n       prin.name AS 'Database_Principal',\n       '<explicit>' AS 'Permission_Derived_From',\n       prin.type_desc AS 'Principal_Type',\n       prin.authentication_type_desc AS 'Authnetication',\n       perm.state_desc AS 'Action',\n       perm.permission_name AS 'Permission',\n    CASE perm.class\n      WHEN 0 THEN 'Database::' + DB_NAME()\n      WHEN 1 THEN OBJECT_NAME(perm.major_id)\n      WHEN 3 THEN 'Schema::' + SCHEMA_NAME(perm.major_id) END AS 'Securable'\n,\tGETDATE() AS 'Collection_Date'\nFROM sys.database_principals prin\nJOIN sys.database_permissions perm\nON prin.principal_id = perm.grantee_principal_id\n\n\nUNION ALL\n\n--List Database Role Members and their derived permission\nSELECT \n   DP2.name AS 'Database_Principal', \n       DP1.name AS 'Permission_Derived_From', \n       DP2.type_desc AS 'Principal_Type',\n       DP2.authentication_type_desc AS 'Authnetication',\n   CASE DP1.name\n              WHEN 'db_owner' THEN 'IMPLICIT - FDR'\n              WHEN 'db_ddladmin' THEN 'IMPLICIT - FDR'\n              WHEN 'db_datareader' THEN 'IMPLICIT - FDR'\n              WHEN 'db_datawriter' THEN 'IMPLICIT - FDR'\n              WHEN 'db_securityadmin' THEN 'IMPLICIT - FDR'\n              WHEN 'db_accessadmin' THEN 'IMPLICIT - FDR'\n              WHEN 'db_backupoperator' THEN 'IMPLICIT - FDR'\n              WHEN 'db_denydatawriter' THEN 'IMPLICIT - FDR'\n              WHEN 'db_denydatareader' THEN 'IMPLICIT - FDR' \n              ELSE pe.state_desc END AS 'Action',\n   CASE DP1.name\n              WHEN 'db_owner' THEN 'CONTROL'\n              WHEN 'db_ddladmin' THEN 'CREATE, DROP, ALTER ON ANY OBJECTS'\n              WHEN 'db_datareader' THEN 'SELECT'\n              WHEN 'db_datawriter' THEN 'INSERT,UPDATE,DELETE'\n              WHEN 'db_securityadmin' THEN 'Mange Role Membership and perms'\n              WHEN 'db_accessadmin' THEN 'GRANT/REVOKE access to users/roles'\n              WHEN 'db_backupoperator' THEN 'Can BACKUP DB'\n              WHEN 'db_denydatawriter' THEN 'DENY INSERT,UPDATE,DELETE'\n              WHEN 'db_denydatareader' THEN 'DENY SELECT' \n              ELSE pe.permission_name END AS 'Permission',\n   CASE pe.class\n      WHEN 0 THEN 'Database::' + DB_NAME()\n      WHEN 1 THEN OBJECT_NAME(pe.major_id)\n      WHEN 3 THEN 'Schema::' + SCHEMA_NAME(pe.major_id) \n         ELSE 'Database::' + DB_NAME() END AS 'Securable'\n,\tGETDATE() AS 'Collection_Date'\nFROM sys.database_role_members AS DRM  \nRIGHT OUTER JOIN sys.database_principals AS DP1  \n   ON DRM.role_principal_id = DP1.principal_id  \n LEFT OUTER JOIN sys.database_principals AS DP2  \n   ON DRM.member_principal_id = DP2.principal_id  \nLEFT JOIN sys.database_permissions AS pe  \n    ON pe.grantee_principal_id = DP1.principal_id\nWHERE DP1.type = 'R'\nAND DP2.name IS NOT NULL\n) perms ORDER BY Permission\n"
  },
  {
    "path": "TSQL_Queries/Query_Store/GetApproxTimeRemaining_QueryStore.sql",
    "content": "--Calculate approximate time remaining for running queries based on hits on teh query text in query store. \nSELECT\nreq.session_id,\nreq.request_id,\nreq.total_elapsed_time/1000/60 As Elapsed_minutes,\nROUND(avg(abs([stats].avg_duration))/1000/1000/60,1) as 'AVG_Duration (min)',\nmin(abs([stats].min_duration))/1000/1000/60 AS 'MIN_Duration (min)',\nMAX(abs([stats].max_duration))/1000/1000/60 AS 'MAX_duration (min)',\nROUND((avg(abs([stats].avg_duration))/1000 - req.total_elapsed_time)/1000/60,1) AS avg_estimated_mins_remaining,\n(min(abs([stats].min_duration))/1000 - req.total_elapsed_time)/1000/60 AS min_estimated_mins_remaining,\n(MAX(abs([stats].max_duration))/1000 - req.total_elapsed_time)/1000/60 AS max_estimated_mins_remaining,\nreq.command\nFROM sys.dm_pdw_exec_requests req\nLEFT JOIN sys.query_store_query_text [text] \nON LEFT(req.command,4000) = LEFT([text].query_sql_text,4000)\nLEFT JOIN sys.query_store_query query\nON query.query_text_id = [text].query_text_id\nLEFT JOIN sys.query_store_plan [plan]\nON query.query_id = [plan].query_id\nLEFT JOIN sys.query_store_runtime_stats [stats]\nON [stats].plan_id = [plan].plan_id\nWHERE req.status = 'Running'\nAND req.resource_allocation_percentage IS NOT NULL\nAND [stats].Execution_type = 0\nGROUP BY req.command,req.request_id,req.total_elapsed_time,req.session_id\norder by req.total_elapsed_time desc\n"
  },
  {
    "path": "TSQL_Queries/Query_Store/GetFullQueryText.sql",
    "content": "/*\n\t===============================\n\t   Get Full Query Text\n\t===============================\n\tThe following query will collect the full query text for a query out of the query store\n    Filter on your query_id to see a particular query.\n*/\nSELECT\n     q.query_id\n     , t.query_sql_text\nFROM\n     sys.query_store_query q\n     JOIN sys.query_store_query_text t ON q.query_text_id = t.query_text_id;\n"
  },
  {
    "path": "TSQL_Queries/Query_Store/GetQueriesWithBiggestIOReads.sql",
    "content": "/*\n\t========================================================\n\t   Get Queries with biggest IO Reads in last 24 hours\n\t========================================================\n\tThe following query will collect the top 10 quereis with the largest average physical IO reads \n    in the last 24 hours. \n*/\nSELECT TOP 10 rs.avg_physical_io_reads, qt.query_sql_text,   \n    q.query_id, qt.query_text_id, p.plan_id, rs.runtime_stats_id,   \n    rsi.start_time, rsi.end_time, rs.avg_rowcount, rs.count_executions  \nFROM sys.query_store_query_text AS qt   \nJOIN sys.query_store_query AS q   \n    ON qt.query_text_id = q.query_text_id   \nJOIN sys.query_store_plan AS p   \n    ON q.query_id = p.query_id   \nJOIN sys.query_store_runtime_stats AS rs   \n    ON p.plan_id = rs.plan_id   \nJOIN sys.query_store_runtime_stats_interval AS rsi   \n    ON rsi.runtime_stats_interval_id = rs.runtime_stats_interval_id  \nWHERE rsi.start_time >= DATEADD(hour, -24, GETUTCDATE())   \nORDER BY rs.avg_physical_io_reads DESC; "
  },
  {
    "path": "TSQL_Queries/Query_Store/GetQueriesWithMultiplePlans.sql",
    "content": "/*\n\t========================================================\n\t   Get Queries with Multiple plans\n\t========================================================\n\t These queries are especially interesting because they are candidates for \n     regressions due to plan choice change. The following query identifies these queries along with all plans:\n*/\nWITH Query_MultPlans  \nAS  \n(  \nSELECT COUNT(*) AS cnt, q.query_id   \nFROM sys.query_store_query_text AS qt  \nJOIN sys.query_store_query AS q  \n    ON qt.query_text_id = q.query_text_id  \nJOIN sys.query_store_plan AS p  \n    ON p.query_id = q.query_id  \nGROUP BY q.query_id  \nHAVING COUNT(distinct plan_id) > 1  \n)  \n  \nSELECT q.query_id, object_name(object_id) AS ContainingObject,   \n    query_sql_text, plan_id, p.query_plan AS plan_xml,  \n    p.last_compile_start_time, p.last_execution_time  \nFROM Query_MultPlans AS qm  \nJOIN sys.query_store_query AS q  \n    ON qm.query_id = q.query_id  \nJOIN sys.query_store_plan AS p  \n    ON q.query_id = p.query_id  \nJOIN sys.query_store_query_text qt   \n    ON qt.query_text_id = q.query_text_id  \nORDER BY query_id, plan_id;  \n"
  },
  {
    "path": "TSQL_Queries/Query_Store/GetQueryExecutionTime.sql",
    "content": "/*\n\t======================================\n\t   Find exeuction times for a query\n\t======================================\n\tThe following query will Query also gathers runtime query statistics\n    to help you focus on queries with variance in execution. \n    The variance could be for a variety of reasons such as loading a bunch of new data.\n*/\nSELECT\n       q.query_id               [query_id]\n       , t.query_sql_text       [command]\n       , rs.avg_duration        [avg_duration]\n       , rs.min_duration        [min_duration]\n       , rs.max_duration        [max_duration]\nFROM\n       sys.query_store_query q\n       JOIN sys.query_store_query_text t ON q.query_text_id = t.query_text_id\n       JOIN sys.query_store_plan p ON p.query_id = q.query_id\n       JOIN sys.query_store_runtime_stats rs ON rs.plan_id = p.plan_id\nWHERE\n       q.query_id = 10\n       AND rs.avg_duration > 0;\n"
  },
  {
    "path": "TSQL_Queries/Query_Store/GetQueryStoreSpaceUsage.sql",
    "content": "/*\n\t========================================================\n\t   Get Query Store Space Usage\n\t========================================================\n\t The following query will check current the Query Store size and \n     size limit.\n     To clear space you can use: \n     ALTER DATABASE <db_name> SET QUERY_STORE CLEAR;  \n*/\nSELECT current_storage_size_mb, max_storage_size_mb   \nFROM sys.database_query_store_options;  \n"
  },
  {
    "path": "TSQL_Queries/Query_Store/GetQueryStoreState.sql",
    "content": "/*\n\t========================================================\n\t   Get QUery Store State\n\t========================================================\n\t The following query will determine if Query Store is currently active, \n     and whether it is currently collects runtime stats or not.\n*/\nSELECT actual_state, actual_state_desc, readonly_reason,   \n    current_storage_size_mb, max_storage_size_mb  \nFROM sys.database_query_store_options;  \n"
  },
  {
    "path": "TSQL_Queries/Query_Store/GetRecentlyRegressedQueries.sql",
    "content": "/*\n\t========================================================\n\t   Get Recently Regressed Queries\n\t========================================================\n\t The following query example returns all queries for which execution time doubled \n     in last 48 hours due to a plan choice change. Query compares all runtime stat intervals side by side.\n*/\nSELECT   \n    qt.query_sql_text,   \n    q.query_id,   \n    qt.query_text_id,   \n    rs1.runtime_stats_id AS runtime_stats_id_1,  \n    rsi1.start_time AS interval_1,   \n    p1.plan_id AS plan_1,   \n    rs1.avg_duration AS avg_duration_1,   \n    rs2.avg_duration AS avg_duration_2,  \n    p2.plan_id AS plan_2,   \n    rsi2.start_time AS interval_2,   \n    rs2.runtime_stats_id AS runtime_stats_id_2  \nFROM sys.query_store_query_text AS qt   \nJOIN sys.query_store_query AS q   \n    ON qt.query_text_id = q.query_text_id   \nJOIN sys.query_store_plan AS p1   \n    ON q.query_id = p1.query_id   \nJOIN sys.query_store_runtime_stats AS rs1   \n    ON p1.plan_id = rs1.plan_id   \nJOIN sys.query_store_runtime_stats_interval AS rsi1   \n    ON rsi1.runtime_stats_interval_id = rs1.runtime_stats_interval_id   \nJOIN sys.query_store_plan AS p2   \n    ON q.query_id = p2.query_id   \nJOIN sys.query_store_runtime_stats AS rs2   \n    ON p2.plan_id = rs2.plan_id   \nJOIN sys.query_store_runtime_stats_interval AS rsi2   \n    ON rsi2.runtime_stats_interval_id = rs2.runtime_stats_interval_id  \nWHERE rsi1.start_time > DATEADD(hour, -48, GETUTCDATE())   \n    AND rsi2.start_time > rsi1.start_time   \n    AND p1.plan_id <> p2.plan_id  \n    AND rs2.avg_duration > 2*rs1.avg_duration  \nORDER BY q.query_id, rsi1.start_time, rsi2.start_time; \n"
  },
  {
    "path": "TSQL_Queries/Query_Store/GetTopQueriesByExecutionCount.sql",
    "content": "/*\n\t====================================\n\t   Top Queries By Execution Count\n\t====================================\n\tThe following query will find the top 10 queries by execution count\n*/\nSELECT TOP 10\n       q.query_id                    [query_id]\n       , t.query_sql_text            [command]\n       , SUM(rs.count_executions)    [execution_count]\nFROM\n       sys.query_store_query q\n       JOIN sys.query_store_query_text t ON q.query_text_id = t.query_text_id\n       JOIN sys.query_store_plan p ON p.query_id = q.query_id\n       JOIN sys.query_store_runtime_stats rs ON rs.plan_id = p.plan_id\nGROUP BY\n       q.query_id , t.query_sql_text ORDER BY 3 DESC;\n"
  },
  {
    "path": "TSQL_Queries/Query_Store/GetTopQueriesByExecutionTime.sql",
    "content": "/*\n\t====================================\n\t   Top Queries By Execution Time\n\t====================================\n\tThe following query will find the top queries by execution time\n*/\nSELECT\n       q.query_id               [query_id]\n       , t.query_sql_text       [command]\n       , rs.avg_duration        [avg_duration]\n       , rs.min_duration        [min_duration]\n       , rs.max_duration        [max_duration]\nFROM\n       sys.query_store_query q\n       JOIN sys.query_store_query_text t ON q.query_text_id = t.query_text_id\n       JOIN sys.query_store_plan p ON p.query_id = q.query_id\n       JOIN sys.query_store_runtime_stats rs ON rs.plan_id = p.plan_id\nWHERE\n       --q.query_id = 71\n        rs.avg_duration > 0\nORDER BY rs.max_duration DESC;"
  },
  {
    "path": "TSQL_Queries/Query_Store/PerfRegressionPlanChoiceChange.sql",
    "content": "/*\n\t======================================\n\t   Perf Regression with plan change\n\t======================================\n\tThe following query will find queries that have regressed in performance \n    and also had a plan choice change. \n*/\nSELECT   \n    qt.query_sql_text,   \n    q.query_id,   \n    qt.query_text_id,   \n    rs1.runtime_stats_id AS runtime_stats_id_1,  \n    rsi1.start_time AS interval_1,   \n    p1.plan_id AS plan_1,   \n    rs1.avg_duration AS avg_duration_1,   \n    rs2.avg_duration AS avg_duration_2,  \n    p2.plan_id AS plan_2,   \n    rsi2.start_time AS interval_2,   \n    rs2.runtime_stats_id AS runtime_stats_id_2  \nFROM sys.query_store_query_text AS qt   \nJOIN sys.query_store_query AS q   \n    ON qt.query_text_id = q.query_text_id   \nJOIN sys.query_store_plan AS p1   \n    ON q.query_id = p1.query_id   \nJOIN sys.query_store_runtime_stats AS rs1   \n    ON p1.plan_id = rs1.plan_id   \nJOIN sys.query_store_runtime_stats_interval AS rsi1   \n    ON rsi1.runtime_stats_interval_id = rs1.runtime_stats_interval_id   \nJOIN sys.query_store_plan AS p2   \n    ON q.query_id = p2.query_id   \nJOIN sys.query_store_runtime_stats AS rs2   \n    ON p2.plan_id = rs2.plan_id   \nJOIN sys.query_store_runtime_stats_interval AS rsi2   \n    ON rsi2.runtime_stats_interval_id = rs2.runtime_stats_interval_id  \nWHERE rsi1.start_time > DATEADD(hour, -48, GETUTCDATE())   \n    AND rsi2.start_time > rsi1.start_time   \n    AND p1.plan_id <> p2.plan_id  \n    AND rs2.avg_duration > 2*rs1.avg_duration  \nORDER BY q.query_id, rsi1.start_time, rsi2.start_time;  \n"
  },
  {
    "path": "TSQL_Queries/Query_Store/QueriesWithPerfRegression.sql",
    "content": "/*\n\t======================================\n\t   Queries with Perf Regression\n\t======================================\n\tThe following query will find queries that have regressed in performance \n    for any reason. \n*/\nSELECT   \n    qt.query_sql_text,   \n    q.query_id,   \n    qt.query_text_id,   \n    rs1.runtime_stats_id AS runtime_stats_id_1,  \n    rsi1.start_time AS interval_1,   \n    p1.plan_id AS plan_1,   \n    rs1.avg_duration AS avg_duration_1,   \n    rs2.avg_duration AS avg_duration_2,  \n    p2.plan_id AS plan_2,   \n    rsi2.start_time AS interval_2,   \n    rs2.runtime_stats_id AS runtime_stats_id_2  \nFROM sys.query_store_query_text AS qt   \nJOIN sys.query_store_query AS q   \n    ON qt.query_text_id = q.query_text_id   \nJOIN sys.query_store_plan AS p1   \n    ON q.query_id = p1.query_id   \nJOIN sys.query_store_runtime_stats AS rs1   \n    ON p1.plan_id = rs1.plan_id   \nJOIN sys.query_store_runtime_stats_interval AS rsi1   \n    ON rsi1.runtime_stats_interval_id = rs1.runtime_stats_interval_id   \nJOIN sys.query_store_plan AS p2   \n    ON q.query_id = p2.query_id   \nJOIN sys.query_store_runtime_stats AS rs2   \n    ON p2.plan_id = rs2.plan_id   \nJOIN sys.query_store_runtime_stats_interval AS rsi2   \n    ON rsi2.runtime_stats_interval_id = rs2.runtime_stats_interval_id  \nWHERE rsi1.start_time > DATEADD(hour, -48, GETUTCDATE())   \n    AND rsi2.start_time > rsi1.start_time   \n    AND rs2.avg_duration > 2*rs1.avg_duration  \nORDER BY q.query_id, rsi1.start_time, rsi2.start_time;   \n"
  },
  {
    "path": "TSQL_Queries/Replicated_Tables/RepTablesRebuildNeeded.sql",
    "content": "﻿/*\t\n\t================================\n\t   Replicated Tables Modified\n\t   but not rebuilt\n\t=================================\n\n\tThe following query will list replicated tables that have been modified, \n\tbut not rebuilt. THis will cause a rebuild at execution time next time the \n\ttable is touched and will affect performance.\n\tYou can manually trigger a rebuild by:\n\t\tSELECT TOP 1 * FROM [ReplicatedTable]\n\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/design-guidance-for-replicated-tables\n*/\nSELECT [ReplicatedTable] = t.[name]\n  FROM sys.tables t  \n  JOIN sys.pdw_replicated_table_cache_state c  \n    ON c.object_id = t.object_id \n  JOIN sys.pdw_table_distribution_properties p \n    ON p.object_id = t.object_id \n  WHERE c.[state] = 'NotReady'\n    AND p.[distribution_policy_desc] = 'REPLICATE'"
  },
  {
    "path": "TSQL_Queries/SLO-DWU/ChangeDwuSetting.sql",
    "content": "/*\n\t========================\n\t   Change DWU Setting\n\t========================\n\tThis query will set the DWU setting to the specified setting. \n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/what-is-a-data-warehouse-unit-dwu-cdwu\n*/\n--Enter Databasename and new Service Level Objective\nALTER DATABASE MySQLDW\nMODIFY (SERVICE_OBJECTIVE = 'DW1000')\n;"
  },
  {
    "path": "TSQL_Queries/SLO-DWU/CheckDwuChangeStatus.sql",
    "content": "/*\n\t================================\n\t   Check Status of DWU Change\n\t================================\n\tThis query will check the status of the DWU change for the specified database\n\tIt will either return IN_PROGRESS or COMPMLETED\n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/what-is-a-data-warehouse-unit-dwu-cdwu\n*/\nSELECT    *\nFROM      sys.dm_operation_status\nWHERE     resource_type_desc = 'Database'\nAND       major_resource_id = 'MySQLDW'\n;"
  },
  {
    "path": "TSQL_Queries/SLO-DWU/CreateColumnstoreDensityView.sql",
    "content": "/*\n\t=====================================\n\t   Create Columnstore Density View\n\t=====================================\n\tThis query will create a view that holds infomration that is useful in identifying sub-optimal\n\tclustered columnstore indexes.  \n\tSee source link for more information.\n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-index\n*/\nCREATE VIEW dbo.vColumnstoreDensity\nAS\nSELECT\n        GETDATE()                                                               AS [execution_date]\n,       DB_Name()                                                               AS [database_name]\n,       s.name                                                                  AS [schema_name]\n,       t.name                                                                  AS [table_name]\n,    COUNT(DISTINCT rg.[partition_number])                    AS [table_partition_count]\n,       SUM(rg.[total_rows])                                                    AS [row_count_total]\n,       SUM(rg.[total_rows])/COUNT(DISTINCT rg.[distribution_id])               AS [row_count_per_distribution_MAX]\n,    CEILING    ((SUM(rg.[total_rows])*1.0/COUNT(DISTINCT rg.[distribution_id]))/1048576) AS [rowgroup_per_distribution_MAX]\n,       SUM(CASE WHEN rg.[State] = 0 THEN 1                   ELSE 0    END)    AS [INVISIBLE_rowgroup_count]\n,       SUM(CASE WHEN rg.[State] = 0 THEN rg.[total_rows]     ELSE 0    END)    AS [INVISIBLE_rowgroup_rows]\n,       MIN(CASE WHEN rg.[State] = 0 THEN rg.[total_rows]     ELSE NULL END)    AS [INVISIBLE_rowgroup_rows_MIN]\n,       MAX(CASE WHEN rg.[State] = 0 THEN rg.[total_rows]     ELSE NULL END)    AS [INVISIBLE_rowgroup_rows_MAX]\n,       AVG(CASE WHEN rg.[State] = 0 THEN rg.[total_rows]     ELSE NULL END)    AS [INVISIBLE_rowgroup_rows_AVG]\n,       SUM(CASE WHEN rg.[State] = 1 THEN 1                   ELSE 0    END)    AS [OPEN_rowgroup_count]\n,       SUM(CASE WHEN rg.[State] = 1 THEN rg.[total_rows]     ELSE 0    END)    AS [OPEN_rowgroup_rows]\n,       MIN(CASE WHEN rg.[State] = 1 THEN rg.[total_rows]     ELSE NULL END)    AS [OPEN_rowgroup_rows_MIN]\n,       MAX(CASE WHEN rg.[State] = 1 THEN rg.[total_rows]     ELSE NULL END)    AS [OPEN_rowgroup_rows_MAX]\n,       AVG(CASE WHEN rg.[State] = 1 THEN rg.[total_rows]     ELSE NULL END)    AS [OPEN_rowgroup_rows_AVG]\n,       SUM(CASE WHEN rg.[State] = 2 THEN 1                   ELSE 0    END)    AS [CLOSED_rowgroup_count]\n,       SUM(CASE WHEN rg.[State] = 2 THEN rg.[total_rows]     ELSE 0    END)    AS [CLOSED_rowgroup_rows]\n,       MIN(CASE WHEN rg.[State] = 2 THEN rg.[total_rows]     ELSE NULL END)    AS [CLOSED_rowgroup_rows_MIN]\n,       MAX(CASE WHEN rg.[State] = 2 THEN rg.[total_rows]     ELSE NULL END)    AS [CLOSED_rowgroup_rows_MAX]\n,       AVG(CASE WHEN rg.[State] = 2 THEN rg.[total_rows]     ELSE NULL END)    AS [CLOSED_rowgroup_rows_AVG]\n,       SUM(CASE WHEN rg.[State] = 3 THEN 1                   ELSE 0    END)    AS [COMPRESSED_rowgroup_count]\n,       SUM(CASE WHEN rg.[State] = 3 THEN rg.[total_rows]     ELSE 0    END)    AS [COMPRESSED_rowgroup_rows]\n,       SUM(CASE WHEN rg.[State] = 3 THEN rg.[deleted_rows]   ELSE 0    END)    AS [COMPRESSED_rowgroup_rows_DELETED]\n,       MIN(CASE WHEN rg.[State] = 3 THEN rg.[total_rows]     ELSE NULL END)    AS [COMPRESSED_rowgroup_rows_MIN]\n,       MAX(CASE WHEN rg.[State] = 3 THEN rg.[total_rows]     ELSE NULL END)    AS [COMPRESSED_rowgroup_rows_MAX]\n,       AVG(CASE WHEN rg.[State] = 3 THEN rg.[total_rows]     ELSE NULL END)    AS [COMPRESSED_rowgroup_rows_AVG]\n,       'ALTER INDEX ALL ON ' + s.name + '.' + t.NAME + ' REBUILD;'             AS [Rebuild_Index_SQL]\nFROM    sys.[pdw_nodes_column_store_row_groups] rg\nJOIN    sys.[pdw_nodes_tables] nt                   ON  rg.[object_id]          = nt.[object_id]\n                                                    AND rg.[pdw_node_id]        = nt.[pdw_node_id]\n                                                    AND rg.[distribution_id]    = nt.[distribution_id]\nJOIN    sys.[pdw_table_mappings] mp                 ON  nt.[name]               = mp.[physical_name]\nJOIN    sys.[tables] t                              ON  mp.[object_id]          = t.[object_id]\nJOIN    sys.[schemas] s                             ON t.[schema_id]            = s.[schema_id]\nGROUP BY\n        s.[name]\n,       t.[name]\n;"
  },
  {
    "path": "TSQL_Queries/SLO-DWU/GetDwuSetting.sql",
    "content": "/*\n\t=============================\n\t   Get Current DWU Setting\n\t=============================\n\tThis query will return the current DWU settings of your database. \n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/what-is-a-data-warehouse-unit-dwu-cdwu\n*/\nSELECT  db.name [Database]\n,       ds.edition [Edition]\n,       ds.service_objective [Service Objective]\nFROM    sys.database_service_objectives   AS ds\nJOIN    sys.databases                     AS db ON ds.database_id = db.database_id\n;"
  },
  {
    "path": "TSQL_Queries/ServerlessSql/CostPerQuery.sql",
    "content": "SELECT \n\n       ERH.status as [status],\n\n       ERH.login_name as [login_name],\n\n       ERH.start_time as [start_time],\n\n       ERH.end_time as [end_time],\n\n       ERH.total_elapsed_time_ms as [duration_ms],\n\n\n\n       /* Data processed =  data scanned + data moved + data written */\n\n       ERH.data_processed_mb as [data_processed_MB],\n\n\n\n       /* Cost management for serverless SQL pool\n\n       The amount of data processed is rounded up to the nearest MB per query. \n\n       Each query has a minimum of 10 MB of data processed. */\n\n       CASE WHEN ERH.data_processed_mb < 10 THEN 10 ELSE ERH.data_processed_mb END as [data_pricing_MB],\n\n       \n\n       cast(ERH.total_elapsed_time_ms/1000.0 as decimal(12,2)) as [duration_sec],\n\n       /*$5 per 1TB scan, minimum 10M */\n\n       cast((CASE WHEN ERH.data_processed_mb < 10 THEN 10 ELSE ERH.data_processed_mb END)*5/100000.0 as decimal(19,7))  as cost_in_$,\n\n       ERH.command as [statement],\n\n       ERH.query_text as [command]       \n\nFROM sys.dm_exec_requests_history ERH\n\nORDER BY ERH.start_time desc\n\n--order by cast((CASE WHEN ERH.data_processed_mb < 10 THEN 10 ELSE ERH.data_processed_mb END)*5/100000.0 as decimal(19,7)) desc"
  },
  {
    "path": "TSQL_Queries/Statistics/CheckAutoStatsEnabled.sql",
    "content": "﻿SELECT name, is_auto_create_stats_on \nFROM sys.databases\n\n--To turn on auto create stats:\n--ALTER DATABASE <yourdatawarehousename> \n--SET AUTO_CREATE_STATISTICS ON"
  },
  {
    "path": "TSQL_Queries/Statistics/CreateSP_CreateStatsAllColumnsAllTables.sql",
    "content": "/*\n\t=======================================================\n\t   Create SP for Create Stats all columns all tables \n\t=======================================================\n\n\tThis query will create a stored procedure that, when executed, will create statistics on \n\tall columns, all tables in the Azure SQL Data Warehouse database.\n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-statistics\n\t\n\t===========================\n\t EXECUTING THIS PROCEDURE:\n\t===========================\n\n\tCreate statistics on all columns on all tables using defaults:\n\tEXEC [dbo].[prc_sqldw_create_stats] 1, NULL;\n\n\tCreate statistics on all columns on all tables using fullscan:\n\tEXEC [dbo].[prc_sqldw_create_stats] 2, NULL;\n\n\tCreate sampled statistics on all columns on all tables using 20% sample:\n\tEXEC [dbo].[prc_sqldw_create_stats] 3, 20;\n*/\n\nCREATE PROCEDURE    [dbo].[prc_sqldw_create_stats]\n(   @create_type    tinyint -- 1 default 2 Fullscan 3 Sample\n,   @sample_pct     tinyint\n)\nAS\n\nIF @create_type IS NULL\nBEGIN\n    SET @create_type = 1;\nEND;\n\nIF @create_type NOT IN (1,2,3)\nBEGIN\n    THROW 151000,'Invalid value for @stats_type parameter. Valid range 1 (default), 2 (fullscan) or 3 (sample).',1;\nEND;\n\nIF @sample_pct IS NULL\nBEGIN;\n    SET @sample_pct = 20;\nEND;\n\nIF OBJECT_ID('tempdb..#stats_ddl') IS NOT NULL\nBEGIN;\n    DROP TABLE #stats_ddl;\nEND;\n\nCREATE TABLE #stats_ddl\nWITH    (   DISTRIBUTION    = HASH([seq_nmbr])\n        ,   LOCATION        = USER_DB\n        )\nAS\nWITH T\nAS\n(\nSELECT      t.[name]                        AS [table_name]\n,           s.[name]                        AS [table_schema_name]\n,           c.[name]                        AS [column_name]\n,           c.[column_id]                   AS [column_id]\n,           t.[object_id]                   AS [object_id]\n,           ROW_NUMBER()\n            OVER(ORDER BY (SELECT NULL))    AS [seq_nmbr]\nFROM        sys.[tables] t\nJOIN        sys.[schemas] s         ON  t.[schema_id]       = s.[schema_id]\nJOIN        sys.[columns] c         ON  t.[object_id]       = c.[object_id]\nLEFT JOIN   sys.[stats_columns] l   ON  l.[object_id]       = c.[object_id]\n                                    AND l.[column_id]       = c.[column_id]\n                                    AND l.[stats_column_id] = 1\nLEFT JOIN    sys.[external_tables] e    ON    e.[object_id]        = t.[object_id]\nWHERE       l.[object_id] IS NULL\nAND            e.[object_id] IS NULL -- not an external table\n)\nSELECT  [table_schema_name]\n,       [table_name]\n,       [column_name]\n,       [column_id]\n,       [object_id]\n,       [seq_nmbr]\n,       CASE @create_type\n        WHEN 1\n        THEN    CAST('CREATE STATISTICS '+QUOTENAME('stat_'+table_schema_name+ '_' + table_name + '_'+column_name)+' ON '+QUOTENAME(table_schema_name)+'.'+QUOTENAME(table_name)+'('+QUOTENAME(column_name)+')' AS VARCHAR(8000))\n        WHEN 2\n        THEN    CAST('CREATE STATISTICS '+QUOTENAME('stat_'+table_schema_name+ '_' + table_name + '_'+column_name)+' ON '+QUOTENAME(table_schema_name)+'.'+QUOTENAME(table_name)+'('+QUOTENAME(column_name)+') WITH FULLSCAN' AS VARCHAR(8000))\n        WHEN 3\n        THEN    CAST('CREATE STATISTICS '+QUOTENAME('stat_'+table_schema_name+ '_' + table_name + '_'+column_name)+' ON '+QUOTENAME(table_schema_name)+'.'+QUOTENAME(table_name)+'('+QUOTENAME(column_name)+') WITH SAMPLE '+CONVERT(varchar(4),@sample_pct)+' PERCENT' AS VARCHAR(8000))\n        END AS create_stat_ddl\nFROM T\n;\n\nDECLARE @i INT              = 1\n,       @t INT              = (SELECT COUNT(*) FROM #stats_ddl)\n,       @s NVARCHAR(4000)   = N''\n;\n\nWHILE @i <= @t\nBEGIN\n    SET @s=(SELECT create_stat_ddl FROM #stats_ddl WHERE seq_nmbr = @i);\n\n    PRINT @s\n    EXEC sp_executesql @s\n    SET @i+=1;\nEND\n\nDROP TABLE #stats_ddl;"
  },
  {
    "path": "TSQL_Queries/Statistics/CreateSP_GenUpdateStatsStatements.sql",
    "content": "/*\n\t=======================================================\n\t   Create SP for Update Stats all columns all tables \n\t=======================================================\n\n\tThis query will create a stored procedure that, when executed, will generate statements to update\n\tall statistics found in the current Azure SQL Data Warehouse database. Executing the procedure will NOT EXECUTE the \n\tupdate statements, rather it will return them for you to execute separately. \n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-statistics\n\t\n\t===========================\n\t EXECUTING THIS PROCEDURE:\n\t===========================\n\n\t--update statistics on all columns on all tables using defaults:\n\tEXEC [dbo].[prc_sqldw_update_stats] 1, NULL;\n\n\t--update statistics on all columns on all tables using fullscan:\n\tEXEC [dbo].[prc_sqldw_update_stats] 2, NULL;\n\n\t--update sampled statistics on all columns on all tables using 20% sample:\n\tEXEC [dbo].[prc_sqldw_update_stats] 3, 20;\n*/\n\nCREATE PROCEDURE    [dbo].[prc_sqldw_Gen_update_stats_Statements]\n(   @update_type    tinyint -- 1 default 2 fullscan 3 sample 4 resample\n    ,@sample_pct     tinyint\n)\nAS\n\nIF @update_type NOT IN (1,2,3,4)\nBEGIN;\n    THROW 151000,'Invalid value for @update_type parameter. Valid range 1 (default), 2 (fullscan), 3 (sample) or 4 (resample).',1;\nEND;\n\nIF @sample_pct IS NULL\nBEGIN;\n    SET @sample_pct = 20;\nEND;\n\nIF OBJECT_ID('tempdb..#stats_ddl') IS NOT NULL\nBEGIN\n    DROP TABLE #stats_ddl\nEND\n\nCREATE TABLE #stats_ddl\nWITH\n(\n    DISTRIBUTION = HASH([seq_nmbr])\n)\nAS\n(\nSELECT\n        sm.[name]                                                                AS [schema_name]\n,        tb.[name]                                                                AS [table_name]\n,        st.[name]                                                                AS [stats_name]\n,        st.[has_filter]                                                            AS [stats_is_filtered]\n,       ROW_NUMBER()\n        OVER(ORDER BY (SELECT NULL))                                            AS [seq_nmbr]\n,                                 QUOTENAME(sm.[name])+'.'+QUOTENAME(tb.[name])  AS [two_part_name]\n,        QUOTENAME(DB_NAME())+'.'+QUOTENAME(sm.[name])+'.'+QUOTENAME(tb.[name])  AS [three_part_name]\nFROM    sys.objects            AS ob\nJOIN    sys.stats            AS st    ON    ob.[object_id]        = st.[object_id]\nJOIN    sys.stats_columns    AS sc    ON    st.[stats_id]        = sc.[stats_id]\n                                    AND st.[object_id]        = sc.[object_id]\nJOIN    sys.columns            AS co    ON    sc.[column_id]        = co.[column_id]\n                                    AND    sc.[object_id]        = co.[object_id]\nJOIN    sys.tables            AS tb    ON    co.[object_id]        = tb.[object_id]\nJOIN    sys.schemas            AS sm    ON    tb.[schema_id]        = sm.[schema_id]\nWHERE    1=1\nAND        st.[user_created]   = 1\nGROUP BY\n        sm.[name]\n,        tb.[name]\n,        st.[name]\n,        st.[filter_definition]\n,        st.[has_filter]\n)\nSELECT\n    CASE @update_type\n    WHEN 1\n    THEN 'UPDATE STATISTICS '+[two_part_name]+'('+[stats_name]+');'\n    WHEN 2\n    THEN 'UPDATE STATISTICS '+[two_part_name]+'('+[stats_name]+') WITH FULLSCAN;'\n    WHEN 3\n    THEN 'UPDATE STATISTICS '+[two_part_name]+'('+[stats_name]+') WITH SAMPLE '+CAST(@sample_pct AS VARCHAR(20))+' PERCENT;'\n    WHEN 4\n    THEN 'UPDATE STATISTICS '+[two_part_name]+'('+[stats_name]+') WITH RESAMPLE;'\n    END AS [update_stats_ddl]\n,   [seq_nmbr]\nFROM #stats_ddl\n;\nGO"
  },
  {
    "path": "TSQL_Queries/Statistics/CreateStatsAllColumnsAllTables.sql",
    "content": "/*\n\t=================================================\n\t   Create Statistics on all columns all tables \n\t=================================================\n\n    This query will generate AND execute the statistics creation queries to create statistics on all columns, \n\tall tables in the Azure SQL Data Warehouse database.\n    \n    Set the following two variables dependind on what type of statistics you want to create or leave them \n\tas is to create default statistics\n*/\nDECLARE @create_type TINYINT = 1; --1 default 2 Fullscan 3 Sample\nDECLARE @sample_pct TINYINT = 20; --if option 3 selected, set sample size to desired value\n\n-----------------------------------------------------------------------------------\n-----------------------------------------------------------------------------------\n\nIF @create_type IS NULL\nBEGIN\n    SET @create_type = 1;\nEND;\n\nIF @create_type NOT IN (1,2,3)\nBEGIN\n    THROW 151000,'Invalid value for @stats_type parameter. Valid range 1 (default), 2 (fullscan) or 3 (sample).',1;\nEND;\n\nIF @sample_pct IS NULL\nBEGIN;\n    SET @sample_pct = 20;\nEND;\n\nIF OBJECT_ID('tempdb..#stats_ddl') IS NOT NULL\nBEGIN;\n    DROP TABLE #stats_ddl;\nEND;\n\nCREATE TABLE #stats_ddl\nWITH    (   DISTRIBUTION    = HASH([seq_nmbr])\n        ,   LOCATION        = USER_DB\n        )\nAS\nWITH T\nAS\n(\nSELECT      t.[name]                        AS [table_name]\n,           s.[name]                        AS [table_schema_name]\n,           c.[name]                        AS [column_name]\n,           c.[column_id]                   AS [column_id]\n,           t.[object_id]                   AS [object_id]\n,           ROW_NUMBER()\n            OVER(ORDER BY (SELECT NULL))    AS [seq_nmbr]\nFROM        sys.[tables] t\nJOIN        sys.[schemas] s         ON  t.[schema_id]       = s.[schema_id]\nJOIN        sys.[columns] c         ON  t.[object_id]       = c.[object_id]\nLEFT JOIN   sys.[stats_columns] l   ON  l.[object_id]       = c.[object_id]\n                                    AND l.[column_id]       = c.[column_id]\n                                    AND l.[stats_column_id] = 1\nLEFT JOIN    sys.[external_tables] e    ON    e.[object_id]        = t.[object_id]\nWHERE       l.[object_id] IS NULL\nAND            e.[object_id] IS NULL -- not an external table\n)\nSELECT  [table_schema_name]\n,       [table_name]\n,       [column_name]\n,       [column_id]\n,       [object_id]\n,       [seq_nmbr]\n,       CASE @create_type\n        WHEN 1\n        THEN    CAST('CREATE STATISTICS '+QUOTENAME('stat_'+table_schema_name+ '_' + table_name + '_'+column_name)+' ON '+QUOTENAME(table_schema_name)+'.'+QUOTENAME(table_name)+'('+QUOTENAME(column_name)+')' AS VARCHAR(8000))\n        WHEN 2\n        THEN    CAST('CREATE STATISTICS '+QUOTENAME('stat_'+table_schema_name+ '_' + table_name + '_'+column_name)+' ON '+QUOTENAME(table_schema_name)+'.'+QUOTENAME(table_name)+'('+QUOTENAME(column_name)+') WITH FULLSCAN' AS VARCHAR(8000))\n        WHEN 3\n        THEN    CAST('CREATE STATISTICS '+QUOTENAME('stat_'+table_schema_name+ '_' + table_name + '_'+column_name)+' ON '+QUOTENAME(table_schema_name)+'.'+QUOTENAME(table_name)+'('+QUOTENAME(column_name)+') WITH SAMPLE '+CONVERT(varchar(4),@sample_pct)+' PERCENT' AS VARCHAR(8000))\n        END AS create_stat_ddl\nFROM T\n;\n\nDECLARE @i INT              = 1\n,       @t INT              = (SELECT COUNT(*) FROM #stats_ddl)\n,       @s NVARCHAR(4000)   = N''\n;\n\nWHILE @i <= @t\nBEGIN\n    SET @s=(SELECT create_stat_ddl FROM #stats_ddl WHERE seq_nmbr = @i);\n\n    PRINT @s\n    EXEC sp_executesql @s\n    SET @i+=1;\nEND\n\nDROP TABLE #stats_ddl;"
  },
  {
    "path": "TSQL_Queries/Statistics/GetStatsLastUpdateDate.sql",
    "content": "/*\n\t=====================================\n\t   Get Statistics Last Update Date \n\t=====================================\n\n\tThis query will return the last update date for all stats found in the current Azure SQL Data Warehouse Database. This is \n\tuseful in detemrining if statistics updates jobs are working successfully, but does not gaurantee the statistics are still \n\taccurate, which varies depending on what changes have been made to the table since the last update.\n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-statistics\n*/\n\nSELECT\n    sm.[name] AS [schema_name],\n    tb.[name] AS [table_name],\n    co.[name] AS [stats_column_name],\n    st.[name] AS [stats_name],\n    STATS_DATE(st.[object_id],st.[stats_id]) AS [stats_last_updated_date]\nFROM\n    sys.objects ob\n    JOIN sys.stats st\n        ON  ob.[object_id] = st.[object_id]\n    JOIN sys.stats_columns sc    \n        ON  st.[stats_id] = sc.[stats_id]\n        AND st.[object_id] = sc.[object_id]\n    JOIN sys.columns co    \n        ON  sc.[column_id] = co.[column_id]\n        AND sc.[object_id] = co.[object_id]\n    JOIN sys.types  ty    \n        ON  co.[user_type_id] = ty.[user_type_id]\n    JOIN sys.tables tb    \n        ON  co.[object_id] = tb.[object_id]\n    JOIN sys.schemas sm    \n        ON  tb.[schema_id] = sm.[schema_id]\nWHERE\n    st.[user_created] = 1;"
  },
  {
    "path": "TSQL_Queries/Statistics/ListAllStats.sql",
    "content": "--Get all stats that exist\n\nSelect \n    db_name() as [Database]\n    , sch.name as [Schema]\n    , t.name as [Table]\n    , t.object_id as Table_ID\n\t, s.user_created as [is_user_created]\n    , s.name as [Statistic]\n    , s.stats_id as stats_id\n    , c.name as [Column]\n    , c.column_id as column_id\nFrom sys.tables t\n\tinner join sys.stats s\n\t\ton t.object_id = s.object_id\n\tinner join sys.stats_columns sc\n\t\ton t.object_id = sc.object_id\n\t\t\tand s.stats_id = sc.stats_id\n\tinner join sys.columns c\n\t\ton sc.column_id = c.column_id\n\t\t\tand t.object_id = c.object_id\n    inner join sys.schemas sch\n        ON t.schema_id = sch.schema_id\nWHERE 1=1\n--AND sch.name like '%dbo%' --uncomment to choose a schema\n--AND t.name like '%Trips%' --Uncomment to pick a specific table\n--AND s.user_created=1"
  },
  {
    "path": "TSQL_Queries/Statistics/ListAllStats.sql.bak",
    "content": "--Get all stats that exist\n\nSelect \n    db_name() as [Database]\n    , sch.name as [Schema]\n    , t.name as [Table]\n    , t.object_id as Table_ID\n    , s.name as [Statistic]\n    , s.stats_id as stats_id\n    , c.name as [Column]\n    , c.column_id as column_id\nFrom sys.tables t\n\tinner join sys.stats s\n\t\ton t.object_id = s.object_id\n\tinner join sys.stats_columns sc\n\t\ton t.object_id = sc.object_id\n\t\t\tand s.stats_id = sc.stats_id\n\tinner join sys.columns c\n\t\ton sc.column_id = c.column_id\n\t\t\tand t.object_id = c.object_id\n    inner join sys.schemas sch\n        ON t.schema_id = sch.schema_id\nWHERE 1=1\n--AND sch.name like '%dbo%' --uncomment to choose a schema\n--AND t.name like '%Trips%' --Uncomment to pick a specific table"
  },
  {
    "path": "TSQL_Queries/Statistics/StatisticsAccuracy.sql",
    "content": "select \nobjIdsWithStats.[object_id], \nactualRowCounts.[schema], \nactualRowCounts.logical_table_name, \nstatsRowCounts.stats_row_count, \nactualRowCounts.actual_row_count,\nrow_count_difference = CASE\n    WHEN actualRowCounts.actual_row_count >= statsRowCounts.stats_row_count THEN actualRowCounts.actual_row_count - statsRowCounts.stats_row_count\n    ELSE statsRowCounts.stats_row_count - actualRowCounts.actual_row_count\nEND,\npercent_deviation_from_actual = CASE\n    WHEN actualRowCounts.actual_row_count = 0 THEN statsRowCounts.stats_row_count\n    WHEN statsRowCounts.stats_row_count = 0 THEN actualRowCounts.actual_row_count\n    WHEN actualRowCounts.actual_row_count >= statsRowCounts.stats_row_count THEN CONVERT(NUMERIC(18, 0), CONVERT(NUMERIC(18, 2), (actualRowCounts.actual_row_count - statsRowCounts.stats_row_count)) / CONVERT(NUMERIC(18, 2), actualRowCounts.actual_row_count) * 100)\n    ELSE CONVERT(NUMERIC(18, 0), CONVERT(NUMERIC(18, 2), (statsRowCounts.stats_row_count - actualRowCounts.actual_row_count)) / CONVERT(NUMERIC(18, 2), actualRowCounts.actual_row_count) * 100)\nEND\nfrom\n(\n    select distinct object_id from sys.stats where stats_id > 1\n) objIdsWithStats\nleft join\n(\n    select object_id, sum(rows) as stats_row_count from sys.partitions group by object_id\n) statsRowCounts\non objIdsWithStats.object_id = statsRowCounts.object_id \nleft join\n(\n    SELECT sm.name [schema] ,\n        tb.name logical_table_name ,\n        tb.object_id object_id ,\n        SUM(rg.row_count) actual_row_count\n    FROM sys.schemas sm\n         INNER JOIN sys.tables tb ON sm.schema_id = tb.schema_id\n         INNER JOIN sys.pdw_table_mappings mp ON tb.object_id = mp.object_id\n         INNER JOIN sys.pdw_nodes_tables nt ON nt.name = mp.physical_name\n         INNER JOIN sys.dm_pdw_nodes_db_partition_stats rg     ON rg.object_id = nt.object_id\n            AND rg.pdw_node_id = nt.pdw_node_id\n            AND rg.distribution_id = nt.distribution_id\n    --WHERE rg.index_id = 1 --this woudl only include CCI tables\n    GROUP BY sm.name, tb.name, tb.object_id\n) actualRowCounts\non objIdsWithStats.object_id = actualRowCounts.object_id\n"
  },
  {
    "path": "TSQL_Queries/Table_Information/CollectTableInformation.sql",
    "content": "﻿--Table Information query\nSELECT\n\tt.name AS 'Table_Name',\n\tt.object_id,\n\tt.create_date,\n\tt.modify_date,\n\tptdp.Distribution_policy_desc AS 'Table_Type', \n\tdist.column_name AS Distribution_Column,\n\ti.name AS Index_name,\n\ti.type_desc AS Index_Type\nFROM sys.tables t\nJOIN sys.pdw_table_distribution_properties ptdp\nON t.object_id = ptdp.object_id\nLEFT JOIN (\n\tselect c.name as column_name,pcdp.distribution_ordinal,c.object_id from sys.pdw_column_distribution_properties pcdp\n\tjoin sys.columns c\n\tON pcdp.[object_id] = c.[object_id]\n\tAND pcdp.column_id = c.column_id\n\tAND pcdp.distribution_ordinal = 1\n\t) as Dist\nON ptdp.object_id = dist.object_id\nJOIN sys.indexes i\nON t.object_id = i.object_id\nORDER BY Table_Name "
  },
  {
    "path": "TSQL_Queries/Table_Information/CreateTableInfoView.sql",
    "content": "﻿--Create Table information view for use with various other queries\n--pulled from: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-overview#table-size-queries\n\nCREATE VIEW dbo.vTableSizes\nAS\nWITH base\nAS\n(\nSELECT \n GETDATE()                                                             AS  [execution_time]\n, DB_NAME()                                                            AS  [database_name]\n, s.name                                                               AS  [schema_name]\n, t.name                                                               AS  [table_name]\n, QUOTENAME(s.name)+'.'+QUOTENAME(t.name)                              AS  [two_part_name]\n, nt.[name]                                                            AS  [node_table_name]\n, ROW_NUMBER() OVER(PARTITION BY nt.[name] ORDER BY (SELECT NULL))     AS  [node_table_name_seq]\n, tp.[distribution_policy_desc]                                        AS  [distribution_policy_name]\n, c.[name]                                                             AS  [distribution_column]\n, nt.[distribution_id]                                                 AS  [distribution_id]\n, i.[type]                                                             AS  [index_type]\n, i.[type_desc]                                                        AS  [index_type_desc]\n, nt.[pdw_node_id]                                                     AS  [pdw_node_id]\n, pn.[type]                                                            AS  [pdw_node_type]\n, pn.[name]                                                            AS  [pdw_node_name]\n, di.name                                                              AS  [dist_name]\n, di.position                                                          AS  [dist_position]\n, nps.[partition_number]                                               AS  [partition_nmbr]\n, nps.[reserved_page_count]                                            AS  [reserved_space_page_count]\n, nps.[reserved_page_count] - nps.[used_page_count]                    AS  [unused_space_page_count]\n, nps.[in_row_data_page_count] \n    + nps.[row_overflow_used_page_count] \n    + nps.[lob_used_page_count]                                        AS  [data_space_page_count]\n, nps.[reserved_page_count] \n - (nps.[reserved_page_count] - nps.[used_page_count]) \n - ([in_row_data_page_count] \n         + [row_overflow_used_page_count]+[lob_used_page_count])       AS  [index_space_page_count]\n, nps.[row_count]                                                      AS  [row_count]\nfrom \n    sys.schemas s\nINNER JOIN sys.tables t\n    ON s.[schema_id] = t.[schema_id]\nINNER JOIN sys.indexes i\n    ON  t.[object_id] = i.[object_id]\n    AND i.[index_id] <= 1\nINNER JOIN sys.pdw_table_distribution_properties tp\n    ON t.[object_id] = tp.[object_id]\nINNER JOIN sys.pdw_table_mappings tm\n    ON t.[object_id] = tm.[object_id]\nINNER JOIN sys.pdw_nodes_tables nt\n    ON tm.[physical_name] = nt.[name]\nINNER JOIN sys.dm_pdw_nodes pn\n    ON  nt.[pdw_node_id] = pn.[pdw_node_id]\nINNER JOIN sys.pdw_distributions di\n    ON  nt.[distribution_id] = di.[distribution_id]\nINNER JOIN sys.dm_pdw_nodes_db_partition_stats nps\n    ON nt.[object_id] = nps.[object_id]\n    AND nt.[pdw_node_id] = nps.[pdw_node_id]\n    AND nt.[distribution_id] = nps.[distribution_id]\nLEFT OUTER JOIN (select * from sys.pdw_column_distribution_properties where distribution_ordinal = 1) cdp\n    ON t.[object_id] = cdp.[object_id]\nLEFT OUTER JOIN sys.columns c\n    ON cdp.[object_id] = c.[object_id]\n    AND cdp.[column_id] = c.[column_id]\n)\n, size\nAS\n(\nSELECT\n   [execution_time]\n,  [database_name]\n,  [schema_name]\n,  [table_name]\n,  [two_part_name]\n,  [node_table_name]\n,  [node_table_name_seq]\n,  [distribution_policy_name]\n,  [distribution_column]\n,  [distribution_id]\n,  [index_type]\n,  [index_type_desc]\n,  [pdw_node_id]\n,  [pdw_node_type]\n,  [pdw_node_name]\n,  [dist_name]\n,  [dist_position]\n,  [partition_nmbr]\n,  [reserved_space_page_count]\n,  [unused_space_page_count]\n,  [data_space_page_count]\n,  [index_space_page_count]\n,  [row_count]\n,  ([reserved_space_page_count] * 8.0)                                 AS [reserved_space_KB]\n,  ([reserved_space_page_count] * 8.0)/1000                            AS [reserved_space_MB]\n,  ([reserved_space_page_count] * 8.0)/1000000                         AS [reserved_space_GB]\n,  ([reserved_space_page_count] * 8.0)/1000000000                      AS [reserved_space_TB]\n,  ([unused_space_page_count]   * 8.0)                                 AS [unused_space_KB]\n,  ([unused_space_page_count]   * 8.0)/1000                            AS [unused_space_MB]\n,  ([unused_space_page_count]   * 8.0)/1000000                         AS [unused_space_GB]\n,  ([unused_space_page_count]   * 8.0)/1000000000                      AS [unused_space_TB]\n,  ([data_space_page_count]     * 8.0)                                 AS [data_space_KB]\n,  ([data_space_page_count]     * 8.0)/1000                            AS [data_space_MB]\n,  ([data_space_page_count]     * 8.0)/1000000                         AS [data_space_GB]\n,  ([data_space_page_count]     * 8.0)/1000000000                      AS [data_space_TB]\n,  ([index_space_page_count]  * 8.0)                                   AS [index_space_KB]\n,  ([index_space_page_count]  * 8.0)/1000                              AS [index_space_MB]\n,  ([index_space_page_count]  * 8.0)/1000000                           AS [index_space_GB]\n,  ([index_space_page_count]  * 8.0)/1000000000                        AS [index_space_TB]\nFROM base\n)\nSELECT * \nFROM size\n;"
  },
  {
    "path": "TSQL_Queries/Table_Information/DataTypeMismatch.sql",
    "content": "SET NOCOUNT ON; \n--Identify columns that have the same name, but different data types or data lengths\nWITH Query as \n(\n\tSELECT \n\t\tCOLUMN_NAME, \n\t\tCOUNT(DISTINCT DATA_TYPE)AS 'Diff_Type_Count' ,\n\t\tCOUNT(DISTINCT Character_Maximum_length) AS 'Diff_Length_Count', \n\t\tcount(table_name) AS Found_In_Table_Count\n\tFROM INFORMATION_SCHEMA.COLUMNS\n\tGROUP BY COLUMN_NAME\n)\nSELECT * FROM Query WHERE Diff_Type_Count > 1 or Diff_Length_Count > 1\nOrder by Diff_Type_Count desc,Diff_Length_Count desc\n\n--Use this query to see all individual uses of a specific column name including data type and length\nSELECT \n\tTABLE_SCHEMA,\n\tTABLE_NAME, \n\tCOLUMN_NAME, \n\tDATA_TYPE, \n\tCharacter_Maximum_length\nFROM INFORMATION_SCHEMA.COLUMNS\nWHERE COLUMN_NAME = 'SEQ_NUM' --Change to column name to investigate"
  },
  {
    "path": "TSQL_Queries/Table_Information/DistributionSpaceSummary.sql",
    "content": "﻿--Distribution Space Summary\n--PRE-REQUISITE: must have the table info view created\n--FROM: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-overview#table-size-queries\nSELECT \n    distribution_id\n,    SUM(row_count)                as total_node_distribution_row_count\n,    SUM(reserved_space_MB)        as total_node_distribution_reserved_space_MB\n,    SUM(data_space_MB)            as total_node_distribution_data_space_MB\n,    SUM(index_space_MB)           as total_node_distribution_index_space_MB\n,    SUM(unused_space_MB)          as total_node_distribution_unused_space_MB\nFROM dbo.vTableSizes\nGROUP BY     distribution_id\nORDER BY    distribution_id\n;"
  },
  {
    "path": "TSQL_Queries/Table_Information/FindNullableDistColumns.sql",
    "content": "﻿/*\n\t========================================\n\t   Find Nullable Distribution Columns\n\t========================================\n\n\tThis query will return any distribution columns in the Azure SQL Data Warehouse Database that are \n\tset to allow NULLs. As a best practice and to avoid data skew, all distribution columns should be set to NOT NULL\n\n\tAuthor: Nicksalc@Microsoft.com\n*/\n\nSELECT\n       s.name              as 'Schema Name',\n       t.name              as 'Table Name',\n       c.name              as 'Distribution Column',\n       c.is_nullable,\n       c.object_id\nFROM sys.pdw_column_distribution_properties pcdp\nJOIN sys.columns c\n       ON pcdp.[object_id] = c.[object_id]\n       AND pcdp.column_id = c.column_id\n       AND pcdp.distribution_ordinal = 1\nJOIN sys.tables t\n       ON c.object_id = t.object_id\nJOIN sys.schemas s\n       ON t.schema_id = s.schema_id\nWHERE c.is_nullable = 1\n"
  },
  {
    "path": "TSQL_Queries/Table_Information/GenerateTableSchemas.sql",
    "content": "--Generate Schemas of all tables\n--This is an early release that may not cover all data types or table structures and should not be considered perfect\nWITH ColumnList AS\n(\tselect s.name AS 'Schema'\n\t,t.name AS 'Table'\n\t,c.name AS 'Column'\n\t,c.column_id\n\t,type.name AS 'Type'\n\t,c.max_length\n\t,c.precision\n\t,c.scale\n\t,c.is_nullable \n\t, ColumnDefinition = \n\t\tCASE \n\t\t\tWHEN type.name in ('varchar')  AND c.is_nullable=1 THEN '[' + c.name + '] ' + type.name + '(' + cast(c.max_length as nvarchar(5)) + ') NULL,'\n\t\t\tWHEN type.name in ('varchar')  AND c.is_nullable=0 THEN '[' + c.name + '] ' + type.name + '(' + cast(c.max_length as nvarchar(5)) + ') NOT NULL,'\n\t\t\tWHEN type.name in ('nvarchar')  AND c.is_nullable=1 THEN '[' + c.name + '] ' + type.name + '(' + cast(c.max_length/2 as nvarchar(5)) + ') NULL,'\n\t\t\tWHEN type.name in ('nvarchar')  AND c.is_nullable=0 THEN '[' + c.name + '] ' + type.name + '(' + cast(c.max_length/2 as nvarchar(5)) + ') NOT NULL,'\n\t\t\tWHEN type.name in ('real','int','datetime','bigint','bit','smallint','tinyint','smallmoney','money','float','sysname','date')  AND c.is_nullable=0 THEN '[' + c.name + '] ' + type.name + ' NOT NULL,'\n\t\t\tWHEN type.name in ('real','int','datetime','bigint','bit','smallint','tinyint','smallmoney','money','float','sysname','date')  AND c.is_nullable=1 THEN '[' + c.name + '] ' + type.name + ' NULL,'\n\t\t\tWHEN type.name in ('numeric','decimal')  AND c.is_nullable=0 THEN '[' + c.name + '] ' + type.name + '(' + cast(c.precision  as nvarchar(5)) + ', ' + cast(c.scale  as nvarchar(5)) + ') NOT NULL,'\n\t\t\tWHEN type.name in ('numeric','decimal')  AND c.is_nullable=1 THEN '[' + c.name + '] ' + type.name + '(' + cast(c.precision  as nvarchar(5)) + ', ' + cast(c.scale  as nvarchar(5)) + ') NULL,'\n\t\t\tELSE '--no match--'\n\t\tEND\n\t, CTAS_Version = \n\t\tCASE \n\t\t\tWHEN type.name in ('varchar','nvarchar') THEN 'ISNULL([' + c.name + '],'''') AS [' + c.name + '],'\n\t\t\tELSE '[' + c.name  + '],'\n\t\tEND\n\tfrom sys.tables t\n\tjoin sys.schemas s\n\ton t.schema_id = s.schema_id\n\tjoin sys.columns c\n\ton t.object_id = c.object_id\n\tjoin sys.types type\n\ton c.user_type_id = type.user_type_id\n)\n\nSELECT\n\ts.name AS 'Schema'\n\t,t.name AS 'Table'\n\t,t.object_id\n\t,ptdp.Distribution_policy_desc AS 'Table_Type' \n\t,dist.column_name AS Distribution_Column\n\t,i.name AS Index_name\n\t,ISNULL(i.type_desc,'HEAP') AS Index_Type\n\t--,ic.column_id as 'Index_Column_ID'\n\t,CL.[Column]\n\t,CL.column_id\n\t,i.index_id\n\t,CL.[Type]\n\t,CL.max_length\n\t,CL.precision\n\t,CL.scale\n\t,CL.is_nullable \n\t,CL.ColumnDefinition\n\t,CL.Ctas_version\n\t,t.create_date\n\t,t.modify_date\nFROM sys.tables t\nJOIN sys.schemas s\nON t.schema_id = s.schema_id\nJOIN sys.pdw_table_distribution_properties ptdp\nON t.object_id = ptdp.object_id\nLEFT JOIN (\n\tselect c.name as column_name,pcdp.distribution_ordinal,c.object_id from sys.pdw_column_distribution_properties pcdp\n\tjoin sys.columns c\n\tON pcdp.[object_id] = c.[object_id]\n\tAND pcdp.column_id = c.column_id\n\tAND pcdp.distribution_ordinal = 1\n\t) as Dist\nON ptdp.object_id = dist.object_id\nJOIN ColumnList CL\nON CL.[schema] = s.[name]\nAND t.[name] = CL.[table]\nLEFT JOIN sys.index_columns ic\non t.object_id = ic.object_id\nAND CL.column_id = ic.column_id\nLEFT JOIN sys.indexes i\nON ic.object_id = i.object_id\nAND ic.index_id = i.index_id\nORDER BY [schema],[Table]\n\t"
  },
  {
    "path": "TSQL_Queries/Table_Information/IdentifyLargeDataTypes.sql",
    "content": "SET NOCOUNT ON;\n--This query will just collect the largest data types it can find in the database. \n--You can change the character maximum length as desired\nSELECT TABLE_SCHEMA,TABLE_NAME, COLUMN_NAME, DATA_TYPE, Character_Maximum_length\nFROM INFORMATION_SCHEMA.COLUMNS\nWHERE Character_Maximum_length > 100\norder by Character_Maximum_length desc\n\n"
  },
  {
    "path": "TSQL_Queries/Table_Information/MostUsedTables_BETA.sql",
    "content": "﻿--This query joins the index usage stats from all nodes to determine which tables are the most used. \nSELECT \n\ts.name\n\t, t.name\n\t, MAX(pnt.create_date) AS create_date\n\t, MAX(pnt.modify_date) AS modify_date\n\t, MAX(IUS.user_seeks) AS user_seeks\n\t, MAX(IUS.user_scans) AS user_scans\n\t, MAX(IUS.user_lookups) AS user_lookups\n\t, MAX(IUS.user_updates) AS user_updates\n\t, MAX(IUS.last_user_seek) AS last_user_seek\n\t, MAX(IUS.last_user_scan) AS last_user_scan\n\t, MAX(IUS.last_user_lookup) AS last_user_lookup\n\t, MAX(IUS.last_user_update) AS last_user_update\n\t, SUM(IUS.user_seeks + IUS.user_scans + IUS.user_lookups + IUS.user_updates) AS total_touches\nFROM sys.pdw_nodes_tables pnt \nLEFT JOIN sys.dm_pdw_nodes_db_index_usage_stats IUS\n\tON IUS.object_id = pnt.object_id\nJOIN sys.pdw_table_mappings ptm\n\tON ptm.physical_name = pnt.name\nJOIN sys.tables t\n\tON t.object_id = ptm.object_id\nJOIN sys.schemas s\n\tON s.schema_id = t.schema_id\nGROUP BY t.object_id, s.name,t.name\nORDER BY total_touches DESC\n\n"
  },
  {
    "path": "TSQL_Queries/Table_Information/TableSizeByDistType.sql",
    "content": "﻿--Table size by distribution type\n--PRE-REQUISITE: must have table info view created already\n--pulled from: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-overview#table-size-queries\nSELECT \n     distribution_policy_name\n,    SUM(row_count)                as table_type_row_count\n,    SUM(reserved_space_GB)        as table_type_reserved_space_GB\n,    SUM(data_space_GB)            as table_type_data_space_GB\n,    SUM(index_space_GB)           as table_type_index_space_GB\n,    SUM(unused_space_GB)          as table_type_unused_space_GB\nFROM dbo.vTableSizes\nGROUP BY distribution_policy_name\n;"
  },
  {
    "path": "TSQL_Queries/Table_Information/TableSizeByIndexType.sql",
    "content": "﻿--Table space by index type\n--PRE-REQUISITE: MUST HAVE TABLE INFO VIEW CREATED ALREADY\n--SOURCE: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-overview#table-size-queries\nSELECT \n     index_type_desc\n,    SUM(row_count)                as table_type_row_count\n,    SUM(reserved_space_GB)        as table_type_reserved_space_GB\n,    SUM(data_space_GB)            as table_type_data_space_GB\n,    SUM(index_space_GB)           as table_type_index_space_GB\n,    SUM(unused_space_GB)          as table_type_unused_space_GB\nFROM dbo.vTableSizes\nGROUP BY index_type_desc\n;"
  },
  {
    "path": "TSQL_Queries/Table_Information/TableSizeSummary.sql",
    "content": "﻿--Table size summary\n--PRE-REQUISITE: CREATE THE TABLE INFO VIEW FIRST\n--SOURCE: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-overview#table-size-queries\nSELECT \n     database_name\n,    schema_name\n,    table_name\n,    distribution_policy_name\n,      distribution_column\n,    index_type_desc\n,    COUNT(distinct partition_nmbr) as nbr_partitions\n,    SUM(row_count)                 as table_row_count\n,    SUM(reserved_space_GB)         as table_reserved_space_GB\n,    SUM(data_space_GB)             as table_data_space_GB\n,    SUM(index_space_GB)            as table_index_space_GB\n,    SUM(unused_space_GB)           as table_unused_space_GB\nFROM \n    dbo.vTableSizes\nGROUP BY \n     database_name\n,    schema_name\n,    table_name\n,    distribution_policy_name\n,      distribution_column\n,    index_type_desc\nORDER BY\n    table_reserved_space_GB desc\n;"
  },
  {
    "path": "TSQL_Queries/Table_Information/TableSkew.sql",
    "content": "﻿/*\n\t========================================\n\t   Find tables with data skew over 10%\n\t========================================\n\tThis query will return tables that have data skew over 10%. These tables could be affecting query processing time and a different distribution column should be considered.\n\n\tPRE-REQUISITE: must have the vtableSizes view created: https://raw.githubusercontent.com/Microsoft/AzureDW_Query_Toolbox/master/TableInformation/CreateTableInfoView.dsql\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-distribute\n\n*/\nselect *\nfrom dbo.vTableSizes\nwhere two_part_name in\n    (\n    select two_part_name\n    from dbo.vTableSizes\n    where row_count > 0\n    group by two_part_name\n    having min(row_count * 1.000)/max(row_count * 1.000) > .10\n    )\norder by two_part_name, row_count\n;"
  },
  {
    "path": "TSQL_Queries/Table_Information/TableUsageInformation.sql",
    "content": "SELECT \n    s.name AS SchemaName\n    , t.name AS TableName\n    , MAX(i.last_user_seek) as Last_seek\n    , MAX(i.last_user_scan) as last_scan\n    , MAX(i.last_user_lookup) as last_lookup\n    , MAX(i.last_user_update) as last_update \nFROM sys.schemas s\nINNER JOIN sys.tables t\n    ON s.schema_id = t.schema_id\nINNER JOIN sys.pdw_permanent_table_mappings ptm\n    ON t.object_id = ptm.object_id\nINNER JOIN sys.pdw_nodes_tables nt\n    ON ptm.physical_name = nt.name\nINNER JOIN sys.dm_pdw_nodes_db_index_usage_stats i\n    ON i.object_id = nt.Object_id\nINNER JOIN sys.databases d\n    ON i.database_id = d.database_id\nWHERE d.database_id <> 1\n    --AND s.name = '<schema>'\nGROUP BY s.name, t.name\nORDER BY last_scan DESC"
  },
  {
    "path": "TSQL_Queries/Table_Information/TablesWithMostLargeTypes.sql",
    "content": "SET NOCOUNT ON; \n--This query will find tables with the most number of large types\nSELECT TABLE_SCHEMA,TABLE_NAME, COUNT(*) AS Num_Lg_Types\nFROM INFORMATION_SCHEMA.COLUMNS\nWHERE Character_Maximum_length > 100\nGROUP BY TABLE_SCHEMA,TABLE_NAME\norder by Num_Lg_Types desc"
  },
  {
    "path": "TSQL_Queries/TempDB/TempDbPerNode.sql",
    "content": "--Tempdb usage per node\nSELECT \n\t'TempDB per node' AS 'TempDB per node'\n\t,pdw.pdw_node_id\n\t,n.type\n\t,sum(pdw.bytes_processed) as 'bytes_written'\n\t,CAST(sum(pdw.bytes_processed)/1024.0/1024.0/1024.0 AS Decimal(10,1)) AS 'GB_written'\n\t,'1995' AS 'Total_tempDB_size_GB'\n\t,CAST(((sum(pdw.bytes_processed)/1024.0/1024.0/1024.0)/1995.0)*100 AS Decimal(10,1)) AS 'percent_used'\n\t,sum(pdw.rows_processed) as 'rows_written'\nFROM sys.dm_pdw_nodes n\nLEFT JOIN Sys.dm_pdw_dms_workers pdw\n\tON n.pdw_node_id = pdw.pdw_node_id\nLEFT JOIN sys.dm_pdw_exec_requests req\n\tON pdw.request_id = req.request_id\nWHERE pdw.type = 'Writer'\nAND req.status = 'running'\nGROUP BY n.type,pdw.pdw_node_id\nORDER BY bytes_written desc\n"
  },
  {
    "path": "TSQL_Queries/TempDB/TempDbPerQuery.sql",
    "content": "--Tempdb usage per query\nSELECT \n\t'TempDB per query' AS 'TempDB per query'\n\t,req.request_id\n\t,sum(pdw.bytes_processed) as 'bytes_written'\n\t,CAST(sum(pdw.bytes_processed)/1024.0/1024.0/1024.0 AS Decimal(10,1)) AS 'GB_written'\n\t,sum(pdw.rows_processed) as 'rows_written'\n\t,'EXEC sp_requests_detail @request_id=''' + req.request_id + '''' AS 'request_detail_command'\nfrom\tSys.dm_pdw_dms_workers pdw\nJOIN sys.dm_pdw_exec_requests req\nON pdw.request_id = req.request_id\nWHERE pdw.type = 'Writer'\nAND req.status = 'running'\nGROUP BY req.request_id\nORDER BY bytes_written desc"
  },
  {
    "path": "TSQL_Queries/TempDB/TotalTempDbUsage.sql",
    "content": "--Total TempDB Usage\nSELECT\n\t'Total TempDB usage' AS 'Total TempDB usage'\n\t,sum(pdw.rows_processed) as 'rows_written'\n\t,sum(pdw.bytes_processed) as 'bytes_written'\n\t,CAST(sum(pdw.bytes_processed)/1024.0/1024.0/1024.0 AS Decimal(10,1)) AS 'GB_written'\n\t,total_tempdb.total_tempdb_gb as 'Total_tempDB_size_GB'\n\t,CAST(((sum(pdw.bytes_processed)/1024.0/1024.0/1024.0)/total_tempdb.total_tempdb_gb)*100.0 AS Decimal(10,1)) AS 'approx_percent_used'\nFROM Sys.dm_pdw_dms_workers pdw\nJOIN sys.dm_pdw_exec_requests req\n\tON pdw.request_id = req.request_id\nJOIN (SELECT (count(1) * 1995) AS total_tempdb_gb FROM sys.dm_pdw_nodes WHERE type='COMPUTE') AS total_tempdb\n\tON 1=1\nWHERE pdw.type = 'Writer'\nAND req.status = 'running'\nGROUP BY total_tempdb.total_tempdb_gb"
  },
  {
    "path": "TSQL_Queries/Workarounds/RecursionWorkaround_HierarchicalTableSample.sql",
    "content": "SET\n    NOCOUNT ON \n\tDROP TABLE dbo.Employee;\n\nGO\n\nCREATE TABLE dbo.Employee (\n    EmployeeId BIGINT NOT NULL,\n    EmployeeName VARCHAR(255) NOT NULL,\n    ParentId BIGINT NOT NULL\n) WITH (\n    DISTRIBUTION = HASH (EmployeeId),\n    HEAP\n);\n\nGO\ninsert into\n    Employee\nvalues\n(10, 'Ken Snchez', 1);\n\ninsert into\n    Employee\nvalues\n(11, 'Brian Welker', 10);\n\ninsert into\n    Employee\nvalues\n(12, 'Stephen Jiang', 11);\n\ninsert into\n    Employee\nvalues\n(13, 'Michael Blythe', 2);\n\ninsert into\n    Employee\nvalues\n(14, 'Linda Mitchell', 13);\n\ninsert into\n    Employee\nvalues\n(15, 'Syed Abbas', 3);\n\ninsert into\n    Employee\nvalues\n(16, 'Lynn Tsoflias', 15);\n\ninsert into\n    Employee\nvalues\n(17, 'David Bradley', 16);\n\ninsert into\n    Employee\nvalues\n(18, 'Hanan Almira', 17);\n\ninsert into\n    Employee\nvalues\n(19, 'Yunia Damayanti', 18);\n\ninsert into\n    Employee\nvalues\n(20, 'Mike Decker', 19);\n\ninsert into\n    Employee\nvalues\n(21, 'Lovely Sugiyanti', 12);\n\nGO\nSELECT\n    *\nFROM\n    dbo.Employee f \n\t\n\n\n-- Insert first record where no parent exists\nIF OBJECT_ID('tempdb..#employee') IS NOT NULL DROP TABLE #employee;\nCREATE TABLE #employee\nWITH (\n    DISTRIBUTION = HASH (EmployeeId)\n) AS \n\nWITH cte AS (\n    SELECT\n        1 AS xlevel,\n        p.EmployeeId,\n        p.ParentId,\n        p.EmployeeName,\n        CAST(p.ParentId AS VARCHAR(255)) AS PathString,\n        0 AS PathLength,\n\t\t1 as IsRoot,\n\t\tCase when exists (Select 1 from dbo.employee pcheck where pcheck.ParentId = p.EmployeeID) then 0 else 1 end as IsLeaf\n    FROM\n        dbo.Employee p\n    WHERE\n        NOT EXISTS (\n            SELECT\n                *\n            FROM\n                dbo.Employee c\n            WHERE\n                p.ParentId = c.EmployeeId\n        )\n)\nSELECT\n    *\nFROM\n    cte\n\n\nSELECT\n    'before' s,\n    *\nFROM\n    #employee \nORDER BY EmployeeId;\n\n-- Loop thru Features\nDECLARE @counter int = 1;\n\n--Begin Loop\nWHILE EXISTS (\n    SELECT\n        *\n    FROM\n        #employee p\n        INNER JOIN dbo.employee c ON p.EmployeeId = c.ParentId\n    WHERE\n        p.xlevel = @counter\n)\t\nBEGIN -- Insert next level\n\tINSERT INTO\n\t\t#employee ( xlevel, EmployeeId, ParentId, EmployeeName, PathString, PathLength, IsRoot, IsLeaf )\n\tSELECT\n\t\t@counter + 1 AS xlevel,\n\t\tc.EmployeeId,\n\t\tc.ParentId,\n\t\tc.EmployeeName,\n\t\tp.PathString + '*' + CAST(c.ParentId AS VARCHAR(255)) AS PathString,\n\t\t@counter AS PathLength,\n\t\t0 as IsRoot,\n\t\tCase when exists (Select 1 from dbo.employee pcheck where pcheck.ParentId = C.EmployeeID) then 0 else 1 end as IsLeaf\n\tFROM\n\t\t#employee p\n\t\tINNER JOIN dbo.employee c ON p.EmployeeId = c.ParentId\n\tWHERE\n\t\tp.xlevel = @counter;\n\n\tSET @counter = @counter + 1;\n\n\t-- Loop safety\n\tIF @counter > 99 \n\tBEGIN \n\t\tRAISERROR('Too many loops!', 16, 1) \n\t\tBREAK\n\tEND\nEND\n\nSELECT\n    *\nFROM\n    dbo.Employee f \n\t\n\nSELECT\n    'after' s,\n    *\nFROM\n    #employee ORDER BY EmployeeId;\n\n--Get Leaf Rows\nSELECT\n    'after' s,\n    *\nFROM\n    #employee  e\nWhere not exists (select parentid from #Employee p where e.employeeid = p.parentid)"
  },
  {
    "path": "TSQL_Queries/Workload_Management/CurrentRoleByUser.sql",
    "content": "/*\n\t==========================\n\t   Current Role By User\n\t==========================\n\tThe following query returns what DWU role each user is currently assigned to.  \n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/analyze-your-workload\n*/\nSELECT  r.name AS role_principal_name\n,       m.name AS member_principal_name\nFROM    sys.database_role_members rm\nJOIN    sys.database_principals AS r            ON rm.role_principal_id      = r.principal_id\nJOIN    sys.database_principals AS m            ON rm.member_principal_id    = m.principal_id\nWHERE   r.name IN ('mediumrc','largerc','xlargerc')\n;"
  },
  {
    "path": "TSQL_Queries/Workload_Management/ViewWorkloadGroups.sql",
    "content": "/*\n\t=========================\n\t   View Workload Groups\n\t=========================\n\tThe following query shows details of the memory resource allocation from the perspective of \n\tthe resource governor. This is helpful for analyzing active and historic usage of the \n\tworkload groups when troubleshooting.\n\t\n\tSource: https://docs.microsoft.com/en-us/azure/sql-data-warehouse/analyze-your-workload\n*/\nWITH rg\nAS\n(   SELECT  \n     pn.name                                AS node_name\n    ,pn.[type]                              AS node_type\n    ,pn.pdw_node_id                         AS node_id\n    ,rp.name                                AS pool_name\n    ,rp.max_memory_kb*1.0/1024              AS pool_max_mem_MB\n    ,wg.name                                AS group_name\n    ,wg.importance                          AS group_importance\n    ,wg.request_max_memory_grant_percent    AS group_request_max_memory_grant_pcnt\n    ,wg.max_dop                             AS group_max_dop\n    ,wg.effective_max_dop                   AS group_effective_max_dop\n    ,wg.total_request_count                 AS group_total_request_count\n    ,wg.total_queued_request_count          AS group_total_queued_request_count\n    ,wg.active_request_count                AS group_active_request_count\n    ,wg.queued_request_count                AS group_queued_request_count\n    FROM    sys.dm_pdw_nodes_resource_governor_workload_groups wg\n    JOIN    sys.dm_pdw_nodes_resource_governor_resource_pools rp    \n            ON  wg.pdw_node_id  = rp.pdw_node_id\n            AND wg.pool_id      = rp.pool_id\n    JOIN    sys.dm_pdw_nodes pn\n            ON    wg.pdw_node_id    = pn.pdw_node_id\n    WHERE   wg.name like 'SloDWGroup%'\n    AND     rp.name    = 'SloDWPool'\n)\nSELECT  pool_name\n,       pool_max_mem_MB\n,       group_name\n,       group_importance\n,       (pool_max_mem_MB/100)*group_request_max_memory_grant_pcnt AS max_memory_grant_MB\n,       node_name\n,       node_type\n,       group_total_request_count\n,       group_total_queued_request_count\n,       group_active_request_count\n,       group_queued_request_count\nFROM    rg\nORDER BY\n        node_name\n,       group_request_max_memory_grant_pcnt\n,       group_importance\n;"
  },
  {
    "path": "TSQL_Queries/Workload_Management/WorkloadManagementMappingsAndUsage.sql",
    "content": "--Mapping details per classifier + effective grants + specified grants\nSELECT * FROM \n(SELECT \n    wc.name AS 'ClassifierName'\n    ,wc.group_name AS 'GroupName'\n    ,wc.importance AS 'ClassifierImportance'\n    ,wg.importance AS 'GroupImportance'\n    ,wcd.classifier_type\n    ,wcd.classifier_value\n    ,wg.min_percentage_resource\n    ,wgs.effective_min_percentage_resource\n    ,wg.cap_percentage_resource\n    ,wgs.effective_cap_percentage_resource\n    ,wg.request_min_resource_grant_percent\n    ,wgs.effective_request_min_resource_grant_percent\n    ,wg.request_max_resource_grant_percent\n    ,wgs.effective_request_max_resource_grant_percent\n    ,wgs.total_request_count\n    ,wgs.total_shared_resource_requests\n    ,wgs.total_queued_request_count\n    ,wgs.total_request_execution_timeouts\n    ,wgs.total_resource_grant_timeouts\nFROM sys.workload_management_workload_classifiers wc\nJOIN sys.workload_management_workload_classifier_details wcd\nON wc.classifier_id = wcd.classifier_id\nJOIN sys.dm_workload_management_workload_groups_stats wgs\nON wgs.name = wc.group_name\nJOIN sys.workload_management_workload_groups wg\nON wg.group_id = wgs.group_id\n) AS Source\nPIVOT (max(Classifier_Value) FOR Classifier_Type in ([membername],[wlm_label],[wlm_context],[start_time],[end_time])) AS PivotTable\n\n"
  }
]