Skip to main content

run-handsfree-indexing

Prepare, deploy, validate, rehearse, monitor, or clean up the SQLCon EU 2026 Caldova Hands-Free Indexing demo. Use for Azure SQL automatic indexing, Automatic Index Compaction, the Hyperscale dashboard workload, index bloat, compaction progress, or the demo's Azure deployment scripts.

معلومات المصدر

المستودع
microsoft/sqlcon-eu-2026-demos
آخر نشاط في المصدر
٢٢ سبتمبر ٢٠٢٦ في ١٦:٢٣
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
run-handsfree-indexing
description
Prepare, deploy, validate, rehearse, monitor, or clean up the SQLCon EU 2026 Caldova Hands-Free Indexing demo. Use for Azure SQL automatic indexing, Automatic Index Compaction, the Hyperscale dashboard workload, index bloat, compaction progress, or the demo's Azure deployment scripts.
argument-hint
Mode: prepare, deploy, preflight, rehearse, status, or cleanup
# Run Hands-Free Indexing Guide the user through the existing Azure SQL Database Hyperscale demo. Treat the [package README](../../../corenote/handsfreeindexing/README.md) and [demo runbook](../../../corenote/handsfreeindexing/DEMO-RUNBOOK.md) as the sources of truth. Run only the wrappers in `deploy`; do not reproduce their Azure CLI or SQL logic manually. ## Invariants - Use the unchanged `demo.usp_PatientAccessDashboard` procedure. - The qualifying nonclustered index must be created by Azure SQL and report `auto_created = 1`. - Never create a manual fallback index, force a plan, add a query hint, or drop and recreate the automatic index. - Bloat and compaction eligibility must use the existing bounded insert/delete workloads. Never update surviving rows. - Pair `DETAILED` physical statistics with the latest real dashboard duration and logical reads. Never invent or interpolate measurements. ## Safety Rules - Confirm the Azure account, tenant, subscription, resource group, SQL region, App Service region, and vCore count before deployment. - Explain that deployment creates billable Azure SQL Hyperscale, App Service, networking, private endpoint, and DNS resources. Require explicit user approval immediately before `01-deploy-infrastructure.ps1`. - Require explicit approval before database initialization, bloat creation, enabling compaction, and cleanup. - `99-remove.ps1` deletes the entire configured resource group. Show the exact resource group and require confirmation before running it; do not suppress its PowerShell confirmation. - Do not request credentials in chat. Authentication must use Azure CLI, Microsoft Entra, and managed identity as implemented by the scripts. - Do not print access tokens or broaden the exact-IP bootstrap firewall rule. ## Select a Mode - `prepare`: validate tools, identity, configuration, and feature availability. - `deploy`: run the four documented deployment steps with approval gates. - `preflight`: verify an existing environment without changing it. - `rehearse`: guide the measured indexing lifecycle one phase at a time. - `status`: capture the current documented state once; do not poll continuously. - `cleanup`: remove the dedicated resource group after explicit confirmation. ## Prepare 1. Read `deploy\00-config.ps1`; do not run it directly. 2. Require PowerShell 7, Azure CLI, go-sqlcmd, and the .NET 10 SDK. 3. Require `AZURE_SUBSCRIPTION_ID`. Accept only the documented optional `CALDOVA_*` environment overrides. 4. Use read-only account checks to confirm the active identity and that the configured subscription matches `AZURE_SUBSCRIPTION_ID`. 5. Confirm the selected SQL region supports the Automatic Index Compaction preview. If this cannot be verified, stop and mark the gate `NOT VERIFIED`. 6. Summarize the resolved resource names and locations without exposing tokens. ## Deploy From `corenote\handsfreeindexing`, run one step at a time and require success before continuing: 1. After billable-resource approval: ```powershell .\deploy\01-deploy-infrastructure.ps1 ``` 2. After confirmation that recreating the isolated demo schema and loading two million rows is intended: ```powershell .\deploy\02-initialize-database.ps1 ``` 3. Publish the application: ```powershell .\deploy\03-publish-app.ps1 ``` 4. Verify the deployed environment: ```powershell .\deploy\04-verify.ps1 ``` Require an online Hyperscale database, Entra-only authentication, an approved private endpoint, a running Windows App Service, `/healthz = ok`, and `/readyz = ready`. ## Preflight Run `04-verify.ps1` and report each documented gate. Confirm the presenter can open the Operations Dashboard and Index Health views. Do not initialize data, run workload, create bloat, or enable compaction during preflight. ## Rehearse Guide one phase at a time and wait for the user between phases: 1. **No Nonclustered Index**: initialize only if a fresh environment is explicitly intended; refresh the dashboard and confirm `Missing Index`. 2. **Automatic Tuning**: run one 15-minute interval with `05-run-workload.ps1`, then run `06-show-index-recommendation.ps1` and `07-check-auto-index.ps1`. If the index is not ready, stop and tell the user to repeat later. Never loop unattended. 3. **Create Real Bloat**: only after `auto_created = 1` is proven and the user approves, run `08-create-bloat.ps1`. Refresh the dashboard, then run `10-check-progress.ps1` once. 4. **Automatic Index Compaction**: after approval, run `09-enable-compaction.ps1`. On user request, refresh the dashboard and run `10-check-progress.ps1` once per observation. 5. Complete only when measured telemetry shows materially fewer pages, higher density, and recovered query performance. Preserve the runbook's final presentation message. Automatic tuning and compaction are asynchronous. Do not claim completion from elapsed time alone and do not use sleep loops or continuous polling. ## Status Run `10-check-progress.ps1` once and summarize phase, index name, `auto_created`, page count, density, logical reads, query duration, and AIC state from the output. If no paired measurement exists, say so. ## Cleanup Show the resolved resource group, explain that every contained resource will be deleted, obtain explicit confirmation, and then run: ```powershell .\deploy\99-remove.ps1 ``` Report that deletion was started; do not claim completion until Azure confirms the resource group no longer exists. ## Completion Report Report mode, subscription name, resource group, commands run, gates passed, current lifecycle phase, and remaining asynchronous or manual work. Do not include tokens or credentials.
عرض على GitHub