[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69AFYSY00BP3DFW42Y98MCC":3,"skill-same:01M69AFYSY00BP3DFW42Y98MCC":66},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":23,"linkOnly":24,"markdownContent":25,"markdownBody":26,"frontMatter":27,"refName":29,"commitSha":30,"skillDirectory":31,"forksCount":32,"repositoryHtmlUrl":33,"repositoryHomepageUrl":6,"ownerHtmlUrl":34,"ownerBlogUrl":35,"ownerDescription":36,"updatedAt":37,"install":38,"resources":51},"01M69AFYSY00BP3DFW42Y98MCC","evaluate-offline-migration-readiness",null,"Run migration readiness assessment for a local or on-premises SQL Server using az datamigration. Windows-only.","microsoft\u002Fsqlcon-eu-2026-demos","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69AFC8P5962CJBG1RDAKA7Q",3,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsqlcon-eu-2026-demos\u002Fblob\u002Fmain\u002Fcorenote\u002Fmigration\u002Fskills\u002Fevaluate-offline-migration-readiness\u002FSKILL.md",[],[19,20,21,22],"evaluate offline migration readiness","windows","sql","sql server","2026-11-10 10:12:30",false,"---\nname: evaluate-offline-migration-readiness\ndescription: \"Run migration readiness assessment for a local or on-premises SQL Server using az datamigration. Windows-only.\"\nallowed-tools: Bash(az:*) PowerShell Grep View\n---\n\n# Evaluate Offline Migration Readiness\n\n## When to Use\n\nUse directly or from `run-migration-assessment` for local\u002Fon-premises readiness\nassessment without performance-based SKU sizing. Invoke after the server is\nconfirmed Local. Route Azure identifiers and unresolved servers through\n`run-migration-assessment`.\n\n## Workflow\n\n### Step 1: Check the Host and Tools\n\nApply [OS requirements](..\u002Freferences\u002Fos-requirements.md), then\n[assessment prerequisites](..\u002Freferences\u002Fassessment-prerequisites.md), before asking for connection\ndetails or an output folder. Continue on a supported Windows host.\n\n### Step 2: Confirm Inputs\n\nReuse the instance and output folder from context. If the folder is missing,\npresent selectable Default (`%LOCALAPPDATA%\\Microsoft\\SqlAssessment`) and Custom\nchoices. Wait for the answer and use the selected path.\n\n### Step 3: Check Existing Results\n\nUse `references\u002Fcommand-execution.md` to find the latest result matching the exact\nnormalized instance name.\n\n- Existing result -> read and render it before asking anything else. Show its\n  generation time and run a fresh assessment only after explicit confirmation.\n- No result -> continue.\n\n### Step 4: Run Assessment\n\nReuse complete connection details already present in conversation context.\nDo not ask how to connect when the server and credentials were already\nprovided. Collect only missing connection information using\n[local server connection](..\u002Freferences\u002Flocal-server-connection.md), then run the matching command\nfrom `references\u002Fcommand-execution.md`.\n\n### Step 5: Render\n\nRead the output JSON, then read and render\n`references\u002Freadiness-output.md`.\n\nThis is a hard output contract:\n\n- Use the template exactly; do not replace it with a prose summary.\n- Render all three target sections and the report path.\n- Render the complete assessment before asking about SKU sizing.\n- A retry, successful fresh assessment, or existing result uses the same\n  template.\n- The user's later SKU-duration choice must not replace or shorten the\n  readiness response already required by this step.\n\n### Step 6: Offer SKU Sizing\n\nImmediately after rendering readiness, ask:\n\n> \"How long should I collect performance data for a right-sized Azure SQL SKU\n> recommendation?\"\n\nPresent selectable options:\n\n- 2 hours\n- 24 hours (Recommended)\n- I don't want a SKU recommendation\n\nAllow a custom duration through the free-form answer. Convert the selected\nduration to seconds and delegate to `recommend-sku-sizing`. If the user declines,\nfinish after readiness. Present the duration choices directly after readiness.\n\n## Notes\n\n- Confirm the output folder before checking files.\n- Prefer an exact instance-tagged report. If the CLI generates\n  `SqlAssessmentReport-*.json` instead, use it only from the confirmed\n  per-instance output folder.\n- Include the generated report path. Prefer HTML when present; otherwise link\n  the JSON report.\n\n## Error Handling\n\n- Cannot connect -> check server name, port, firewall, and credentials.\n- Tool or extension unavailable -> follow\n  [assessment prerequisites](..\u002Freferences\u002Fassessment-prerequisites.md).\n\n## References\n\n- `references\u002Fcommand-execution.md`\n- [Local server connection](..\u002Freferences\u002Flocal-server-connection.md)\n- [OS requirements](..\u002Freferences\u002Fos-requirements.md)\n- [Assessment prerequisites](..\u002Freferences\u002Fassessment-prerequisites.md)\n- `references\u002Freadiness-output.md`\n","# Evaluate Offline Migration Readiness\n\n## When to Use\n\nUse directly or from `run-migration-assessment` for local\u002Fon-premises readiness\nassessment without performance-based SKU sizing. Invoke after the server is\nconfirmed Local. Route Azure identifiers and unresolved servers through\n`run-migration-assessment`.\n\n## Workflow\n\n### Step 1: Check the Host and Tools\n\nApply [OS requirements](..\u002Freferences\u002Fos-requirements.md), then\n[assessment prerequisites](..\u002Freferences\u002Fassessment-prerequisites.md), before asking for connection\ndetails or an output folder. Continue on a supported Windows host.\n\n### Step 2: Confirm Inputs\n\nReuse the instance and output folder from context. If the folder is missing,\npresent selectable Default (`%LOCALAPPDATA%\\Microsoft\\SqlAssessment`) and Custom\nchoices. Wait for the answer and use the selected path.\n\n### Step 3: Check Existing Results\n\nUse `references\u002Fcommand-execution.md` to find the latest result matching the exact\nnormalized instance name.\n\n- Existing result -> read and render it before asking anything else. Show its\n  generation time and run a fresh assessment only after explicit confirmation.\n- No result -> continue.\n\n### Step 4: Run Assessment\n\nReuse complete connection details already present in conversation context.\nDo not ask how to connect when the server and credentials were already\nprovided. Collect only missing connection information using\n[local server connection](..\u002Freferences\u002Flocal-server-connection.md), then run the matching command\nfrom `references\u002Fcommand-execution.md`.\n\n### Step 5: Render\n\nRead the output JSON, then read and render\n`references\u002Freadiness-output.md`.\n\nThis is a hard output contract:\n\n- Use the template exactly; do not replace it with a prose summary.\n- Render all three target sections and the report path.\n- Render the complete assessment before asking about SKU sizing.\n- A retry, successful fresh assessment, or existing result uses the same\n  template.\n- The user's later SKU-duration choice must not replace or shorten the\n  readiness response already required by this step.\n\n### Step 6: Offer SKU Sizing\n\nImmediately after rendering readiness, ask:\n\n> \"How long should I collect performance data for a right-sized Azure SQL SKU\n> recommendation?\"\n\nPresent selectable options:\n\n- 2 hours\n- 24 hours (Recommended)\n- I don't want a SKU recommendation\n\nAllow a custom duration through the free-form answer. Convert the selected\nduration to seconds and delegate to `recommend-sku-sizing`. If the user declines,\nfinish after readiness. Present the duration choices directly after readiness.\n\n## Notes\n\n- Confirm the output folder before checking files.\n- Prefer an exact instance-tagged report. If the CLI generates\n  `SqlAssessmentReport-*.json` instead, use it only from the confirmed\n  per-instance output folder.\n- Include the generated report path. Prefer HTML when present; otherwise link\n  the JSON report.\n\n## Error Handling\n\n- Cannot connect -> check server name, port, firewall, and credentials.\n- Tool or extension unavailable -> follow\n  [assessment prerequisites](..\u002Freferences\u002Fassessment-prerequisites.md).\n\n## References\n\n- `references\u002Fcommand-execution.md`\n- [Local server connection](..\u002Freferences\u002Flocal-server-connection.md)\n- [OS requirements](..\u002Freferences\u002Fos-requirements.md)\n- [Assessment prerequisites](..\u002Freferences\u002Fassessment-prerequisites.md)\n- `references\u002Freadiness-output.md`\n",{"name":5,"description":7,"allowed-tools":28},"Bash(az:*) PowerShell Grep View","main","d2b16500cb10bf44117390e08717ca731032d423","corenote\u002Fmigration\u002Fskills\u002Fevaluate-offline-migration-readiness",0,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsqlcon-eu-2026-demos","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-01 23:31:12",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add microsoft\u002Fsqlcon-eu-2026-demos --skill evaluate-offline-migration-readiness",{"tool":44,"command":45},"bunx","bunx skills add microsoft\u002Fsqlcon-eu-2026-demos --skill evaluate-offline-migration-readiness",{"tool":47,"command":48},"pnpm","pnpm dlx skills add microsoft\u002Fsqlcon-eu-2026-demos --skill evaluate-offline-migration-readiness","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsqlcon-eu-2026-demos\u002Fblob\u002Fmain\u002Fcorenote\u002Fmigration\u002Fskills\u002Fevaluate-offline-migration-readiness\u002FSKILL.md",true,[52,58,62],{"path":53,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":56,"sourceHtmlUrl":57},"references\u002Fcommand-execution.md","REFERENCE","参考文档",2305,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsqlcon-eu-2026-demos\u002Fblob\u002Fmain\u002Fcorenote\u002Fmigration\u002Fskills\u002Fevaluate-offline-migration-readiness\u002Freferences\u002Fcommand-execution.md",{"path":59,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":60,"sourceHtmlUrl":61},"references\u002Freadiness-output.md",2470,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsqlcon-eu-2026-demos\u002Fblob\u002Fmain\u002Fcorenote\u002Fmigration\u002Fskills\u002Fevaluate-offline-migration-readiness\u002Freferences\u002Freadiness-output.md",{"path":63,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":64,"sourceHtmlUrl":65},"skill-contract.yml",3328,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsqlcon-eu-2026-demos\u002Fblob\u002Fmain\u002Fcorenote\u002Fmigration\u002Fskills\u002Fevaluate-offline-migration-readiness\u002Fskill-contract.yml",[67,82,98,108,119,130],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":78,"publishedAt":23},"01M69AGTKN8F66BXE45KQ3MDMX","keynote-demo-app","Build or extend a SQLCon EU 2026 keynote demo application so it looks and behaves like the other keynote apps. Use when creating a new demo view (invoices, operations, orders), restyling an existing app to match, adding a deliberate database anti-pattern for a troubleshooting demo, or wiring an app to Azure SQL or Fabric SQL with managed identity. Triggers include \"make this look like the keynote app\", \"build a demo view\", \"add the slow query demo\", \"match Caldova styling\".","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsqlcon-eu-2026-demos\u002Fblob\u002Fmain\u002Fshared\u002FSKILL.md",[73],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[79,21,80,81],"keynote demo app","azure sql","identity",{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":94,"publishedAt":23},"01M69AGRAPA61AN2A2N2RF6NCJ","validate-post-migration-data","Validate data and schema after migrating SQL Server to Azure SQL Database, Azure SQL Managed Instance, or SQL Server on Azure VM. Use after migration, restore, BACPAC import, LRS completion, cutover validation, row-count comparison, or source-target reconciliation.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsqlcon-eu-2026-demos\u002Fblob\u002Fmain\u002Fcorenote\u002Fmigration\u002Fskills\u002Fvalidate-post-migration-data\u002FSKILL.md",[88,89],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[95,96,22,21,97,80],"validate post migration data","validate","azure sql database",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":106,"publishedAt":23},"01M69AGNG0HQK50EW1CNEFTR1N","sql-server-to-sql-mi-lrs-migration","Migrate SQL Server databases to Azure SQL Managed Instance with Log Replay Service (LRS) using managed identity for Blob access. Use for SQL Server to SQL MI, LRS, log replay, continuous restore, or low-downtime backup-chain migrations.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsqlcon-eu-2026-demos\u002Fblob\u002Fmain\u002Fcorenote\u002Fmigration\u002Fskills\u002Fsql-server-to-sql-mi-lrs-migration\u002FSKILL.md",[104,105],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},[107,22,21,80,81],"sql server to sql mi lrs migration",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":116,"publishedAt":23},"01M69AGJC50G0YX7VQ52SQ0AD0","sql-bacpac-to-azure-sql-db-migration","Migrate one or all user databases from SQL Server to Azure SQL Database with an offline BACPAC workflow. Use for BACPAC, SqlPackage export\u002Fimport, bulk database migration, or offline Azure SQL Database migration requests.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsqlcon-eu-2026-demos\u002Fblob\u002Fmain\u002Fcorenote\u002Fmigration\u002Fskills\u002Fsql-bacpac-to-azure-sql-db-migration\u002FSKILL.md",[114,115],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},[117,21,80,22,97,118],"sql bacpac to azure sql db migration","workflow",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":127,"publishedAt":23},"01M69AGFTTX13PCFKM3YVHKGDV","sql-backup-restore-to-azure-sql-vm-migration","Migrate a SQL Server 2008 through SQL Server 2025 source to a SQL Server 2025 target wherever it runs, including SQL Server on Azure VM, by creating a local full backup, uploading it to Azure Blob Storage with AzCopy and the operator's Microsoft Entra identity, and restoring from URL with the target SQL Server managed identity. Sources newer than SQL Server 2025 are blocked because target restore compatibility has not been validated. Use for SQL-to-SQL, local-backup, AzCopy, managed-identity, Azure SQL VM, or SQL Server 2025 restore migrations.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsqlcon-eu-2026-demos\u002Fblob\u002Fmain\u002Fcorenote\u002Fmigration\u002Fskills\u002Fsql-backup-restore-to-azure-sql-vm-migration\u002FSKILL.md",[125,126],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},[21,80,128,9,129,81,22],"sql backup restore to azure sql vm migration","storage",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":137,"publishedAt":23},"01M69AGDP6XXM1YW7X1VV1QKE5","run-migration-assessment","Route generic or unresolved SQL Server assessment, readiness, compatibility, cost, and SKU recommendation requests. Use for bare server names or whenever Azure versus local\u002Fon-premises is not explicit; ask which source applies, then delegate.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsqlcon-eu-2026-demos\u002Fblob\u002Fmain\u002Fcorenote\u002Fmigration\u002Fskills\u002Frun-migration-assessment\u002FSKILL.md",[136],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},[138,22,21],"run migration assessment"]