[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-sqldw-authoring-cli":3,"mdc--jk4n5x-key":39,"related-org-microsoft-sqldw-authoring-cli":4456,"related-repo-microsoft-sqldw-authoring-cli":4651},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":28,"repoUrl":29,"updatedAt":30,"license":31,"forks":32,"topics":33,"repo":34,"sourceUrl":37,"mdContent":38},"sqldw-authoring-cli","author T-SQL for Microsoft Fabric Data Warehouse","Execute authoring T-SQL (DDL, DML, data ingestion, transactions, schema changes) against Microsoft Fabric Data Warehouse and SQL endpoints via the MCP `fabric-sqlendpoint-execute_query` tool. Use when the user wants to: (1) create\u002Falter\u002Fdrop tables, (2) insert\u002Fupdate\u002Fdelete\u002Fmerge data, (3) run COPY INTO or OPENROWSET ingestion, (4) manage transactions or stored procedures, (5) perform schema evolution, (6) use time travel or snapshots, (7) generate ETL\u002FELT workflows, (8) create views\u002Ffunctions\u002Fprocedures on Lakehouse SQLEP. Triggers: \"create table in warehouse\", \"insert data via T-SQL\", \"load from ADLS\", \"COPY INTO\", \"run ETL with T-SQL\", \"alter warehouse table\", \"upsert with T-SQL\", \"merge into warehouse\", \"create T-SQL procedure\", \"warehouse time travel\", \"recover deleted warehouse data\", \"create warehouse schema\", \"deploy warehouse\", \"transaction conflict\", \"snapshot isolation error\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,16,19,22,25],{"name":13,"slug":14,"type":15},"Data Engineering","data-engineering","tag",{"name":17,"slug":18,"type":15},"CLI","cli",{"name":20,"slug":21,"type":15},"Database","database",{"name":23,"slug":24,"type":15},"Microsoft Fabric","microsoft-fabric",{"name":26,"slug":27,"type":15},"SQL","sql",858,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills-for-fabric","2026-07-31T05:55:00.045464",null,237,[],{"repoUrl":29,"stars":28,"forks":32,"topics":35,"description":36},[],"A collection of skills and MCP systems to enable users of CLI, VSCode, Claude to operate over Microsoft Fabric","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills-for-fabric\u002Ftree\u002FHEAD\u002Fskills\u002Fsqldw-authoring-cli","---\nname: sqldw-authoring-cli\ndescription: >\n  Execute authoring T-SQL (DDL, DML, data ingestion, transactions, schema changes) against Microsoft Fabric\n  Data Warehouse and SQL endpoints via the MCP `fabric-sqlendpoint-execute_query` tool. Use when the user wants to: (1) create\u002Falter\u002Fdrop\n  tables, (2) insert\u002Fupdate\u002Fdelete\u002Fmerge data, (3) run COPY INTO or OPENROWSET ingestion,\n  (4) manage transactions or stored procedures, (5) perform schema evolution, (6) use time travel or snapshots,\n  (7) generate ETL\u002FELT workflows, (8) create views\u002Ffunctions\u002Fprocedures on Lakehouse SQLEP. Triggers:\n  \"create table in warehouse\", \"insert data via T-SQL\", \"load from ADLS\", \"COPY INTO\", \"run ETL with T-SQL\", \"alter warehouse table\", \"upsert with T-SQL\", \"merge into warehouse\",\n  \"create T-SQL procedure\", \"warehouse time travel\", \"recover deleted warehouse data\", \"create warehouse schema\", \"deploy warehouse\",\n  \"transaction conflict\", \"snapshot isolation error\".\n---\n\n> **Update Check — ONCE PER SESSION (mandatory)**\n> The first time this skill is used in a session, run the **check-updates** skill before proceeding.\n> - **GitHub Copilot CLI \u002F VS Code**: invoke the `check-updates` skill.\n> - **Claude Code \u002F Cowork \u002F Cursor \u002F Windsurf \u002F Codex**: compare local vs remote package.json version.\n> - Skip if the check was already performed earlier in this session.\n\n> **CRITICAL NOTES**\n> 1. To find the workspace details (including its ID) from workspace name: list all workspaces and, then, use JMESPath filtering\n> 2. To find the item details (including its ID) from workspace ID, item type, and item name: list all items of that type in that workspace and, then, use JMESPath filtering\n\n# SQL Endpoint Authoring — CLI Skill\n\n> **⚠️ SQL Execution Override:** For SQL data-plane execution, this skill supersedes COMMON-CLI SQL\u002FTDS guidance. Use MCP `fabric-sqlendpoint-execute_query` (see [Tool Stack](#tool-stack)) unless explicitly using Legacy CLI Fallback.\n\n## Table of Contents\n\n| Task | Reference | Notes |\n|---|---|---|\n| Finding Workspaces and Items in Fabric | [COMMON-CLI.md § Finding Workspaces and Items in Fabric](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#finding-workspaces-and-items-in-fabric) | **Mandatory** — *READ link first* [needed for finding workspace id by its name or item id by its name, item type, and workspace id] |\n| Fabric Topology & Key Concepts | [COMMON-CORE.md § Fabric Topology & Key Concepts](..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#fabric-topology--key-concepts) ||\n| Environment URLs | [COMMON-CORE.md § Environment URLs](..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#environment-urls) ||\n| Authentication & Token Acquisition | [COMMON-CORE.md § Authentication & Token Acquisition](..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#authentication--token-acquisition) | Wrong audience = 401; read before any auth issue |\n| Core Control-Plane REST APIs | [COMMON-CORE.md § Core Control-Plane REST APIs](..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#core-control-plane-rest-apis) | Includes pagination, LRO polling, and rate-limiting patterns |\n| OneLake Data Access | [COMMON-CORE.md § OneLake Data Access](..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#onelake-data-access) | Requires `storage.azure.com` token, not Fabric token |\n| Definition Envelope | [ITEM-DEFINITIONS-CORE.md § Definition Envelope](..\u002F..\u002Fcommon\u002FITEM-DEFINITIONS-CORE.md#definition-envelope) | Definition payload structure |\n| Per-Item-Type Definitions | [ITEM-DEFINITIONS-CORE.md § Per-Item-Type Definitions](..\u002F..\u002Fcommon\u002FITEM-DEFINITIONS-CORE.md#per-item-type-definitions) | Support matrix, decoded content, part paths — [REST specs](..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#item-creation), [CLI recipes](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#item-crud-operations) |\n| Job Execution | [COMMON-CORE.md § Job Execution](..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#job-execution) ||\n| Capacity Management | [COMMON-CORE.md § Capacity Management](..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#capacity-management) ||\n| Gotchas, Best Practices & Troubleshooting (Platform) | [COMMON-CORE.md § Gotchas, Best Practices & Troubleshooting](..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#gotchas-best-practices--troubleshooting) ||\n| Tool Selection Rationale | [COMMON-CLI.md § Tool Selection Rationale](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#tool-selection-rationale) ||\n| Authentication Recipes | [COMMON-CLI.md § Authentication Recipes](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#authentication-recipes) | `az login` flows and token acquisition |\n| Fabric Control-Plane API via `az rest` | [COMMON-CLI.md § Fabric Control-Plane API via az rest](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#fabric-control-plane-api-via-az-rest) | **Always pass `--resource`**; includes pagination and LRO helpers |\n| OneLake Data Access via `curl` | [COMMON-CLI.md § OneLake Data Access via curl](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#onelake-data-access-via-curl) | Use `curl` not `az rest` (different token audience) |\n| SQL \u002F TDS Data-Plane Access | [COMMON-CLI.md § SQL \u002F TDS Data-Plane Access](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#sql--tds-data-plane-access) | Legacy `sqlcmd` reference (MCP is primary — see Tool Stack) |\n| Job Execution (CLI) | [COMMON-CLI.md § Job Execution](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#job-execution) ||\n| OneLake Shortcuts | [COMMON-CLI.md § OneLake Shortcuts](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#onelake-shortcuts) ||\n| Capacity Management (CLI) | [COMMON-CLI.md § Capacity Management](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#capacity-management) ||\n| Composite Recipes | [COMMON-CLI.md § Composite Recipes](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#composite-recipes) ||\n| Gotchas & Troubleshooting (CLI-Specific) | [COMMON-CLI.md § Gotchas & Troubleshooting (CLI-Specific)](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#gotchas--troubleshooting-cli-specific) | `az rest` audience, shell escaping, token expiry |\n| Quick Reference | [COMMON-CLI.md § Quick Reference](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#quick-reference) | `az rest` template + token audience\u002Ftool matrix |\n| Item-Type Capability Matrix | [SQLDW-CONSUMPTION-CORE.md § Item-Type Capability Matrix](..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#item-type-capability-matrix) | Shows read-only (SQLEP) vs read-write (DW) |\n| Connection Fundamentals | [SQLDW-CONSUMPTION-CORE.md § Connection Fundamentals](..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#connection-fundamentals) | TDS, port 1433, Entra-only, no MARS |\n| Supported T-SQL Surface Area (Consumption Focus) | [SQLDW-CONSUMPTION-CORE.md § Supported T-SQL Surface Area](..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#supported-t-sql-surface-area-consumption-focus) | **Read before writing T-SQL** — includes data types (no `nvarchar`\u002F`datetime`\u002F`money`) |\n| Read-Side Objects You Can Create | [SQLDW-CONSUMPTION-CORE.md § Read-Side Objects You Can Create](..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#read-side-objects-you-can-create) | Views, TVFs, scalar UDFs, procedures |\n| Temporary Tables | [SQLDW-CONSUMPTION-CORE.md § Temporary Tables](..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#temporary-tables) ||\n| Cross-Database Queries | [SQLDW-CONSUMPTION-CORE.md § Cross-Database Queries](..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#cross-database-queries) | 3-part naming, same workspace only |\n| Security for Consumption | [SQLDW-CONSUMPTION-CORE.md § Security for Consumption](..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#security-for-consumption) | GRANT\u002FDENY, RLS, CLS, DDM |\n| Monitoring and Diagnostics | [SQLDW-CONSUMPTION-CORE.md § Monitoring and Diagnostics](..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#monitoring-and-diagnostics) | Includes query labels; DMVs (live) + `queryinsights.*` (30-day history) |\n| Performance: Best Practices and Troubleshooting | [SQLDW-CONSUMPTION-CORE.md § Performance: Best Practices and Troubleshooting](..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#performance-best-practices-and-troubleshooting) | Statistics, caching, clustering, query tips |\n| REST API: Refresh SQL Endpoint Metadata | [SQLDW-CONSUMPTION-CORE.md § REST API: Refresh SQL Endpoint Metadata](..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#rest-api-refresh-sql-endpoint-metadata) | Force metadata sync when SQLEP is stale after ETL |\n| System Catalog Queries (Metadata Exploration) | [SQLDW-CONSUMPTION-CORE.md § System Catalog Queries](..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#system-catalog-queries-metadata-exploration) | `sys.tables`, `sys.columns`, `sys.views`, `sys.stats` |\n| Common Consumption Patterns | [SQLDW-CONSUMPTION-CORE.md § Common Consumption Patterns](..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#common-consumption-patterns-end-to-end-examples) | Reporting views, cross-DB analytics, temp table staging |\n| Gotchas and Troubleshooting (Consumption) | [SQLDW-CONSUMPTION-CORE.md § Gotchas and Troubleshooting Reference](..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#gotchas-and-troubleshooting-reference) | 18 numbered issues with cause + resolution |\n| Quick Reference: Consumption Capabilities | [SQLDW-CONSUMPTION-CORE.md § Quick Reference: Consumption Capabilities](..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#quick-reference-consumption-capabilities-by-scenario) ||\n| Authoring Capability Matrix | [SQLDW-AUTHORING-CORE.md § Authoring Capability Matrix](..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#authoring-capability-matrix) | **Read first** — DW vs SQLEP authoring scope |\n| Table DDL (DW Only) | [SQLDW-AUTHORING-CORE.md § Table DDL (DW Only)](..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#table-ddl-dw-only) | CREATE, CTAS, ALTER, sp_rename, DROP, constraints, schema evolution, IDENTITY |\n| DML Operations (DW Only) | [SQLDW-AUTHORING-CORE.md § DML Operations (DW Only)](..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#dml-operations-dw-only) | INSERT...SELECT, UPDATE, DELETE, TRUNCATE, MERGE |\n| Data Ingestion (DW Only) | [SQLDW-AUTHORING-CORE.md § Data Ingestion (DW Only)](..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#data-ingestion-dw-only) | COPY INTO, OPENROWSET, method comparison |\n| Transactions (DW Only) | [SQLDW-AUTHORING-CORE.md § Transactions (DW Only)](..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#transactions-dw-only) | Snapshot isolation only; write-write conflict rules |\n| Stored Procedures (Authoring Patterns) | [SQLDW-AUTHORING-CORE.md § Stored Procedures (Authoring Patterns)](..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#stored-procedures-authoring-patterns) | ETL procs, upsert, CTAS swap, cursor replacement |\n| Time Travel and Warehouse Snapshots | [SQLDW-AUTHORING-CORE.md § Time Travel and Warehouse Snapshots (DW Only)](..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#time-travel-and-warehouse-snapshots-dw-only) | FOR TIMESTAMP AS OF; 30-day retention; snapshots GA |\n| Source Control and CI\u002FCD | [SQLDW-AUTHORING-CORE.md § Source Control and CI\u002FCD (DW Only — Preview)](..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#source-control-and-cicd-dw-only--preview) | Git integration, SQL DB projects, deployment pipelines |\n| Authoring Permission Model | [SQLDW-AUTHORING-CORE.md § Authoring Permission Model](..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#authoring-permission-model) | Contributor minimum for DDL\u002FDML; Admin for GRANT |\n| Authoring Gotchas and Troubleshooting | [SQLDW-AUTHORING-CORE.md § Authoring Gotchas and Troubleshooting](..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#authoring-gotchas-and-troubleshooting) | 17-row issue\u002Fcause\u002Fresolution table |\n| Common Authoring Patterns | [SQLDW-AUTHORING-CORE.md § Common Authoring Patterns](..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#common-authoring-patterns-end-to-end-examples) | Incremental load, SCD Type 1, SQLEP view layer |\n| Quick Reference: Authoring Decision Guide | [SQLDW-AUTHORING-CORE.md § Quick Reference: Authoring Decision Guide](..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#quick-reference-authoring-decision-guide) | Scenario → recommended approach lookup |\n| Core Authoring via MCP | [authoring-cli-quickref.md § Core Authoring via MCP](references\u002Fauthoring-cli-quickref.md#core-authoring-via-mcp) | Table DDL, DML, data ingestion via execute_query |\n| Advanced Authoring Patterns via MCP | [authoring-cli-quickref.md § Advanced Authoring Patterns via MCP](references\u002Fauthoring-cli-quickref.md#advanced-authoring-patterns-via-mcp) | Transactions, schema evolution, stored procedures, time travel |\n| MCP Workflow Templates | [authoring-script-templates.md § MCP Workflow Templates](references\u002Fauthoring-script-templates.md#mcp-workflow-templates) | COPY INTO, ELT pipeline, upsert with retry, schema migration, time travel recovery |\n| Tool Stack | [SKILL.md § Tool Stack](#tool-stack) | `fabric-sqlendpoint-execute_query` MCP tool + `az` CLI; verify before first op |\n| Connection | [SKILL.md § Connection](#connection) | workspaceId\u002FitemId discovery, execute example |\n| Query Execution | [authoring-cli-quickref.md § Query Execution](references\u002Fauthoring-cli-quickref.md#query-execution) | MCP tool call format, batch considerations |\n| Agentic Workflows | [SKILL.md § Agentic Workflows](#agentic-workflows) | **Start here** — discover schema before any write |\n| Monitoring Authoring Operations | [authoring-cli-quickref.md § Monitoring Authoring Operations](references\u002Fauthoring-cli-quickref.md#monitoring-authoring-operations) | Active DML\u002FDDL, recent ETL, failed writes |\n| Gotchas, Rules, Troubleshooting | [SKILL.md § Gotchas, Rules, Troubleshooting](#gotchas-rules-troubleshooting) | **MUST DO \u002F AVOID \u002F PREFER** checklists |\n| Agent Integration Notes | [authoring-cli-quickref.md § Agent Integration Notes](references\u002Fauthoring-cli-quickref.md#agent-integration-notes) | Platform-specific tips (Copilot CLI, Claude Code) |\n\n---\n\n## Tool Stack\n\n| Tool | Role | Install |\n|---|---|---|\n| `fabric-sqlendpoint-execute_query` MCP tool | **Primary**: Execute DDL\u002FDML T-SQL queries against Fabric SQL Endpoints. Returns CSV results. Auth handled by MCP protocol. | No install — server-side. Requires MCP server registration. |\n| `az` CLI | Auth (`az login`), Fabric REST for workspace\u002Fitem discovery, snapshot management. | Pre-installed in most dev environments |\n| `jq` | Parse JSON from `az rest` | Pre-installed or trivial |\n\n> **IMPORTANT — MCP vs sqlcmd:**\n> This skill uses the `fabric-sqlendpoint-execute_query` MCP tool for all T-SQL execution. Do **not** use COMMON-CLI SQL\u002FTDS\u002Fsqlcmd sections for query execution.\n\n> **Agent preflight** — verify before first operation:\n> 1. Confirm the `fabric-sqlendpoint-execute_query` tool is available in your tool list. This tool is provided by the `fabric-sqlendpoint` MCP server, which is registered either by installing a Fabric skills **plugin** (the path for end users) or via this repo's `.mcp.json` — other MCP clients may register it through their own configuration.\n> 2. If no matching tool is found, the user must register the Fabric SQL Endpoint MCP server. See [mcp-setup\u002F](..\u002F..\u002Fmcp-setup\u002F).\n>    - **Global URL**: `https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fmcp\u002FdataPlane\u002FsqlEndpoint`\n>    - **Item-scoped URL**: `https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fmcp\u002FdataPlane\u002Fworkspaces\u002F{workspaceId}\u002Fitems\u002F{itemId}\u002FsqlEndpoint`\n\n### MCP Tool Signature\n\n```text\nfabric-sqlendpoint-execute_query(workspaceId, itemId, query)\n```\n\n> **Tool name may differ:** `execute_query` is the logical operation. Depending on how the server is\n> registered, the concrete tool name in your tool list may be prefixed (e.g.\n> `fabric-sqlendpoint-execute_query` or `sqlendpoint-global-execute_query`). Invoke the concrete name\n> shown in your tool list, always passing `workspaceId`, `itemId`, and `query`.\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| `workspaceId` | string (UUID) | The workspace GUID containing the target item |\n| `itemId` | string (UUID) | The Fabric item GUID to target. For a **Warehouse**, use the item id. For a **Lakehouse**, use its **SQL analytics endpoint** id (`properties.sqlEndpointProperties.id`) — **not** the Lakehouse item id. |\n| `query` | string | T-SQL query text (single batch — no `GO` separators or sqlcmd meta-commands) |\n\n**Returns:** CSV resource (RFC 4180) with tabular results + metadata text.\n\n> **Batch guidance:** Multiple statements without `GO` are allowed in one call (e.g., `CREATE TABLE ...; INSERT INTO ...`). However, only the last result set is returned, and an error in any statement fails the entire batch. **Prefer separate `fabric-sqlendpoint-execute_query` calls** for independent DDL\u002FDML operations — this gives clearer error messages and lets you verify each step succeeded before proceeding.\n\n### MCP Limits\n\n| Limit | Value | Notes |\n|-------|-------|-------|\n| Max rows returned | 10,000 | For DDL\u002FDML, row count metadata indicates affected rows |\n| Query timeout | 300 seconds | Long-running operations may timeout |\n| Rate limit | 20 requests\u002Fmin per identity | HTTP 429 returned when exceeded |\n\n> These values are **observed defaults, not a documented contract** — the MCP service can change them. Treat them as guidance and confirm the current behavior from live `429` \u002F timeout \u002F truncation responses (or Microsoft Learn, if\u002Fwhen published) rather than relying on the exact numbers.\n\n### Authoring Scope by Item Type\n\n| Capability | Warehouse (DW) | Lakehouse\u002FMirrored DB SQLEP |\n|---|---|---|\n| Table DDL (CREATE\u002FALTER\u002FDROP) | ✅ | ❌ |\n| DML (INSERT\u002FUPDATE\u002FDELETE\u002FMERGE) | ✅ | ❌ |\n| COPY INTO, OPENROWSET (ingest) | ✅ | OPENROWSET read-only |\n| Transactions | ✅ | ❌ |\n| Time travel, snapshots | ✅ | ❌ |\n| CREATE VIEW\u002FFUNCTION\u002FPROCEDURE | ✅ | ✅ |\n| CREATE SCHEMA | ✅ | ✅ |\n\n### Fabric DW DDL Constraints\n\nThese constraints are **hard requirements** — violating them produces errors:\n\n| Constraint | Details |\n|---|---|\n| No `DEFAULT` in CREATE TABLE | Default values not supported. Set defaults in application\u002FINSERT logic. |\n| No `PRIMARY KEY` inside CREATE TABLE | Must add via `ALTER TABLE ... ADD CONSTRAINT ... PRIMARY KEY NONCLUSTERED (col) NOT ENFORCED` |\n| `DATETIME2` requires precision | Always use `DATETIME2(6)`, never bare `DATETIME2` |\n| Unsupported data types | `NCHAR`, `NVARCHAR`, `TEXT`, `IMAGE`, `MONEY`, `SMALLMONEY`, `DATETIME` — use `VARCHAR`, `DECIMAL`, `DATETIME2(6)` instead |\n| No `WITH DISTRIBUTION` | Distribution is automatic in Fabric |\n| Constraints must be `NOT ENFORCED` | `PRIMARY KEY NONCLUSTERED NOT ENFORCED`, `UNIQUE NONCLUSTERED NOT ENFORCED`, `FOREIGN KEY NOT ENFORCED` |\n| PK columns must be `NOT NULL` | Declare PK columns as `NOT NULL` in CREATE TABLE before adding PK constraint |\n| `ALTER TABLE` scope | Add\u002Fdrop nullable columns (must specify `NULL`) and add\u002Fdrop constraints (`NOT ENFORCED` only) are GA; `ALTER COLUMN` type changes are **in preview** (see note below) |\n\n> **`MERGE` and `ALTER COLUMN` are NOT hard errors.** Per [T-SQL surface area](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Ffabric\u002Fdata-warehouse\u002Ftsql-surface-area), `MERGE` is a **generally available** Warehouse feature and `ALTER TABLE ... ALTER COLUMN` is **in preview**. Prefer an explicit `DELETE`+`INSERT` when snapshot-conflict isolation matters, and `CTAS` + `sp_rename` for production-critical column-type changes — as a robustness choice, not because the syntax is blocked.\n\n**Correct CREATE TABLE pattern:**\n\n```sql\nCREATE TABLE dbo.Orders (\n    OrderID INT NOT NULL,\n    CustomerName VARCHAR(100) NULL,\n    Amount DECIMAL(19,4) NULL,\n    CreatedAt DATETIME2(6) NULL\n)\n```\n\n```sql\nALTER TABLE dbo.Orders ADD CONSTRAINT PK_Orders PRIMARY KEY NONCLUSTERED (OrderID) NOT ENFORCED\n```\n\n**Additional supported patterns:**\n- `CREATE TABLE [dbo].[clone] AS CLONE OF [dbo].[source]` — duplicate table structure + data\n- `COPY INTO` — highest-throughput ingestion from external storage\n\n---\n\n## Connection\n\n### Discover workspaceId and itemId\n\nYou need the workspace GUID and item GUID to call `fabric-sqlendpoint-execute_query`:\n\n```bash\n# 1. Find workspace ID by name (capture into WS_ID for the next call)\nWS_ID=$(az rest --method get \\\n  --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\" \\\n  --url \"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\" \\\n  --query \"value[?displayName=='MyWorkspace'].id\" --output tsv)\necho \"Workspace ID: $WS_ID\"\n\n# 2. Find warehouse item ID by name\naz rest --method get \\\n  --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\" \\\n  --url \"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\u002F$WS_ID\u002Fwarehouses\" \\\n  --query \"value[?displayName=='MyWarehouse'].id\" --output tsv\n\n# For a Lakehouse SQL endpoint, pass its SQL analytics endpoint id — NOT the lakehouse item id\naz rest --method get \\\n  --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\" \\\n  --url \"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\u002F$WS_ID\u002Flakehouses\" \\\n  --query \"value[?displayName=='MyLakehouse'].properties.sqlEndpointProperties.id\" --output tsv\n```\n\n### Execute a Query\n\n```text\nfabric-sqlendpoint-execute_query(\n  workspaceId: \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\",\n  itemId: \"11111111-2222-3333-4444-555555555555\",\n  query: \"CREATE TABLE dbo.FactSales (SaleID bigint NOT NULL, Amount decimal(19,4) NOT NULL)\"\n)\n```\n\n**No additional connection setup needed** — authentication is handled transparently by the MCP protocol.\n\n### Verifying DDL\u002FDML Results\n\nFor DDL (CREATE\u002FALTER\u002FDROP), the tool returns success with metadata. Always verify:\n\n```text\n# After CREATE TABLE, verify it exists\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT table_schema, table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 'FactSales'\")\n\n# After DML, check row count\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT COUNT(*) AS row_count FROM dbo.FactSales\")\n```\n\n---\n\n## Agentic Workflows\n\n### Schema Discovery Before Authoring\n\nBefore any write operation, discover the target schema:\n\n```text\n# 1. List tables\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT table_schema, table_name FROM INFORMATION_SCHEMA.TABLES ORDER BY 1,2\")\n\n# 2. Check columns\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT column_name, data_type, is_nullable FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='FactSales' ORDER BY ordinal_position\")\n\n# 3. Sample data\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT TOP 5 * FROM dbo.FactSales\")\n\n# 4. Check constraints\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT constraint_name, constraint_type FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE table_name='FactSales'\")\n\n# 5. Row counts\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT s.name AS [schema], t.name AS [table], SUM(p.rows) AS row_count FROM sys.tables t JOIN sys.schemas s ON t.schema_id=s.schema_id JOIN sys.partitions p ON t.object_id=p.object_id AND p.index_id IN (0,1) GROUP BY s.name, t.name ORDER BY row_count DESC\")\n\n# 6. Programmability objects\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT name, type_desc FROM sys.objects WHERE type IN ('V','FN','IF','P','TF') ORDER BY type_desc, name\")\n```\n\n### Agentic Workflow\n\n1. **Discover** → Run steps 1–4 to understand available tables\u002Fcolumns.\n2. **Sample** → `SELECT TOP 5` on relevant tables.\n3. **Formulate** → Select pattern from [SQLDW-AUTHORING-CORE.md](..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md) (Table DDL through Common Authoring Patterns).\n4. **Execute** → Call `fabric-sqlendpoint-execute_query(workspaceId, itemId, query)`. For multi-batch operations (e.g., CREATE PROCEDURE with BEGIN\u002FEND), use a single batch without `GO`.\n5. **Verify** → Query affected table (`SELECT COUNT(*)`, `SELECT TOP 5`).\n6. **Optionally follow up** → Run additional queries to confirm schema changes.\n\n---\n\n## Gotchas, Rules, Troubleshooting\n\nFor full authoring gotchas: [SQLDW-AUTHORING-CORE.md](..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md) Authoring Gotchas and Troubleshooting.\nFor CLI-specific issues: [COMMON-CLI.md](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md) Gotchas & Troubleshooting (CLI-Specific).\n\n### MUST DO\n\n- **Verify workspace has capacity before creating warehouse** — call `GET \u002Fv1\u002Fworkspaces\u002F{id}` and check `capacityId`.\n- **Verify `fabric-sqlendpoint-execute_query` MCP tool is available** — check the tool list before the first operation. If unavailable, instruct the user to register the MCP server.\n- **Discover `workspaceId` and `itemId` first** — resolve the target Warehouse via `az rest`; the tool takes GUIDs, not an FQDN or `-d \u003CDatabaseName>`.\n- **`az login` first (for discovery)** — the `az rest` workspace\u002Fwarehouse lookups need an Azure CLI session. The `fabric-sqlendpoint` MCP server itself ships headerless and authenticates via your MCP client's native Fabric session, not the Azure CLI token; no signed-in session → auth failure on either path.\n- **`SET NOCOUNT ON;`** in scripts — suppresses row-count messages that corrupt output.\n- **Send a single T-SQL batch per call** — no `GO` separators and no `-i file.sql`; split multi-batch work (CREATE PROCEDURE, multi-step transactions) into separate `fabric-sqlendpoint-execute_query` calls.\n- **Label authoring queries** with `OPTION (LABEL = 'ETL_description')`.\n- **Use explicit `CAST()`** in CTAS to control output types.\n- **Keep transactions short** — long transactions increase conflict window.\n\n### AVOID\n\n- **`GO` separators** — the MCP tool accepts only a single T-SQL batch. Combine related DDL in one statement or call `fabric-sqlendpoint-execute_query` multiple times.\n- **sqlcmd meta-commands** (`:setvar`, `:r`, `-i`) — not available in MCP tool. Inline all SQL in the `query` parameter.\n- **Unbounded `SELECT *`** — 10,000 row limit. Always use `TOP N` or `WHERE` to limit result sets.\n- **Singleton `INSERT ... VALUES`** at scale — creates tiny Parquet files. Use INSERT...SELECT, CTAS, or COPY INTO.\n- **`DROP TABLE IF EXISTS` + `CREATE TABLE`** to refresh — loses time-travel history. Use `TRUNCATE TABLE` + `INSERT INTO`.\n- **MERGE in production** — GA, but table-level snapshot-conflict detection makes concurrent writers likely to fail. Prefer DELETE + INSERT when isolation matters.\n- **ALTER COLUMN in production** — in preview; prefer CTAS + `sp_rename` for production-critical column-type changes (Schema Evolution).\n- **Variables in CTAS** — not allowed. Wrap in dynamic SQL: `EXEC sp_executesql N'CREATE TABLE ...'`.\n- **DML on Lakehouse\u002FMirrored DB SQLEP** — read-only for table data. Only views\u002Ffuncs\u002Fprocs can be authored.\n- **Concurrent UPDATE\u002FDELETE on same table** — snapshot isolation conflicts at table level. Serialize writes.\n- **Rapid-fire MCP calls** — rate limit is 20 req\u002Fmin. Consolidate multiple statements into one batch where possible.\n- **MARS** — not supported. Remove `MultipleActiveResultSets` from connection strings.\n\n### PREFER\n\n- **CTAS** over `CREATE TABLE` + `INSERT` — parallel, single-operation.\n- **`INSERT ... SELECT`** over singleton INSERTs.\n- **`COPY INTO`** for external file ingestion — highest throughput.\n- **DELETE + INSERT** over MERGE for upserts in production.\n- **`TRUNCATE TABLE`** over `DELETE FROM` without WHERE — faster, preserves history.\n- **Consolidating related DDL** into a single `fabric-sqlendpoint-execute_query` call when no `GO` is required between statements.\n- **CTAS + sp_rename** for large-scale transforms instead of UPDATE.\n- **`fabric-sqlendpoint-execute_query` MCP tool** over sqlcmd for all T-SQL operations.\n- **`SET NOCOUNT ON;`** prefix — reduces metadata noise in results.\n- **`TOP N` or `WHERE`** clauses — stay within 10K row limit.\n\n### TROUBLESHOOTING\n\n| Symptom | Fix |\n|---|---|\n| Error 24556\u002F24706 snapshot conflict | Serialize writes to same table; retry with backoff |\n| COPY INTO auth error | Grant Storage Blob Data Reader on ADLS; or SAS in CREDENTIAL |\n| COPY INTO from OneLake fails | Provision workspace identity; check firewall rules |\n| CTAS unexpected types | Use explicit `CAST()` in SELECT |\n| Singleton INSERT poor perf | Remediate: CTAS + drop + rename to consolidate Parquet |\n| `fabric-sqlendpoint-execute_query` tool not available | MCP server not registered — user must add Fabric SQL Endpoint MCP server |\n| HTTP 429 rate limit exceeded | Wait 60s and retry; consolidate queries into fewer calls |\n| Query timeout (300s) | Break into smaller operations; for COPY INTO, check source file sizes |\n| sp_rename on SQLEP fails | Only available on Warehouse, not Lakehouse\u002FMirrored DB |\n| Deploy drops\u002Frecreates table | Avoid ALTER TABLE in DB project; apply manually |\n| Only last result set returned | MCP returns only the final SELECT. Split multi-SELECT batches into separate calls. |\n| Binary columns unreadable | Columns with `[base64]` suffix are base64-encoded. Decode if needed. |\n\n",{"data":40,"body":41},{"name":4,"description":6},{"type":42,"children":43},"root",[44,107,132,139,169,176,1650,1654,1659,1771,1798,1896,1903,1915,1973,2105,2115,2157,2163,2243,2266,2272,2414,2420,2432,2745,2840,2848,2911,2925,2933,2958,2961,2966,2972,2984,3416,3422,3431,3441,3447,3452,3461,3464,3469,3475,3480,3489,3495,3602,3605,3610,3629,3635,3835,3841,4079,4085,4247,4253,4450],{"type":45,"tag":46,"props":47,"children":48},"element","blockquote",{},[49,69],{"type":45,"tag":50,"props":51,"children":52},"p",{},[53,60,62,67],{"type":45,"tag":54,"props":55,"children":56},"strong",{},[57],{"type":58,"value":59},"text","Update Check — ONCE PER SESSION (mandatory)",{"type":58,"value":61},"\nThe first time this skill is used in a session, run the ",{"type":45,"tag":54,"props":63,"children":64},{},[65],{"type":58,"value":66},"check-updates",{"type":58,"value":68}," skill before proceeding.",{"type":45,"tag":70,"props":71,"children":72},"ul",{},[73,92,102],{"type":45,"tag":74,"props":75,"children":76},"li",{},[77,82,84,90],{"type":45,"tag":54,"props":78,"children":79},{},[80],{"type":58,"value":81},"GitHub Copilot CLI \u002F VS Code",{"type":58,"value":83},": invoke the ",{"type":45,"tag":85,"props":86,"children":88},"code",{"className":87},[],[89],{"type":58,"value":66},{"type":58,"value":91}," skill.",{"type":45,"tag":74,"props":93,"children":94},{},[95,100],{"type":45,"tag":54,"props":96,"children":97},{},[98],{"type":58,"value":99},"Claude Code \u002F Cowork \u002F Cursor \u002F Windsurf \u002F Codex",{"type":58,"value":101},": compare local vs remote package.json version.",{"type":45,"tag":74,"props":103,"children":104},{},[105],{"type":58,"value":106},"Skip if the check was already performed earlier in this session.",{"type":45,"tag":46,"props":108,"children":109},{},[110,118],{"type":45,"tag":50,"props":111,"children":112},{},[113],{"type":45,"tag":54,"props":114,"children":115},{},[116],{"type":58,"value":117},"CRITICAL NOTES",{"type":45,"tag":119,"props":120,"children":121},"ol",{},[122,127],{"type":45,"tag":74,"props":123,"children":124},{},[125],{"type":58,"value":126},"To find the workspace details (including its ID) from workspace name: list all workspaces and, then, use JMESPath filtering",{"type":45,"tag":74,"props":128,"children":129},{},[130],{"type":58,"value":131},"To find the item details (including its ID) from workspace ID, item type, and item name: list all items of that type in that workspace and, then, use JMESPath filtering",{"type":45,"tag":133,"props":134,"children":136},"h1",{"id":135},"sql-endpoint-authoring-cli-skill",[137],{"type":58,"value":138},"SQL Endpoint Authoring — CLI Skill",{"type":45,"tag":46,"props":140,"children":141},{},[142],{"type":45,"tag":50,"props":143,"children":144},{},[145,150,152,158,160,167],{"type":45,"tag":54,"props":146,"children":147},{},[148],{"type":58,"value":149},"⚠️ SQL Execution Override:",{"type":58,"value":151}," For SQL data-plane execution, this skill supersedes COMMON-CLI SQL\u002FTDS guidance. Use MCP ",{"type":45,"tag":85,"props":153,"children":155},{"className":154},[],[156],{"type":58,"value":157},"fabric-sqlendpoint-execute_query",{"type":58,"value":159}," (see ",{"type":45,"tag":161,"props":162,"children":164},"a",{"href":163},"#tool-stack",[165],{"type":58,"value":166},"Tool Stack",{"type":58,"value":168},") unless explicitly using Legacy CLI Fallback.",{"type":45,"tag":170,"props":171,"children":173},"h2",{"id":172},"table-of-contents",[174],{"type":58,"value":175},"Table of Contents",{"type":45,"tag":177,"props":178,"children":179},"table",{},[180,204],{"type":45,"tag":181,"props":182,"children":183},"thead",{},[184],{"type":45,"tag":185,"props":186,"children":187},"tr",{},[188,194,199],{"type":45,"tag":189,"props":190,"children":191},"th",{},[192],{"type":58,"value":193},"Task",{"type":45,"tag":189,"props":195,"children":196},{},[197],{"type":58,"value":198},"Reference",{"type":45,"tag":189,"props":200,"children":201},{},[202],{"type":58,"value":203},"Notes",{"type":45,"tag":205,"props":206,"children":207},"tbody",{},[208,250,270,290,312,334,364,386,422,442,462,482,502,530,569,611,641,661,681,701,721,748,775,797,819,869,891,911,933,955,985,1007,1029,1076,1098,1120,1140,1167,1189,1211,1233,1255,1277,1299,1321,1343,1365,1387,1409,1431,1453,1475,1508,1530,1552,1579,1601,1628],{"type":45,"tag":185,"props":209,"children":210},{},[211,217,226],{"type":45,"tag":212,"props":213,"children":214},"td",{},[215],{"type":58,"value":216},"Finding Workspaces and Items in Fabric",{"type":45,"tag":212,"props":218,"children":219},{},[220],{"type":45,"tag":161,"props":221,"children":223},{"href":222},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#finding-workspaces-and-items-in-fabric",[224],{"type":58,"value":225},"COMMON-CLI.md § Finding Workspaces and Items in Fabric",{"type":45,"tag":212,"props":227,"children":228},{},[229,234,236,242,244],{"type":45,"tag":54,"props":230,"children":231},{},[232],{"type":58,"value":233},"Mandatory",{"type":58,"value":235}," — ",{"type":45,"tag":237,"props":238,"children":239},"em",{},[240],{"type":58,"value":241},"READ link first",{"type":58,"value":243}," ",{"type":45,"tag":245,"props":246,"children":247},"span",{},[248],{"type":58,"value":249},"needed for finding workspace id by its name or item id by its name, item type, and workspace id",{"type":45,"tag":185,"props":251,"children":252},{},[253,258,267],{"type":45,"tag":212,"props":254,"children":255},{},[256],{"type":58,"value":257},"Fabric Topology & Key Concepts",{"type":45,"tag":212,"props":259,"children":260},{},[261],{"type":45,"tag":161,"props":262,"children":264},{"href":263},"..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#fabric-topology--key-concepts",[265],{"type":58,"value":266},"COMMON-CORE.md § Fabric Topology & Key Concepts",{"type":45,"tag":212,"props":268,"children":269},{},[],{"type":45,"tag":185,"props":271,"children":272},{},[273,278,287],{"type":45,"tag":212,"props":274,"children":275},{},[276],{"type":58,"value":277},"Environment URLs",{"type":45,"tag":212,"props":279,"children":280},{},[281],{"type":45,"tag":161,"props":282,"children":284},{"href":283},"..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#environment-urls",[285],{"type":58,"value":286},"COMMON-CORE.md § Environment URLs",{"type":45,"tag":212,"props":288,"children":289},{},[],{"type":45,"tag":185,"props":291,"children":292},{},[293,298,307],{"type":45,"tag":212,"props":294,"children":295},{},[296],{"type":58,"value":297},"Authentication & Token Acquisition",{"type":45,"tag":212,"props":299,"children":300},{},[301],{"type":45,"tag":161,"props":302,"children":304},{"href":303},"..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#authentication--token-acquisition",[305],{"type":58,"value":306},"COMMON-CORE.md § Authentication & Token Acquisition",{"type":45,"tag":212,"props":308,"children":309},{},[310],{"type":58,"value":311},"Wrong audience = 401; read before any auth issue",{"type":45,"tag":185,"props":313,"children":314},{},[315,320,329],{"type":45,"tag":212,"props":316,"children":317},{},[318],{"type":58,"value":319},"Core Control-Plane REST APIs",{"type":45,"tag":212,"props":321,"children":322},{},[323],{"type":45,"tag":161,"props":324,"children":326},{"href":325},"..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#core-control-plane-rest-apis",[327],{"type":58,"value":328},"COMMON-CORE.md § Core Control-Plane REST APIs",{"type":45,"tag":212,"props":330,"children":331},{},[332],{"type":58,"value":333},"Includes pagination, LRO polling, and rate-limiting patterns",{"type":45,"tag":185,"props":335,"children":336},{},[337,342,351],{"type":45,"tag":212,"props":338,"children":339},{},[340],{"type":58,"value":341},"OneLake Data Access",{"type":45,"tag":212,"props":343,"children":344},{},[345],{"type":45,"tag":161,"props":346,"children":348},{"href":347},"..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#onelake-data-access",[349],{"type":58,"value":350},"COMMON-CORE.md § OneLake Data Access",{"type":45,"tag":212,"props":352,"children":353},{},[354,356,362],{"type":58,"value":355},"Requires ",{"type":45,"tag":85,"props":357,"children":359},{"className":358},[],[360],{"type":58,"value":361},"storage.azure.com",{"type":58,"value":363}," token, not Fabric token",{"type":45,"tag":185,"props":365,"children":366},{},[367,372,381],{"type":45,"tag":212,"props":368,"children":369},{},[370],{"type":58,"value":371},"Definition Envelope",{"type":45,"tag":212,"props":373,"children":374},{},[375],{"type":45,"tag":161,"props":376,"children":378},{"href":377},"..\u002F..\u002Fcommon\u002FITEM-DEFINITIONS-CORE.md#definition-envelope",[379],{"type":58,"value":380},"ITEM-DEFINITIONS-CORE.md § Definition Envelope",{"type":45,"tag":212,"props":382,"children":383},{},[384],{"type":58,"value":385},"Definition payload structure",{"type":45,"tag":185,"props":387,"children":388},{},[389,394,403],{"type":45,"tag":212,"props":390,"children":391},{},[392],{"type":58,"value":393},"Per-Item-Type Definitions",{"type":45,"tag":212,"props":395,"children":396},{},[397],{"type":45,"tag":161,"props":398,"children":400},{"href":399},"..\u002F..\u002Fcommon\u002FITEM-DEFINITIONS-CORE.md#per-item-type-definitions",[401],{"type":58,"value":402},"ITEM-DEFINITIONS-CORE.md § Per-Item-Type Definitions",{"type":45,"tag":212,"props":404,"children":405},{},[406,408,414,416],{"type":58,"value":407},"Support matrix, decoded content, part paths — ",{"type":45,"tag":161,"props":409,"children":411},{"href":410},"..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#item-creation",[412],{"type":58,"value":413},"REST specs",{"type":58,"value":415},", ",{"type":45,"tag":161,"props":417,"children":419},{"href":418},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#item-crud-operations",[420],{"type":58,"value":421},"CLI recipes",{"type":45,"tag":185,"props":423,"children":424},{},[425,430,439],{"type":45,"tag":212,"props":426,"children":427},{},[428],{"type":58,"value":429},"Job Execution",{"type":45,"tag":212,"props":431,"children":432},{},[433],{"type":45,"tag":161,"props":434,"children":436},{"href":435},"..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#job-execution",[437],{"type":58,"value":438},"COMMON-CORE.md § Job Execution",{"type":45,"tag":212,"props":440,"children":441},{},[],{"type":45,"tag":185,"props":443,"children":444},{},[445,450,459],{"type":45,"tag":212,"props":446,"children":447},{},[448],{"type":58,"value":449},"Capacity Management",{"type":45,"tag":212,"props":451,"children":452},{},[453],{"type":45,"tag":161,"props":454,"children":456},{"href":455},"..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#capacity-management",[457],{"type":58,"value":458},"COMMON-CORE.md § Capacity Management",{"type":45,"tag":212,"props":460,"children":461},{},[],{"type":45,"tag":185,"props":463,"children":464},{},[465,470,479],{"type":45,"tag":212,"props":466,"children":467},{},[468],{"type":58,"value":469},"Gotchas, Best Practices & Troubleshooting (Platform)",{"type":45,"tag":212,"props":471,"children":472},{},[473],{"type":45,"tag":161,"props":474,"children":476},{"href":475},"..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#gotchas-best-practices--troubleshooting",[477],{"type":58,"value":478},"COMMON-CORE.md § Gotchas, Best Practices & Troubleshooting",{"type":45,"tag":212,"props":480,"children":481},{},[],{"type":45,"tag":185,"props":483,"children":484},{},[485,490,499],{"type":45,"tag":212,"props":486,"children":487},{},[488],{"type":58,"value":489},"Tool Selection Rationale",{"type":45,"tag":212,"props":491,"children":492},{},[493],{"type":45,"tag":161,"props":494,"children":496},{"href":495},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#tool-selection-rationale",[497],{"type":58,"value":498},"COMMON-CLI.md § Tool Selection Rationale",{"type":45,"tag":212,"props":500,"children":501},{},[],{"type":45,"tag":185,"props":503,"children":504},{},[505,510,519],{"type":45,"tag":212,"props":506,"children":507},{},[508],{"type":58,"value":509},"Authentication Recipes",{"type":45,"tag":212,"props":511,"children":512},{},[513],{"type":45,"tag":161,"props":514,"children":516},{"href":515},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#authentication-recipes",[517],{"type":58,"value":518},"COMMON-CLI.md § Authentication Recipes",{"type":45,"tag":212,"props":520,"children":521},{},[522,528],{"type":45,"tag":85,"props":523,"children":525},{"className":524},[],[526],{"type":58,"value":527},"az login",{"type":58,"value":529}," flows and token acquisition",{"type":45,"tag":185,"props":531,"children":532},{},[533,544,553],{"type":45,"tag":212,"props":534,"children":535},{},[536,538],{"type":58,"value":537},"Fabric Control-Plane API via ",{"type":45,"tag":85,"props":539,"children":541},{"className":540},[],[542],{"type":58,"value":543},"az rest",{"type":45,"tag":212,"props":545,"children":546},{},[547],{"type":45,"tag":161,"props":548,"children":550},{"href":549},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#fabric-control-plane-api-via-az-rest",[551],{"type":58,"value":552},"COMMON-CLI.md § Fabric Control-Plane API via az rest",{"type":45,"tag":212,"props":554,"children":555},{},[556,567],{"type":45,"tag":54,"props":557,"children":558},{},[559,561],{"type":58,"value":560},"Always pass ",{"type":45,"tag":85,"props":562,"children":564},{"className":563},[],[565],{"type":58,"value":566},"--resource",{"type":58,"value":568},"; includes pagination and LRO helpers",{"type":45,"tag":185,"props":570,"children":571},{},[572,583,592],{"type":45,"tag":212,"props":573,"children":574},{},[575,577],{"type":58,"value":576},"OneLake Data Access via ",{"type":45,"tag":85,"props":578,"children":580},{"className":579},[],[581],{"type":58,"value":582},"curl",{"type":45,"tag":212,"props":584,"children":585},{},[586],{"type":45,"tag":161,"props":587,"children":589},{"href":588},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#onelake-data-access-via-curl",[590],{"type":58,"value":591},"COMMON-CLI.md § OneLake Data Access via curl",{"type":45,"tag":212,"props":593,"children":594},{},[595,597,602,604,609],{"type":58,"value":596},"Use ",{"type":45,"tag":85,"props":598,"children":600},{"className":599},[],[601],{"type":58,"value":582},{"type":58,"value":603}," not ",{"type":45,"tag":85,"props":605,"children":607},{"className":606},[],[608],{"type":58,"value":543},{"type":58,"value":610}," (different token audience)",{"type":45,"tag":185,"props":612,"children":613},{},[614,619,628],{"type":45,"tag":212,"props":615,"children":616},{},[617],{"type":58,"value":618},"SQL \u002F TDS Data-Plane Access",{"type":45,"tag":212,"props":620,"children":621},{},[622],{"type":45,"tag":161,"props":623,"children":625},{"href":624},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#sql--tds-data-plane-access",[626],{"type":58,"value":627},"COMMON-CLI.md § SQL \u002F TDS Data-Plane Access",{"type":45,"tag":212,"props":629,"children":630},{},[631,633,639],{"type":58,"value":632},"Legacy ",{"type":45,"tag":85,"props":634,"children":636},{"className":635},[],[637],{"type":58,"value":638},"sqlcmd",{"type":58,"value":640}," reference (MCP is primary — see Tool Stack)",{"type":45,"tag":185,"props":642,"children":643},{},[644,649,658],{"type":45,"tag":212,"props":645,"children":646},{},[647],{"type":58,"value":648},"Job Execution (CLI)",{"type":45,"tag":212,"props":650,"children":651},{},[652],{"type":45,"tag":161,"props":653,"children":655},{"href":654},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#job-execution",[656],{"type":58,"value":657},"COMMON-CLI.md § Job Execution",{"type":45,"tag":212,"props":659,"children":660},{},[],{"type":45,"tag":185,"props":662,"children":663},{},[664,669,678],{"type":45,"tag":212,"props":665,"children":666},{},[667],{"type":58,"value":668},"OneLake Shortcuts",{"type":45,"tag":212,"props":670,"children":671},{},[672],{"type":45,"tag":161,"props":673,"children":675},{"href":674},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#onelake-shortcuts",[676],{"type":58,"value":677},"COMMON-CLI.md § OneLake Shortcuts",{"type":45,"tag":212,"props":679,"children":680},{},[],{"type":45,"tag":185,"props":682,"children":683},{},[684,689,698],{"type":45,"tag":212,"props":685,"children":686},{},[687],{"type":58,"value":688},"Capacity Management (CLI)",{"type":45,"tag":212,"props":690,"children":691},{},[692],{"type":45,"tag":161,"props":693,"children":695},{"href":694},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#capacity-management",[696],{"type":58,"value":697},"COMMON-CLI.md § Capacity Management",{"type":45,"tag":212,"props":699,"children":700},{},[],{"type":45,"tag":185,"props":702,"children":703},{},[704,709,718],{"type":45,"tag":212,"props":705,"children":706},{},[707],{"type":58,"value":708},"Composite Recipes",{"type":45,"tag":212,"props":710,"children":711},{},[712],{"type":45,"tag":161,"props":713,"children":715},{"href":714},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#composite-recipes",[716],{"type":58,"value":717},"COMMON-CLI.md § Composite Recipes",{"type":45,"tag":212,"props":719,"children":720},{},[],{"type":45,"tag":185,"props":722,"children":723},{},[724,729,738],{"type":45,"tag":212,"props":725,"children":726},{},[727],{"type":58,"value":728},"Gotchas & Troubleshooting (CLI-Specific)",{"type":45,"tag":212,"props":730,"children":731},{},[732],{"type":45,"tag":161,"props":733,"children":735},{"href":734},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#gotchas--troubleshooting-cli-specific",[736],{"type":58,"value":737},"COMMON-CLI.md § Gotchas & Troubleshooting (CLI-Specific)",{"type":45,"tag":212,"props":739,"children":740},{},[741,746],{"type":45,"tag":85,"props":742,"children":744},{"className":743},[],[745],{"type":58,"value":543},{"type":58,"value":747}," audience, shell escaping, token expiry",{"type":45,"tag":185,"props":749,"children":750},{},[751,756,765],{"type":45,"tag":212,"props":752,"children":753},{},[754],{"type":58,"value":755},"Quick Reference",{"type":45,"tag":212,"props":757,"children":758},{},[759],{"type":45,"tag":161,"props":760,"children":762},{"href":761},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md#quick-reference",[763],{"type":58,"value":764},"COMMON-CLI.md § Quick Reference",{"type":45,"tag":212,"props":766,"children":767},{},[768,773],{"type":45,"tag":85,"props":769,"children":771},{"className":770},[],[772],{"type":58,"value":543},{"type":58,"value":774}," template + token audience\u002Ftool matrix",{"type":45,"tag":185,"props":776,"children":777},{},[778,783,792],{"type":45,"tag":212,"props":779,"children":780},{},[781],{"type":58,"value":782},"Item-Type Capability Matrix",{"type":45,"tag":212,"props":784,"children":785},{},[786],{"type":45,"tag":161,"props":787,"children":789},{"href":788},"..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#item-type-capability-matrix",[790],{"type":58,"value":791},"SQLDW-CONSUMPTION-CORE.md § Item-Type Capability Matrix",{"type":45,"tag":212,"props":793,"children":794},{},[795],{"type":58,"value":796},"Shows read-only (SQLEP) vs read-write (DW)",{"type":45,"tag":185,"props":798,"children":799},{},[800,805,814],{"type":45,"tag":212,"props":801,"children":802},{},[803],{"type":58,"value":804},"Connection Fundamentals",{"type":45,"tag":212,"props":806,"children":807},{},[808],{"type":45,"tag":161,"props":809,"children":811},{"href":810},"..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#connection-fundamentals",[812],{"type":58,"value":813},"SQLDW-CONSUMPTION-CORE.md § Connection Fundamentals",{"type":45,"tag":212,"props":815,"children":816},{},[817],{"type":58,"value":818},"TDS, port 1433, Entra-only, no MARS",{"type":45,"tag":185,"props":820,"children":821},{},[822,827,836],{"type":45,"tag":212,"props":823,"children":824},{},[825],{"type":58,"value":826},"Supported T-SQL Surface Area (Consumption Focus)",{"type":45,"tag":212,"props":828,"children":829},{},[830],{"type":45,"tag":161,"props":831,"children":833},{"href":832},"..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#supported-t-sql-surface-area-consumption-focus",[834],{"type":58,"value":835},"SQLDW-CONSUMPTION-CORE.md § Supported T-SQL Surface Area",{"type":45,"tag":212,"props":837,"children":838},{},[839,844,846,852,854,860,861,867],{"type":45,"tag":54,"props":840,"children":841},{},[842],{"type":58,"value":843},"Read before writing T-SQL",{"type":58,"value":845}," — includes data types (no ",{"type":45,"tag":85,"props":847,"children":849},{"className":848},[],[850],{"type":58,"value":851},"nvarchar",{"type":58,"value":853},"\u002F",{"type":45,"tag":85,"props":855,"children":857},{"className":856},[],[858],{"type":58,"value":859},"datetime",{"type":58,"value":853},{"type":45,"tag":85,"props":862,"children":864},{"className":863},[],[865],{"type":58,"value":866},"money",{"type":58,"value":868},")",{"type":45,"tag":185,"props":870,"children":871},{},[872,877,886],{"type":45,"tag":212,"props":873,"children":874},{},[875],{"type":58,"value":876},"Read-Side Objects You Can Create",{"type":45,"tag":212,"props":878,"children":879},{},[880],{"type":45,"tag":161,"props":881,"children":883},{"href":882},"..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#read-side-objects-you-can-create",[884],{"type":58,"value":885},"SQLDW-CONSUMPTION-CORE.md § Read-Side Objects You Can Create",{"type":45,"tag":212,"props":887,"children":888},{},[889],{"type":58,"value":890},"Views, TVFs, scalar UDFs, procedures",{"type":45,"tag":185,"props":892,"children":893},{},[894,899,908],{"type":45,"tag":212,"props":895,"children":896},{},[897],{"type":58,"value":898},"Temporary Tables",{"type":45,"tag":212,"props":900,"children":901},{},[902],{"type":45,"tag":161,"props":903,"children":905},{"href":904},"..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#temporary-tables",[906],{"type":58,"value":907},"SQLDW-CONSUMPTION-CORE.md § Temporary Tables",{"type":45,"tag":212,"props":909,"children":910},{},[],{"type":45,"tag":185,"props":912,"children":913},{},[914,919,928],{"type":45,"tag":212,"props":915,"children":916},{},[917],{"type":58,"value":918},"Cross-Database Queries",{"type":45,"tag":212,"props":920,"children":921},{},[922],{"type":45,"tag":161,"props":923,"children":925},{"href":924},"..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#cross-database-queries",[926],{"type":58,"value":927},"SQLDW-CONSUMPTION-CORE.md § Cross-Database Queries",{"type":45,"tag":212,"props":929,"children":930},{},[931],{"type":58,"value":932},"3-part naming, same workspace only",{"type":45,"tag":185,"props":934,"children":935},{},[936,941,950],{"type":45,"tag":212,"props":937,"children":938},{},[939],{"type":58,"value":940},"Security for Consumption",{"type":45,"tag":212,"props":942,"children":943},{},[944],{"type":45,"tag":161,"props":945,"children":947},{"href":946},"..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#security-for-consumption",[948],{"type":58,"value":949},"SQLDW-CONSUMPTION-CORE.md § Security for Consumption",{"type":45,"tag":212,"props":951,"children":952},{},[953],{"type":58,"value":954},"GRANT\u002FDENY, RLS, CLS, DDM",{"type":45,"tag":185,"props":956,"children":957},{},[958,963,972],{"type":45,"tag":212,"props":959,"children":960},{},[961],{"type":58,"value":962},"Monitoring and Diagnostics",{"type":45,"tag":212,"props":964,"children":965},{},[966],{"type":45,"tag":161,"props":967,"children":969},{"href":968},"..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#monitoring-and-diagnostics",[970],{"type":58,"value":971},"SQLDW-CONSUMPTION-CORE.md § Monitoring and Diagnostics",{"type":45,"tag":212,"props":973,"children":974},{},[975,977,983],{"type":58,"value":976},"Includes query labels; DMVs (live) + ",{"type":45,"tag":85,"props":978,"children":980},{"className":979},[],[981],{"type":58,"value":982},"queryinsights.*",{"type":58,"value":984}," (30-day history)",{"type":45,"tag":185,"props":986,"children":987},{},[988,993,1002],{"type":45,"tag":212,"props":989,"children":990},{},[991],{"type":58,"value":992},"Performance: Best Practices and Troubleshooting",{"type":45,"tag":212,"props":994,"children":995},{},[996],{"type":45,"tag":161,"props":997,"children":999},{"href":998},"..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#performance-best-practices-and-troubleshooting",[1000],{"type":58,"value":1001},"SQLDW-CONSUMPTION-CORE.md § Performance: Best Practices and Troubleshooting",{"type":45,"tag":212,"props":1003,"children":1004},{},[1005],{"type":58,"value":1006},"Statistics, caching, clustering, query tips",{"type":45,"tag":185,"props":1008,"children":1009},{},[1010,1015,1024],{"type":45,"tag":212,"props":1011,"children":1012},{},[1013],{"type":58,"value":1014},"REST API: Refresh SQL Endpoint Metadata",{"type":45,"tag":212,"props":1016,"children":1017},{},[1018],{"type":45,"tag":161,"props":1019,"children":1021},{"href":1020},"..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#rest-api-refresh-sql-endpoint-metadata",[1022],{"type":58,"value":1023},"SQLDW-CONSUMPTION-CORE.md § REST API: Refresh SQL Endpoint Metadata",{"type":45,"tag":212,"props":1025,"children":1026},{},[1027],{"type":58,"value":1028},"Force metadata sync when SQLEP is stale after ETL",{"type":45,"tag":185,"props":1030,"children":1031},{},[1032,1037,1046],{"type":45,"tag":212,"props":1033,"children":1034},{},[1035],{"type":58,"value":1036},"System Catalog Queries (Metadata Exploration)",{"type":45,"tag":212,"props":1038,"children":1039},{},[1040],{"type":45,"tag":161,"props":1041,"children":1043},{"href":1042},"..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#system-catalog-queries-metadata-exploration",[1044],{"type":58,"value":1045},"SQLDW-CONSUMPTION-CORE.md § System Catalog Queries",{"type":45,"tag":212,"props":1047,"children":1048},{},[1049,1055,1056,1062,1063,1069,1070],{"type":45,"tag":85,"props":1050,"children":1052},{"className":1051},[],[1053],{"type":58,"value":1054},"sys.tables",{"type":58,"value":415},{"type":45,"tag":85,"props":1057,"children":1059},{"className":1058},[],[1060],{"type":58,"value":1061},"sys.columns",{"type":58,"value":415},{"type":45,"tag":85,"props":1064,"children":1066},{"className":1065},[],[1067],{"type":58,"value":1068},"sys.views",{"type":58,"value":415},{"type":45,"tag":85,"props":1071,"children":1073},{"className":1072},[],[1074],{"type":58,"value":1075},"sys.stats",{"type":45,"tag":185,"props":1077,"children":1078},{},[1079,1084,1093],{"type":45,"tag":212,"props":1080,"children":1081},{},[1082],{"type":58,"value":1083},"Common Consumption Patterns",{"type":45,"tag":212,"props":1085,"children":1086},{},[1087],{"type":45,"tag":161,"props":1088,"children":1090},{"href":1089},"..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#common-consumption-patterns-end-to-end-examples",[1091],{"type":58,"value":1092},"SQLDW-CONSUMPTION-CORE.md § Common Consumption Patterns",{"type":45,"tag":212,"props":1094,"children":1095},{},[1096],{"type":58,"value":1097},"Reporting views, cross-DB analytics, temp table staging",{"type":45,"tag":185,"props":1099,"children":1100},{},[1101,1106,1115],{"type":45,"tag":212,"props":1102,"children":1103},{},[1104],{"type":58,"value":1105},"Gotchas and Troubleshooting (Consumption)",{"type":45,"tag":212,"props":1107,"children":1108},{},[1109],{"type":45,"tag":161,"props":1110,"children":1112},{"href":1111},"..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#gotchas-and-troubleshooting-reference",[1113],{"type":58,"value":1114},"SQLDW-CONSUMPTION-CORE.md § Gotchas and Troubleshooting Reference",{"type":45,"tag":212,"props":1116,"children":1117},{},[1118],{"type":58,"value":1119},"18 numbered issues with cause + resolution",{"type":45,"tag":185,"props":1121,"children":1122},{},[1123,1128,1137],{"type":45,"tag":212,"props":1124,"children":1125},{},[1126],{"type":58,"value":1127},"Quick Reference: Consumption Capabilities",{"type":45,"tag":212,"props":1129,"children":1130},{},[1131],{"type":45,"tag":161,"props":1132,"children":1134},{"href":1133},"..\u002F..\u002Fcommon\u002FSQLDW-CONSUMPTION-CORE.md#quick-reference-consumption-capabilities-by-scenario",[1135],{"type":58,"value":1136},"SQLDW-CONSUMPTION-CORE.md § Quick Reference: Consumption Capabilities",{"type":45,"tag":212,"props":1138,"children":1139},{},[],{"type":45,"tag":185,"props":1141,"children":1142},{},[1143,1148,1157],{"type":45,"tag":212,"props":1144,"children":1145},{},[1146],{"type":58,"value":1147},"Authoring Capability Matrix",{"type":45,"tag":212,"props":1149,"children":1150},{},[1151],{"type":45,"tag":161,"props":1152,"children":1154},{"href":1153},"..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#authoring-capability-matrix",[1155],{"type":58,"value":1156},"SQLDW-AUTHORING-CORE.md § Authoring Capability Matrix",{"type":45,"tag":212,"props":1158,"children":1159},{},[1160,1165],{"type":45,"tag":54,"props":1161,"children":1162},{},[1163],{"type":58,"value":1164},"Read first",{"type":58,"value":1166}," — DW vs SQLEP authoring scope",{"type":45,"tag":185,"props":1168,"children":1169},{},[1170,1175,1184],{"type":45,"tag":212,"props":1171,"children":1172},{},[1173],{"type":58,"value":1174},"Table DDL (DW Only)",{"type":45,"tag":212,"props":1176,"children":1177},{},[1178],{"type":45,"tag":161,"props":1179,"children":1181},{"href":1180},"..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#table-ddl-dw-only",[1182],{"type":58,"value":1183},"SQLDW-AUTHORING-CORE.md § Table DDL (DW Only)",{"type":45,"tag":212,"props":1185,"children":1186},{},[1187],{"type":58,"value":1188},"CREATE, CTAS, ALTER, sp_rename, DROP, constraints, schema evolution, IDENTITY",{"type":45,"tag":185,"props":1190,"children":1191},{},[1192,1197,1206],{"type":45,"tag":212,"props":1193,"children":1194},{},[1195],{"type":58,"value":1196},"DML Operations (DW Only)",{"type":45,"tag":212,"props":1198,"children":1199},{},[1200],{"type":45,"tag":161,"props":1201,"children":1203},{"href":1202},"..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#dml-operations-dw-only",[1204],{"type":58,"value":1205},"SQLDW-AUTHORING-CORE.md § DML Operations (DW Only)",{"type":45,"tag":212,"props":1207,"children":1208},{},[1209],{"type":58,"value":1210},"INSERT...SELECT, UPDATE, DELETE, TRUNCATE, MERGE",{"type":45,"tag":185,"props":1212,"children":1213},{},[1214,1219,1228],{"type":45,"tag":212,"props":1215,"children":1216},{},[1217],{"type":58,"value":1218},"Data Ingestion (DW Only)",{"type":45,"tag":212,"props":1220,"children":1221},{},[1222],{"type":45,"tag":161,"props":1223,"children":1225},{"href":1224},"..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#data-ingestion-dw-only",[1226],{"type":58,"value":1227},"SQLDW-AUTHORING-CORE.md § Data Ingestion (DW Only)",{"type":45,"tag":212,"props":1229,"children":1230},{},[1231],{"type":58,"value":1232},"COPY INTO, OPENROWSET, method comparison",{"type":45,"tag":185,"props":1234,"children":1235},{},[1236,1241,1250],{"type":45,"tag":212,"props":1237,"children":1238},{},[1239],{"type":58,"value":1240},"Transactions (DW Only)",{"type":45,"tag":212,"props":1242,"children":1243},{},[1244],{"type":45,"tag":161,"props":1245,"children":1247},{"href":1246},"..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#transactions-dw-only",[1248],{"type":58,"value":1249},"SQLDW-AUTHORING-CORE.md § Transactions (DW Only)",{"type":45,"tag":212,"props":1251,"children":1252},{},[1253],{"type":58,"value":1254},"Snapshot isolation only; write-write conflict rules",{"type":45,"tag":185,"props":1256,"children":1257},{},[1258,1263,1272],{"type":45,"tag":212,"props":1259,"children":1260},{},[1261],{"type":58,"value":1262},"Stored Procedures (Authoring Patterns)",{"type":45,"tag":212,"props":1264,"children":1265},{},[1266],{"type":45,"tag":161,"props":1267,"children":1269},{"href":1268},"..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#stored-procedures-authoring-patterns",[1270],{"type":58,"value":1271},"SQLDW-AUTHORING-CORE.md § Stored Procedures (Authoring Patterns)",{"type":45,"tag":212,"props":1273,"children":1274},{},[1275],{"type":58,"value":1276},"ETL procs, upsert, CTAS swap, cursor replacement",{"type":45,"tag":185,"props":1278,"children":1279},{},[1280,1285,1294],{"type":45,"tag":212,"props":1281,"children":1282},{},[1283],{"type":58,"value":1284},"Time Travel and Warehouse Snapshots",{"type":45,"tag":212,"props":1286,"children":1287},{},[1288],{"type":45,"tag":161,"props":1289,"children":1291},{"href":1290},"..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#time-travel-and-warehouse-snapshots-dw-only",[1292],{"type":58,"value":1293},"SQLDW-AUTHORING-CORE.md § Time Travel and Warehouse Snapshots (DW Only)",{"type":45,"tag":212,"props":1295,"children":1296},{},[1297],{"type":58,"value":1298},"FOR TIMESTAMP AS OF; 30-day retention; snapshots GA",{"type":45,"tag":185,"props":1300,"children":1301},{},[1302,1307,1316],{"type":45,"tag":212,"props":1303,"children":1304},{},[1305],{"type":58,"value":1306},"Source Control and CI\u002FCD",{"type":45,"tag":212,"props":1308,"children":1309},{},[1310],{"type":45,"tag":161,"props":1311,"children":1313},{"href":1312},"..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#source-control-and-cicd-dw-only--preview",[1314],{"type":58,"value":1315},"SQLDW-AUTHORING-CORE.md § Source Control and CI\u002FCD (DW Only — Preview)",{"type":45,"tag":212,"props":1317,"children":1318},{},[1319],{"type":58,"value":1320},"Git integration, SQL DB projects, deployment pipelines",{"type":45,"tag":185,"props":1322,"children":1323},{},[1324,1329,1338],{"type":45,"tag":212,"props":1325,"children":1326},{},[1327],{"type":58,"value":1328},"Authoring Permission Model",{"type":45,"tag":212,"props":1330,"children":1331},{},[1332],{"type":45,"tag":161,"props":1333,"children":1335},{"href":1334},"..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#authoring-permission-model",[1336],{"type":58,"value":1337},"SQLDW-AUTHORING-CORE.md § Authoring Permission Model",{"type":45,"tag":212,"props":1339,"children":1340},{},[1341],{"type":58,"value":1342},"Contributor minimum for DDL\u002FDML; Admin for GRANT",{"type":45,"tag":185,"props":1344,"children":1345},{},[1346,1351,1360],{"type":45,"tag":212,"props":1347,"children":1348},{},[1349],{"type":58,"value":1350},"Authoring Gotchas and Troubleshooting",{"type":45,"tag":212,"props":1352,"children":1353},{},[1354],{"type":45,"tag":161,"props":1355,"children":1357},{"href":1356},"..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#authoring-gotchas-and-troubleshooting",[1358],{"type":58,"value":1359},"SQLDW-AUTHORING-CORE.md § Authoring Gotchas and Troubleshooting",{"type":45,"tag":212,"props":1361,"children":1362},{},[1363],{"type":58,"value":1364},"17-row issue\u002Fcause\u002Fresolution table",{"type":45,"tag":185,"props":1366,"children":1367},{},[1368,1373,1382],{"type":45,"tag":212,"props":1369,"children":1370},{},[1371],{"type":58,"value":1372},"Common Authoring Patterns",{"type":45,"tag":212,"props":1374,"children":1375},{},[1376],{"type":45,"tag":161,"props":1377,"children":1379},{"href":1378},"..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#common-authoring-patterns-end-to-end-examples",[1380],{"type":58,"value":1381},"SQLDW-AUTHORING-CORE.md § Common Authoring Patterns",{"type":45,"tag":212,"props":1383,"children":1384},{},[1385],{"type":58,"value":1386},"Incremental load, SCD Type 1, SQLEP view layer",{"type":45,"tag":185,"props":1388,"children":1389},{},[1390,1395,1404],{"type":45,"tag":212,"props":1391,"children":1392},{},[1393],{"type":58,"value":1394},"Quick Reference: Authoring Decision Guide",{"type":45,"tag":212,"props":1396,"children":1397},{},[1398],{"type":45,"tag":161,"props":1399,"children":1401},{"href":1400},"..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md#quick-reference-authoring-decision-guide",[1402],{"type":58,"value":1403},"SQLDW-AUTHORING-CORE.md § Quick Reference: Authoring Decision Guide",{"type":45,"tag":212,"props":1405,"children":1406},{},[1407],{"type":58,"value":1408},"Scenario → recommended approach lookup",{"type":45,"tag":185,"props":1410,"children":1411},{},[1412,1417,1426],{"type":45,"tag":212,"props":1413,"children":1414},{},[1415],{"type":58,"value":1416},"Core Authoring via MCP",{"type":45,"tag":212,"props":1418,"children":1419},{},[1420],{"type":45,"tag":161,"props":1421,"children":1423},{"href":1422},"references\u002Fauthoring-cli-quickref.md#core-authoring-via-mcp",[1424],{"type":58,"value":1425},"authoring-cli-quickref.md § Core Authoring via MCP",{"type":45,"tag":212,"props":1427,"children":1428},{},[1429],{"type":58,"value":1430},"Table DDL, DML, data ingestion via execute_query",{"type":45,"tag":185,"props":1432,"children":1433},{},[1434,1439,1448],{"type":45,"tag":212,"props":1435,"children":1436},{},[1437],{"type":58,"value":1438},"Advanced Authoring Patterns via MCP",{"type":45,"tag":212,"props":1440,"children":1441},{},[1442],{"type":45,"tag":161,"props":1443,"children":1445},{"href":1444},"references\u002Fauthoring-cli-quickref.md#advanced-authoring-patterns-via-mcp",[1446],{"type":58,"value":1447},"authoring-cli-quickref.md § Advanced Authoring Patterns via MCP",{"type":45,"tag":212,"props":1449,"children":1450},{},[1451],{"type":58,"value":1452},"Transactions, schema evolution, stored procedures, time travel",{"type":45,"tag":185,"props":1454,"children":1455},{},[1456,1461,1470],{"type":45,"tag":212,"props":1457,"children":1458},{},[1459],{"type":58,"value":1460},"MCP Workflow Templates",{"type":45,"tag":212,"props":1462,"children":1463},{},[1464],{"type":45,"tag":161,"props":1465,"children":1467},{"href":1466},"references\u002Fauthoring-script-templates.md#mcp-workflow-templates",[1468],{"type":58,"value":1469},"authoring-script-templates.md § MCP Workflow Templates",{"type":45,"tag":212,"props":1471,"children":1472},{},[1473],{"type":58,"value":1474},"COPY INTO, ELT pipeline, upsert with retry, schema migration, time travel recovery",{"type":45,"tag":185,"props":1476,"children":1477},{},[1478,1482,1490],{"type":45,"tag":212,"props":1479,"children":1480},{},[1481],{"type":58,"value":166},{"type":45,"tag":212,"props":1483,"children":1484},{},[1485],{"type":45,"tag":161,"props":1486,"children":1487},{"href":163},[1488],{"type":58,"value":1489},"SKILL.md § Tool Stack",{"type":45,"tag":212,"props":1491,"children":1492},{},[1493,1498,1500,1506],{"type":45,"tag":85,"props":1494,"children":1496},{"className":1495},[],[1497],{"type":58,"value":157},{"type":58,"value":1499}," MCP tool + ",{"type":45,"tag":85,"props":1501,"children":1503},{"className":1502},[],[1504],{"type":58,"value":1505},"az",{"type":58,"value":1507}," CLI; verify before first op",{"type":45,"tag":185,"props":1509,"children":1510},{},[1511,1516,1525],{"type":45,"tag":212,"props":1512,"children":1513},{},[1514],{"type":58,"value":1515},"Connection",{"type":45,"tag":212,"props":1517,"children":1518},{},[1519],{"type":45,"tag":161,"props":1520,"children":1522},{"href":1521},"#connection",[1523],{"type":58,"value":1524},"SKILL.md § Connection",{"type":45,"tag":212,"props":1526,"children":1527},{},[1528],{"type":58,"value":1529},"workspaceId\u002FitemId discovery, execute example",{"type":45,"tag":185,"props":1531,"children":1532},{},[1533,1538,1547],{"type":45,"tag":212,"props":1534,"children":1535},{},[1536],{"type":58,"value":1537},"Query Execution",{"type":45,"tag":212,"props":1539,"children":1540},{},[1541],{"type":45,"tag":161,"props":1542,"children":1544},{"href":1543},"references\u002Fauthoring-cli-quickref.md#query-execution",[1545],{"type":58,"value":1546},"authoring-cli-quickref.md § Query Execution",{"type":45,"tag":212,"props":1548,"children":1549},{},[1550],{"type":58,"value":1551},"MCP tool call format, batch considerations",{"type":45,"tag":185,"props":1553,"children":1554},{},[1555,1560,1569],{"type":45,"tag":212,"props":1556,"children":1557},{},[1558],{"type":58,"value":1559},"Agentic Workflows",{"type":45,"tag":212,"props":1561,"children":1562},{},[1563],{"type":45,"tag":161,"props":1564,"children":1566},{"href":1565},"#agentic-workflows",[1567],{"type":58,"value":1568},"SKILL.md § Agentic Workflows",{"type":45,"tag":212,"props":1570,"children":1571},{},[1572,1577],{"type":45,"tag":54,"props":1573,"children":1574},{},[1575],{"type":58,"value":1576},"Start here",{"type":58,"value":1578}," — discover schema before any write",{"type":45,"tag":185,"props":1580,"children":1581},{},[1582,1587,1596],{"type":45,"tag":212,"props":1583,"children":1584},{},[1585],{"type":58,"value":1586},"Monitoring Authoring Operations",{"type":45,"tag":212,"props":1588,"children":1589},{},[1590],{"type":45,"tag":161,"props":1591,"children":1593},{"href":1592},"references\u002Fauthoring-cli-quickref.md#monitoring-authoring-operations",[1594],{"type":58,"value":1595},"authoring-cli-quickref.md § Monitoring Authoring Operations",{"type":45,"tag":212,"props":1597,"children":1598},{},[1599],{"type":58,"value":1600},"Active DML\u002FDDL, recent ETL, failed writes",{"type":45,"tag":185,"props":1602,"children":1603},{},[1604,1609,1618],{"type":45,"tag":212,"props":1605,"children":1606},{},[1607],{"type":58,"value":1608},"Gotchas, Rules, Troubleshooting",{"type":45,"tag":212,"props":1610,"children":1611},{},[1612],{"type":45,"tag":161,"props":1613,"children":1615},{"href":1614},"#gotchas-rules-troubleshooting",[1616],{"type":58,"value":1617},"SKILL.md § Gotchas, Rules, Troubleshooting",{"type":45,"tag":212,"props":1619,"children":1620},{},[1621,1626],{"type":45,"tag":54,"props":1622,"children":1623},{},[1624],{"type":58,"value":1625},"MUST DO \u002F AVOID \u002F PREFER",{"type":58,"value":1627}," checklists",{"type":45,"tag":185,"props":1629,"children":1630},{},[1631,1636,1645],{"type":45,"tag":212,"props":1632,"children":1633},{},[1634],{"type":58,"value":1635},"Agent Integration Notes",{"type":45,"tag":212,"props":1637,"children":1638},{},[1639],{"type":45,"tag":161,"props":1640,"children":1642},{"href":1641},"references\u002Fauthoring-cli-quickref.md#agent-integration-notes",[1643],{"type":58,"value":1644},"authoring-cli-quickref.md § Agent Integration Notes",{"type":45,"tag":212,"props":1646,"children":1647},{},[1648],{"type":58,"value":1649},"Platform-specific tips (Copilot CLI, Claude Code)",{"type":45,"tag":1651,"props":1652,"children":1653},"hr",{},[],{"type":45,"tag":170,"props":1655,"children":1657},{"id":1656},"tool-stack",[1658],{"type":58,"value":166},{"type":45,"tag":177,"props":1660,"children":1661},{},[1662,1683],{"type":45,"tag":181,"props":1663,"children":1664},{},[1665],{"type":45,"tag":185,"props":1666,"children":1667},{},[1668,1673,1678],{"type":45,"tag":189,"props":1669,"children":1670},{},[1671],{"type":58,"value":1672},"Tool",{"type":45,"tag":189,"props":1674,"children":1675},{},[1676],{"type":58,"value":1677},"Role",{"type":45,"tag":189,"props":1679,"children":1680},{},[1681],{"type":58,"value":1682},"Install",{"type":45,"tag":205,"props":1684,"children":1685},{},[1686,1714,1744],{"type":45,"tag":185,"props":1687,"children":1688},{},[1689,1699,1709],{"type":45,"tag":212,"props":1690,"children":1691},{},[1692,1697],{"type":45,"tag":85,"props":1693,"children":1695},{"className":1694},[],[1696],{"type":58,"value":157},{"type":58,"value":1698}," MCP tool",{"type":45,"tag":212,"props":1700,"children":1701},{},[1702,1707],{"type":45,"tag":54,"props":1703,"children":1704},{},[1705],{"type":58,"value":1706},"Primary",{"type":58,"value":1708},": Execute DDL\u002FDML T-SQL queries against Fabric SQL Endpoints. Returns CSV results. Auth handled by MCP protocol.",{"type":45,"tag":212,"props":1710,"children":1711},{},[1712],{"type":58,"value":1713},"No install — server-side. Requires MCP server registration.",{"type":45,"tag":185,"props":1715,"children":1716},{},[1717,1727,1739],{"type":45,"tag":212,"props":1718,"children":1719},{},[1720,1725],{"type":45,"tag":85,"props":1721,"children":1723},{"className":1722},[],[1724],{"type":58,"value":1505},{"type":58,"value":1726}," CLI",{"type":45,"tag":212,"props":1728,"children":1729},{},[1730,1732,1737],{"type":58,"value":1731},"Auth (",{"type":45,"tag":85,"props":1733,"children":1735},{"className":1734},[],[1736],{"type":58,"value":527},{"type":58,"value":1738},"), Fabric REST for workspace\u002Fitem discovery, snapshot management.",{"type":45,"tag":212,"props":1740,"children":1741},{},[1742],{"type":58,"value":1743},"Pre-installed in most dev environments",{"type":45,"tag":185,"props":1745,"children":1746},{},[1747,1756,1766],{"type":45,"tag":212,"props":1748,"children":1749},{},[1750],{"type":45,"tag":85,"props":1751,"children":1753},{"className":1752},[],[1754],{"type":58,"value":1755},"jq",{"type":45,"tag":212,"props":1757,"children":1758},{},[1759,1761],{"type":58,"value":1760},"Parse JSON from ",{"type":45,"tag":85,"props":1762,"children":1764},{"className":1763},[],[1765],{"type":58,"value":543},{"type":45,"tag":212,"props":1767,"children":1768},{},[1769],{"type":58,"value":1770},"Pre-installed or trivial",{"type":45,"tag":46,"props":1772,"children":1773},{},[1774],{"type":45,"tag":50,"props":1775,"children":1776},{},[1777,1782,1784,1789,1791,1796],{"type":45,"tag":54,"props":1778,"children":1779},{},[1780],{"type":58,"value":1781},"IMPORTANT — MCP vs sqlcmd:",{"type":58,"value":1783},"\nThis skill uses the ",{"type":45,"tag":85,"props":1785,"children":1787},{"className":1786},[],[1788],{"type":58,"value":157},{"type":58,"value":1790}," MCP tool for all T-SQL execution. Do ",{"type":45,"tag":54,"props":1792,"children":1793},{},[1794],{"type":58,"value":1795},"not",{"type":58,"value":1797}," use COMMON-CLI SQL\u002FTDS\u002Fsqlcmd sections for query execution.",{"type":45,"tag":46,"props":1799,"children":1800},{},[1801,1811],{"type":45,"tag":50,"props":1802,"children":1803},{},[1804,1809],{"type":45,"tag":54,"props":1805,"children":1806},{},[1807],{"type":58,"value":1808},"Agent preflight",{"type":58,"value":1810}," — verify before first operation:",{"type":45,"tag":119,"props":1812,"children":1813},{},[1814,1849],{"type":45,"tag":74,"props":1815,"children":1816},{},[1817,1819,1824,1826,1832,1834,1839,1841,1847],{"type":58,"value":1818},"Confirm the ",{"type":45,"tag":85,"props":1820,"children":1822},{"className":1821},[],[1823],{"type":58,"value":157},{"type":58,"value":1825}," tool is available in your tool list. This tool is provided by the ",{"type":45,"tag":85,"props":1827,"children":1829},{"className":1828},[],[1830],{"type":58,"value":1831},"fabric-sqlendpoint",{"type":58,"value":1833}," MCP server, which is registered either by installing a Fabric skills ",{"type":45,"tag":54,"props":1835,"children":1836},{},[1837],{"type":58,"value":1838},"plugin",{"type":58,"value":1840}," (the path for end users) or via this repo's ",{"type":45,"tag":85,"props":1842,"children":1844},{"className":1843},[],[1845],{"type":58,"value":1846},".mcp.json",{"type":58,"value":1848}," — other MCP clients may register it through their own configuration.",{"type":45,"tag":74,"props":1850,"children":1851},{},[1852,1854,1860,1862],{"type":58,"value":1853},"If no matching tool is found, the user must register the Fabric SQL Endpoint MCP server. See ",{"type":45,"tag":161,"props":1855,"children":1857},{"href":1856},"..\u002F..\u002Fmcp-setup\u002F",[1858],{"type":58,"value":1859},"mcp-setup\u002F",{"type":58,"value":1861},".\n",{"type":45,"tag":70,"props":1863,"children":1864},{},[1865,1881],{"type":45,"tag":74,"props":1866,"children":1867},{},[1868,1873,1875],{"type":45,"tag":54,"props":1869,"children":1870},{},[1871],{"type":58,"value":1872},"Global URL",{"type":58,"value":1874},": ",{"type":45,"tag":85,"props":1876,"children":1878},{"className":1877},[],[1879],{"type":58,"value":1880},"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fmcp\u002FdataPlane\u002FsqlEndpoint",{"type":45,"tag":74,"props":1882,"children":1883},{},[1884,1889,1890],{"type":45,"tag":54,"props":1885,"children":1886},{},[1887],{"type":58,"value":1888},"Item-scoped URL",{"type":58,"value":1874},{"type":45,"tag":85,"props":1891,"children":1893},{"className":1892},[],[1894],{"type":58,"value":1895},"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fmcp\u002FdataPlane\u002Fworkspaces\u002F{workspaceId}\u002Fitems\u002F{itemId}\u002FsqlEndpoint",{"type":45,"tag":1897,"props":1898,"children":1900},"h3",{"id":1899},"mcp-tool-signature",[1901],{"type":58,"value":1902},"MCP Tool Signature",{"type":45,"tag":1904,"props":1905,"children":1910},"pre",{"className":1906,"code":1908,"language":58,"meta":1909},[1907],"language-text","fabric-sqlendpoint-execute_query(workspaceId, itemId, query)\n","",[1911],{"type":45,"tag":85,"props":1912,"children":1913},{"__ignoreMap":1909},[1914],{"type":58,"value":1908},{"type":45,"tag":46,"props":1916,"children":1917},{},[1918],{"type":45,"tag":50,"props":1919,"children":1920},{},[1921,1926,1927,1933,1935,1940,1942,1948,1950,1956,1957,1963,1965,1971],{"type":45,"tag":54,"props":1922,"children":1923},{},[1924],{"type":58,"value":1925},"Tool name may differ:",{"type":58,"value":243},{"type":45,"tag":85,"props":1928,"children":1930},{"className":1929},[],[1931],{"type":58,"value":1932},"execute_query",{"type":58,"value":1934}," is the logical operation. Depending on how the server is\nregistered, the concrete tool name in your tool list may be prefixed (e.g.\n",{"type":45,"tag":85,"props":1936,"children":1938},{"className":1937},[],[1939],{"type":58,"value":157},{"type":58,"value":1941}," or ",{"type":45,"tag":85,"props":1943,"children":1945},{"className":1944},[],[1946],{"type":58,"value":1947},"sqlendpoint-global-execute_query",{"type":58,"value":1949},"). Invoke the concrete name\nshown in your tool list, always passing ",{"type":45,"tag":85,"props":1951,"children":1953},{"className":1952},[],[1954],{"type":58,"value":1955},"workspaceId",{"type":58,"value":415},{"type":45,"tag":85,"props":1958,"children":1960},{"className":1959},[],[1961],{"type":58,"value":1962},"itemId",{"type":58,"value":1964},", and ",{"type":45,"tag":85,"props":1966,"children":1968},{"className":1967},[],[1969],{"type":58,"value":1970},"query",{"type":58,"value":1972},".",{"type":45,"tag":177,"props":1974,"children":1975},{},[1976,1997],{"type":45,"tag":181,"props":1977,"children":1978},{},[1979],{"type":45,"tag":185,"props":1980,"children":1981},{},[1982,1987,1992],{"type":45,"tag":189,"props":1983,"children":1984},{},[1985],{"type":58,"value":1986},"Parameter",{"type":45,"tag":189,"props":1988,"children":1989},{},[1990],{"type":58,"value":1991},"Type",{"type":45,"tag":189,"props":1993,"children":1994},{},[1995],{"type":58,"value":1996},"Description",{"type":45,"tag":205,"props":1998,"children":1999},{},[2000,2021,2076],{"type":45,"tag":185,"props":2001,"children":2002},{},[2003,2011,2016],{"type":45,"tag":212,"props":2004,"children":2005},{},[2006],{"type":45,"tag":85,"props":2007,"children":2009},{"className":2008},[],[2010],{"type":58,"value":1955},{"type":45,"tag":212,"props":2012,"children":2013},{},[2014],{"type":58,"value":2015},"string (UUID)",{"type":45,"tag":212,"props":2017,"children":2018},{},[2019],{"type":58,"value":2020},"The workspace GUID containing the target item",{"type":45,"tag":185,"props":2022,"children":2023},{},[2024,2032,2036],{"type":45,"tag":212,"props":2025,"children":2026},{},[2027],{"type":45,"tag":85,"props":2028,"children":2030},{"className":2029},[],[2031],{"type":58,"value":1962},{"type":45,"tag":212,"props":2033,"children":2034},{},[2035],{"type":58,"value":2015},{"type":45,"tag":212,"props":2037,"children":2038},{},[2039,2041,2046,2048,2053,2055,2060,2062,2068,2070,2074],{"type":58,"value":2040},"The Fabric item GUID to target. For a ",{"type":45,"tag":54,"props":2042,"children":2043},{},[2044],{"type":58,"value":2045},"Warehouse",{"type":58,"value":2047},", use the item id. For a ",{"type":45,"tag":54,"props":2049,"children":2050},{},[2051],{"type":58,"value":2052},"Lakehouse",{"type":58,"value":2054},", use its ",{"type":45,"tag":54,"props":2056,"children":2057},{},[2058],{"type":58,"value":2059},"SQL analytics endpoint",{"type":58,"value":2061}," id (",{"type":45,"tag":85,"props":2063,"children":2065},{"className":2064},[],[2066],{"type":58,"value":2067},"properties.sqlEndpointProperties.id",{"type":58,"value":2069},") — ",{"type":45,"tag":54,"props":2071,"children":2072},{},[2073],{"type":58,"value":1795},{"type":58,"value":2075}," the Lakehouse item id.",{"type":45,"tag":185,"props":2077,"children":2078},{},[2079,2087,2092],{"type":45,"tag":212,"props":2080,"children":2081},{},[2082],{"type":45,"tag":85,"props":2083,"children":2085},{"className":2084},[],[2086],{"type":58,"value":1970},{"type":45,"tag":212,"props":2088,"children":2089},{},[2090],{"type":58,"value":2091},"string",{"type":45,"tag":212,"props":2093,"children":2094},{},[2095,2097,2103],{"type":58,"value":2096},"T-SQL query text (single batch — no ",{"type":45,"tag":85,"props":2098,"children":2100},{"className":2099},[],[2101],{"type":58,"value":2102},"GO",{"type":58,"value":2104}," separators or sqlcmd meta-commands)",{"type":45,"tag":50,"props":2106,"children":2107},{},[2108,2113],{"type":45,"tag":54,"props":2109,"children":2110},{},[2111],{"type":58,"value":2112},"Returns:",{"type":58,"value":2114}," CSV resource (RFC 4180) with tabular results + metadata text.",{"type":45,"tag":46,"props":2116,"children":2117},{},[2118],{"type":45,"tag":50,"props":2119,"children":2120},{},[2121,2126,2128,2133,2135,2141,2143,2155],{"type":45,"tag":54,"props":2122,"children":2123},{},[2124],{"type":58,"value":2125},"Batch guidance:",{"type":58,"value":2127}," Multiple statements without ",{"type":45,"tag":85,"props":2129,"children":2131},{"className":2130},[],[2132],{"type":58,"value":2102},{"type":58,"value":2134}," are allowed in one call (e.g., ",{"type":45,"tag":85,"props":2136,"children":2138},{"className":2137},[],[2139],{"type":58,"value":2140},"CREATE TABLE ...; INSERT INTO ...",{"type":58,"value":2142},"). However, only the last result set is returned, and an error in any statement fails the entire batch. ",{"type":45,"tag":54,"props":2144,"children":2145},{},[2146,2148,2153],{"type":58,"value":2147},"Prefer separate ",{"type":45,"tag":85,"props":2149,"children":2151},{"className":2150},[],[2152],{"type":58,"value":157},{"type":58,"value":2154}," calls",{"type":58,"value":2156}," for independent DDL\u002FDML operations — this gives clearer error messages and lets you verify each step succeeded before proceeding.",{"type":45,"tag":1897,"props":2158,"children":2160},{"id":2159},"mcp-limits",[2161],{"type":58,"value":2162},"MCP Limits",{"type":45,"tag":177,"props":2164,"children":2165},{},[2166,2186],{"type":45,"tag":181,"props":2167,"children":2168},{},[2169],{"type":45,"tag":185,"props":2170,"children":2171},{},[2172,2177,2182],{"type":45,"tag":189,"props":2173,"children":2174},{},[2175],{"type":58,"value":2176},"Limit",{"type":45,"tag":189,"props":2178,"children":2179},{},[2180],{"type":58,"value":2181},"Value",{"type":45,"tag":189,"props":2183,"children":2184},{},[2185],{"type":58,"value":203},{"type":45,"tag":205,"props":2187,"children":2188},{},[2189,2207,2225],{"type":45,"tag":185,"props":2190,"children":2191},{},[2192,2197,2202],{"type":45,"tag":212,"props":2193,"children":2194},{},[2195],{"type":58,"value":2196},"Max rows returned",{"type":45,"tag":212,"props":2198,"children":2199},{},[2200],{"type":58,"value":2201},"10,000",{"type":45,"tag":212,"props":2203,"children":2204},{},[2205],{"type":58,"value":2206},"For DDL\u002FDML, row count metadata indicates affected rows",{"type":45,"tag":185,"props":2208,"children":2209},{},[2210,2215,2220],{"type":45,"tag":212,"props":2211,"children":2212},{},[2213],{"type":58,"value":2214},"Query timeout",{"type":45,"tag":212,"props":2216,"children":2217},{},[2218],{"type":58,"value":2219},"300 seconds",{"type":45,"tag":212,"props":2221,"children":2222},{},[2223],{"type":58,"value":2224},"Long-running operations may timeout",{"type":45,"tag":185,"props":2226,"children":2227},{},[2228,2233,2238],{"type":45,"tag":212,"props":2229,"children":2230},{},[2231],{"type":58,"value":2232},"Rate limit",{"type":45,"tag":212,"props":2234,"children":2235},{},[2236],{"type":58,"value":2237},"20 requests\u002Fmin per identity",{"type":45,"tag":212,"props":2239,"children":2240},{},[2241],{"type":58,"value":2242},"HTTP 429 returned when exceeded",{"type":45,"tag":46,"props":2244,"children":2245},{},[2246],{"type":45,"tag":50,"props":2247,"children":2248},{},[2249,2251,2256,2258,2264],{"type":58,"value":2250},"These values are ",{"type":45,"tag":54,"props":2252,"children":2253},{},[2254],{"type":58,"value":2255},"observed defaults, not a documented contract",{"type":58,"value":2257}," — the MCP service can change them. Treat them as guidance and confirm the current behavior from live ",{"type":45,"tag":85,"props":2259,"children":2261},{"className":2260},[],[2262],{"type":58,"value":2263},"429",{"type":58,"value":2265}," \u002F timeout \u002F truncation responses (or Microsoft Learn, if\u002Fwhen published) rather than relying on the exact numbers.",{"type":45,"tag":1897,"props":2267,"children":2269},{"id":2268},"authoring-scope-by-item-type",[2270],{"type":58,"value":2271},"Authoring Scope by Item Type",{"type":45,"tag":177,"props":2273,"children":2274},{},[2275,2296],{"type":45,"tag":181,"props":2276,"children":2277},{},[2278],{"type":45,"tag":185,"props":2279,"children":2280},{},[2281,2286,2291],{"type":45,"tag":189,"props":2282,"children":2283},{},[2284],{"type":58,"value":2285},"Capability",{"type":45,"tag":189,"props":2287,"children":2288},{},[2289],{"type":58,"value":2290},"Warehouse (DW)",{"type":45,"tag":189,"props":2292,"children":2293},{},[2294],{"type":58,"value":2295},"Lakehouse\u002FMirrored DB SQLEP",{"type":45,"tag":205,"props":2297,"children":2298},{},[2299,2317,2333,2350,2366,2382,2398],{"type":45,"tag":185,"props":2300,"children":2301},{},[2302,2307,2312],{"type":45,"tag":212,"props":2303,"children":2304},{},[2305],{"type":58,"value":2306},"Table DDL (CREATE\u002FALTER\u002FDROP)",{"type":45,"tag":212,"props":2308,"children":2309},{},[2310],{"type":58,"value":2311},"✅",{"type":45,"tag":212,"props":2313,"children":2314},{},[2315],{"type":58,"value":2316},"❌",{"type":45,"tag":185,"props":2318,"children":2319},{},[2320,2325,2329],{"type":45,"tag":212,"props":2321,"children":2322},{},[2323],{"type":58,"value":2324},"DML (INSERT\u002FUPDATE\u002FDELETE\u002FMERGE)",{"type":45,"tag":212,"props":2326,"children":2327},{},[2328],{"type":58,"value":2311},{"type":45,"tag":212,"props":2330,"children":2331},{},[2332],{"type":58,"value":2316},{"type":45,"tag":185,"props":2334,"children":2335},{},[2336,2341,2345],{"type":45,"tag":212,"props":2337,"children":2338},{},[2339],{"type":58,"value":2340},"COPY INTO, OPENROWSET (ingest)",{"type":45,"tag":212,"props":2342,"children":2343},{},[2344],{"type":58,"value":2311},{"type":45,"tag":212,"props":2346,"children":2347},{},[2348],{"type":58,"value":2349},"OPENROWSET read-only",{"type":45,"tag":185,"props":2351,"children":2352},{},[2353,2358,2362],{"type":45,"tag":212,"props":2354,"children":2355},{},[2356],{"type":58,"value":2357},"Transactions",{"type":45,"tag":212,"props":2359,"children":2360},{},[2361],{"type":58,"value":2311},{"type":45,"tag":212,"props":2363,"children":2364},{},[2365],{"type":58,"value":2316},{"type":45,"tag":185,"props":2367,"children":2368},{},[2369,2374,2378],{"type":45,"tag":212,"props":2370,"children":2371},{},[2372],{"type":58,"value":2373},"Time travel, snapshots",{"type":45,"tag":212,"props":2375,"children":2376},{},[2377],{"type":58,"value":2311},{"type":45,"tag":212,"props":2379,"children":2380},{},[2381],{"type":58,"value":2316},{"type":45,"tag":185,"props":2383,"children":2384},{},[2385,2390,2394],{"type":45,"tag":212,"props":2386,"children":2387},{},[2388],{"type":58,"value":2389},"CREATE VIEW\u002FFUNCTION\u002FPROCEDURE",{"type":45,"tag":212,"props":2391,"children":2392},{},[2393],{"type":58,"value":2311},{"type":45,"tag":212,"props":2395,"children":2396},{},[2397],{"type":58,"value":2311},{"type":45,"tag":185,"props":2399,"children":2400},{},[2401,2406,2410],{"type":45,"tag":212,"props":2402,"children":2403},{},[2404],{"type":58,"value":2405},"CREATE SCHEMA",{"type":45,"tag":212,"props":2407,"children":2408},{},[2409],{"type":58,"value":2311},{"type":45,"tag":212,"props":2411,"children":2412},{},[2413],{"type":58,"value":2311},{"type":45,"tag":1897,"props":2415,"children":2417},{"id":2416},"fabric-dw-ddl-constraints",[2418],{"type":58,"value":2419},"Fabric DW DDL Constraints",{"type":45,"tag":50,"props":2421,"children":2422},{},[2423,2425,2430],{"type":58,"value":2424},"These constraints are ",{"type":45,"tag":54,"props":2426,"children":2427},{},[2428],{"type":58,"value":2429},"hard requirements",{"type":58,"value":2431}," — violating them produces errors:",{"type":45,"tag":177,"props":2433,"children":2434},{},[2435,2451],{"type":45,"tag":181,"props":2436,"children":2437},{},[2438],{"type":45,"tag":185,"props":2439,"children":2440},{},[2441,2446],{"type":45,"tag":189,"props":2442,"children":2443},{},[2444],{"type":58,"value":2445},"Constraint",{"type":45,"tag":189,"props":2447,"children":2448},{},[2449],{"type":58,"value":2450},"Details",{"type":45,"tag":205,"props":2452,"children":2453},{},[2454,2475,2501,2533,2615,2633,2670,2696],{"type":45,"tag":185,"props":2455,"children":2456},{},[2457,2470],{"type":45,"tag":212,"props":2458,"children":2459},{},[2460,2462,2468],{"type":58,"value":2461},"No ",{"type":45,"tag":85,"props":2463,"children":2465},{"className":2464},[],[2466],{"type":58,"value":2467},"DEFAULT",{"type":58,"value":2469}," in CREATE TABLE",{"type":45,"tag":212,"props":2471,"children":2472},{},[2473],{"type":58,"value":2474},"Default values not supported. Set defaults in application\u002FINSERT logic.",{"type":45,"tag":185,"props":2476,"children":2477},{},[2478,2490],{"type":45,"tag":212,"props":2479,"children":2480},{},[2481,2482,2488],{"type":58,"value":2461},{"type":45,"tag":85,"props":2483,"children":2485},{"className":2484},[],[2486],{"type":58,"value":2487},"PRIMARY KEY",{"type":58,"value":2489}," inside CREATE TABLE",{"type":45,"tag":212,"props":2491,"children":2492},{},[2493,2495],{"type":58,"value":2494},"Must add via ",{"type":45,"tag":85,"props":2496,"children":2498},{"className":2497},[],[2499],{"type":58,"value":2500},"ALTER TABLE ... ADD CONSTRAINT ... PRIMARY KEY NONCLUSTERED (col) NOT ENFORCED",{"type":45,"tag":185,"props":2502,"children":2503},{},[2504,2515],{"type":45,"tag":212,"props":2505,"children":2506},{},[2507,2513],{"type":45,"tag":85,"props":2508,"children":2510},{"className":2509},[],[2511],{"type":58,"value":2512},"DATETIME2",{"type":58,"value":2514}," requires precision",{"type":45,"tag":212,"props":2516,"children":2517},{},[2518,2520,2526,2528],{"type":58,"value":2519},"Always use ",{"type":45,"tag":85,"props":2521,"children":2523},{"className":2522},[],[2524],{"type":58,"value":2525},"DATETIME2(6)",{"type":58,"value":2527},", never bare ",{"type":45,"tag":85,"props":2529,"children":2531},{"className":2530},[],[2532],{"type":58,"value":2512},{"type":45,"tag":185,"props":2534,"children":2535},{},[2536,2541],{"type":45,"tag":212,"props":2537,"children":2538},{},[2539],{"type":58,"value":2540},"Unsupported data types",{"type":45,"tag":212,"props":2542,"children":2543},{},[2544,2550,2551,2557,2558,2564,2565,2571,2572,2578,2579,2585,2586,2592,2594,2600,2601,2607,2608,2613],{"type":45,"tag":85,"props":2545,"children":2547},{"className":2546},[],[2548],{"type":58,"value":2549},"NCHAR",{"type":58,"value":415},{"type":45,"tag":85,"props":2552,"children":2554},{"className":2553},[],[2555],{"type":58,"value":2556},"NVARCHAR",{"type":58,"value":415},{"type":45,"tag":85,"props":2559,"children":2561},{"className":2560},[],[2562],{"type":58,"value":2563},"TEXT",{"type":58,"value":415},{"type":45,"tag":85,"props":2566,"children":2568},{"className":2567},[],[2569],{"type":58,"value":2570},"IMAGE",{"type":58,"value":415},{"type":45,"tag":85,"props":2573,"children":2575},{"className":2574},[],[2576],{"type":58,"value":2577},"MONEY",{"type":58,"value":415},{"type":45,"tag":85,"props":2580,"children":2582},{"className":2581},[],[2583],{"type":58,"value":2584},"SMALLMONEY",{"type":58,"value":415},{"type":45,"tag":85,"props":2587,"children":2589},{"className":2588},[],[2590],{"type":58,"value":2591},"DATETIME",{"type":58,"value":2593}," — use ",{"type":45,"tag":85,"props":2595,"children":2597},{"className":2596},[],[2598],{"type":58,"value":2599},"VARCHAR",{"type":58,"value":415},{"type":45,"tag":85,"props":2602,"children":2604},{"className":2603},[],[2605],{"type":58,"value":2606},"DECIMAL",{"type":58,"value":415},{"type":45,"tag":85,"props":2609,"children":2611},{"className":2610},[],[2612],{"type":58,"value":2525},{"type":58,"value":2614}," instead",{"type":45,"tag":185,"props":2616,"children":2617},{},[2618,2628],{"type":45,"tag":212,"props":2619,"children":2620},{},[2621,2622],{"type":58,"value":2461},{"type":45,"tag":85,"props":2623,"children":2625},{"className":2624},[],[2626],{"type":58,"value":2627},"WITH DISTRIBUTION",{"type":45,"tag":212,"props":2629,"children":2630},{},[2631],{"type":58,"value":2632},"Distribution is automatic in Fabric",{"type":45,"tag":185,"props":2634,"children":2635},{},[2636,2647],{"type":45,"tag":212,"props":2637,"children":2638},{},[2639,2641],{"type":58,"value":2640},"Constraints must be ",{"type":45,"tag":85,"props":2642,"children":2644},{"className":2643},[],[2645],{"type":58,"value":2646},"NOT ENFORCED",{"type":45,"tag":212,"props":2648,"children":2649},{},[2650,2656,2657,2663,2664],{"type":45,"tag":85,"props":2651,"children":2653},{"className":2652},[],[2654],{"type":58,"value":2655},"PRIMARY KEY NONCLUSTERED NOT ENFORCED",{"type":58,"value":415},{"type":45,"tag":85,"props":2658,"children":2660},{"className":2659},[],[2661],{"type":58,"value":2662},"UNIQUE NONCLUSTERED NOT ENFORCED",{"type":58,"value":415},{"type":45,"tag":85,"props":2665,"children":2667},{"className":2666},[],[2668],{"type":58,"value":2669},"FOREIGN KEY NOT ENFORCED",{"type":45,"tag":185,"props":2671,"children":2672},{},[2673,2684],{"type":45,"tag":212,"props":2674,"children":2675},{},[2676,2678],{"type":58,"value":2677},"PK columns must be ",{"type":45,"tag":85,"props":2679,"children":2681},{"className":2680},[],[2682],{"type":58,"value":2683},"NOT NULL",{"type":45,"tag":212,"props":2685,"children":2686},{},[2687,2689,2694],{"type":58,"value":2688},"Declare PK columns as ",{"type":45,"tag":85,"props":2690,"children":2692},{"className":2691},[],[2693],{"type":58,"value":2683},{"type":58,"value":2695}," in CREATE TABLE before adding PK constraint",{"type":45,"tag":185,"props":2697,"children":2698},{},[2699,2710],{"type":45,"tag":212,"props":2700,"children":2701},{},[2702,2708],{"type":45,"tag":85,"props":2703,"children":2705},{"className":2704},[],[2706],{"type":58,"value":2707},"ALTER TABLE",{"type":58,"value":2709}," scope",{"type":45,"tag":212,"props":2711,"children":2712},{},[2713,2715,2721,2723,2728,2730,2736,2738,2743],{"type":58,"value":2714},"Add\u002Fdrop nullable columns (must specify ",{"type":45,"tag":85,"props":2716,"children":2718},{"className":2717},[],[2719],{"type":58,"value":2720},"NULL",{"type":58,"value":2722},") and add\u002Fdrop constraints (",{"type":45,"tag":85,"props":2724,"children":2726},{"className":2725},[],[2727],{"type":58,"value":2646},{"type":58,"value":2729}," only) are GA; ",{"type":45,"tag":85,"props":2731,"children":2733},{"className":2732},[],[2734],{"type":58,"value":2735},"ALTER COLUMN",{"type":58,"value":2737}," type changes are ",{"type":45,"tag":54,"props":2739,"children":2740},{},[2741],{"type":58,"value":2742},"in preview",{"type":58,"value":2744}," (see note below)",{"type":45,"tag":46,"props":2746,"children":2747},{},[2748],{"type":45,"tag":50,"props":2749,"children":2750},{},[2751,2769,2771,2779,2780,2785,2787,2792,2794,2800,2802,2806,2808,2814,2816,2822,2824,2830,2832,2838],{"type":45,"tag":54,"props":2752,"children":2753},{},[2754,2760,2762,2767],{"type":45,"tag":85,"props":2755,"children":2757},{"className":2756},[],[2758],{"type":58,"value":2759},"MERGE",{"type":58,"value":2761}," and ",{"type":45,"tag":85,"props":2763,"children":2765},{"className":2764},[],[2766],{"type":58,"value":2735},{"type":58,"value":2768}," are NOT hard errors.",{"type":58,"value":2770}," Per ",{"type":45,"tag":161,"props":2772,"children":2776},{"href":2773,"rel":2774},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Ffabric\u002Fdata-warehouse\u002Ftsql-surface-area",[2775],"nofollow",[2777],{"type":58,"value":2778},"T-SQL surface area",{"type":58,"value":415},{"type":45,"tag":85,"props":2781,"children":2783},{"className":2782},[],[2784],{"type":58,"value":2759},{"type":58,"value":2786}," is a ",{"type":45,"tag":54,"props":2788,"children":2789},{},[2790],{"type":58,"value":2791},"generally available",{"type":58,"value":2793}," Warehouse feature and ",{"type":45,"tag":85,"props":2795,"children":2797},{"className":2796},[],[2798],{"type":58,"value":2799},"ALTER TABLE ... ALTER COLUMN",{"type":58,"value":2801}," is ",{"type":45,"tag":54,"props":2803,"children":2804},{},[2805],{"type":58,"value":2742},{"type":58,"value":2807},". Prefer an explicit ",{"type":45,"tag":85,"props":2809,"children":2811},{"className":2810},[],[2812],{"type":58,"value":2813},"DELETE",{"type":58,"value":2815},"+",{"type":45,"tag":85,"props":2817,"children":2819},{"className":2818},[],[2820],{"type":58,"value":2821},"INSERT",{"type":58,"value":2823}," when snapshot-conflict isolation matters, and ",{"type":45,"tag":85,"props":2825,"children":2827},{"className":2826},[],[2828],{"type":58,"value":2829},"CTAS",{"type":58,"value":2831}," + ",{"type":45,"tag":85,"props":2833,"children":2835},{"className":2834},[],[2836],{"type":58,"value":2837},"sp_rename",{"type":58,"value":2839}," for production-critical column-type changes — as a robustness choice, not because the syntax is blocked.",{"type":45,"tag":50,"props":2841,"children":2842},{},[2843],{"type":45,"tag":54,"props":2844,"children":2845},{},[2846],{"type":58,"value":2847},"Correct CREATE TABLE pattern:",{"type":45,"tag":1904,"props":2849,"children":2852},{"className":2850,"code":2851,"language":27,"meta":1909,"style":1909},"language-sql shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","CREATE TABLE dbo.Orders (\n    OrderID INT NOT NULL,\n    CustomerName VARCHAR(100) NULL,\n    Amount DECIMAL(19,4) NULL,\n    CreatedAt DATETIME2(6) NULL\n)\n",[2853],{"type":45,"tag":85,"props":2854,"children":2855},{"__ignoreMap":1909},[2856,2866,2875,2884,2893,2902],{"type":45,"tag":245,"props":2857,"children":2860},{"class":2858,"line":2859},"line",1,[2861],{"type":45,"tag":245,"props":2862,"children":2863},{},[2864],{"type":58,"value":2865},"CREATE TABLE dbo.Orders (\n",{"type":45,"tag":245,"props":2867,"children":2869},{"class":2858,"line":2868},2,[2870],{"type":45,"tag":245,"props":2871,"children":2872},{},[2873],{"type":58,"value":2874},"    OrderID INT NOT NULL,\n",{"type":45,"tag":245,"props":2876,"children":2878},{"class":2858,"line":2877},3,[2879],{"type":45,"tag":245,"props":2880,"children":2881},{},[2882],{"type":58,"value":2883},"    CustomerName VARCHAR(100) NULL,\n",{"type":45,"tag":245,"props":2885,"children":2887},{"class":2858,"line":2886},4,[2888],{"type":45,"tag":245,"props":2889,"children":2890},{},[2891],{"type":58,"value":2892},"    Amount DECIMAL(19,4) NULL,\n",{"type":45,"tag":245,"props":2894,"children":2896},{"class":2858,"line":2895},5,[2897],{"type":45,"tag":245,"props":2898,"children":2899},{},[2900],{"type":58,"value":2901},"    CreatedAt DATETIME2(6) NULL\n",{"type":45,"tag":245,"props":2903,"children":2905},{"class":2858,"line":2904},6,[2906],{"type":45,"tag":245,"props":2907,"children":2908},{},[2909],{"type":58,"value":2910},")\n",{"type":45,"tag":1904,"props":2912,"children":2914},{"className":2850,"code":2913,"language":27,"meta":1909,"style":1909},"ALTER TABLE dbo.Orders ADD CONSTRAINT PK_Orders PRIMARY KEY NONCLUSTERED (OrderID) NOT ENFORCED\n",[2915],{"type":45,"tag":85,"props":2916,"children":2917},{"__ignoreMap":1909},[2918],{"type":45,"tag":245,"props":2919,"children":2920},{"class":2858,"line":2859},[2921],{"type":45,"tag":245,"props":2922,"children":2923},{},[2924],{"type":58,"value":2913},{"type":45,"tag":50,"props":2926,"children":2927},{},[2928],{"type":45,"tag":54,"props":2929,"children":2930},{},[2931],{"type":58,"value":2932},"Additional supported patterns:",{"type":45,"tag":70,"props":2934,"children":2935},{},[2936,2947],{"type":45,"tag":74,"props":2937,"children":2938},{},[2939,2945],{"type":45,"tag":85,"props":2940,"children":2942},{"className":2941},[],[2943],{"type":58,"value":2944},"CREATE TABLE [dbo].[clone] AS CLONE OF [dbo].[source]",{"type":58,"value":2946}," — duplicate table structure + data",{"type":45,"tag":74,"props":2948,"children":2949},{},[2950,2956],{"type":45,"tag":85,"props":2951,"children":2953},{"className":2952},[],[2954],{"type":58,"value":2955},"COPY INTO",{"type":58,"value":2957}," — highest-throughput ingestion from external storage",{"type":45,"tag":1651,"props":2959,"children":2960},{},[],{"type":45,"tag":170,"props":2962,"children":2964},{"id":2963},"connection",[2965],{"type":58,"value":1515},{"type":45,"tag":1897,"props":2967,"children":2969},{"id":2968},"discover-workspaceid-and-itemid",[2970],{"type":58,"value":2971},"Discover workspaceId and itemId",{"type":45,"tag":50,"props":2973,"children":2974},{},[2975,2977,2982],{"type":58,"value":2976},"You need the workspace GUID and item GUID to call ",{"type":45,"tag":85,"props":2978,"children":2980},{"className":2979},[],[2981],{"type":58,"value":157},{"type":58,"value":2983},":",{"type":45,"tag":1904,"props":2985,"children":2989},{"className":2986,"code":2987,"language":2988,"meta":1909,"style":1909},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# 1. Find workspace ID by name (capture into WS_ID for the next call)\nWS_ID=$(az rest --method get \\\n  --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\" \\\n  --url \"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\" \\\n  --query \"value[?displayName=='MyWorkspace'].id\" --output tsv)\necho \"Workspace ID: $WS_ID\"\n\n# 2. Find warehouse item ID by name\naz rest --method get \\\n  --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\" \\\n  --url \"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\u002F$WS_ID\u002Fwarehouses\" \\\n  --query \"value[?displayName=='MyWarehouse'].id\" --output tsv\n\n# For a Lakehouse SQL endpoint, pass its SQL analytics endpoint id — NOT the lakehouse item id\naz rest --method get \\\n  --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\" \\\n  --url \"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\u002F$WS_ID\u002Flakehouses\" \\\n  --query \"value[?displayName=='MyLakehouse'].properties.sqlEndpointProperties.id\" --output tsv\n","bash",[2990],{"type":45,"tag":85,"props":2991,"children":2992},{"__ignoreMap":1909},[2993,3002,3043,3070,3095,3130,3158,3168,3177,3201,3225,3259,3289,3297,3306,3330,3354,3387],{"type":45,"tag":245,"props":2994,"children":2995},{"class":2858,"line":2859},[2996],{"type":45,"tag":245,"props":2997,"children":2999},{"style":2998},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[3000],{"type":58,"value":3001},"# 1. Find workspace ID by name (capture into WS_ID for the next call)\n",{"type":45,"tag":245,"props":3003,"children":3004},{"class":2858,"line":2868},[3005,3011,3017,3022,3028,3033,3038],{"type":45,"tag":245,"props":3006,"children":3008},{"style":3007},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[3009],{"type":58,"value":3010},"WS_ID",{"type":45,"tag":245,"props":3012,"children":3014},{"style":3013},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[3015],{"type":58,"value":3016},"=$(",{"type":45,"tag":245,"props":3018,"children":3020},{"style":3019},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[3021],{"type":58,"value":1505},{"type":45,"tag":245,"props":3023,"children":3025},{"style":3024},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[3026],{"type":58,"value":3027}," rest",{"type":45,"tag":245,"props":3029,"children":3030},{"style":3024},[3031],{"type":58,"value":3032}," --method",{"type":45,"tag":245,"props":3034,"children":3035},{"style":3024},[3036],{"type":58,"value":3037}," get",{"type":45,"tag":245,"props":3039,"children":3040},{"style":3007},[3041],{"type":58,"value":3042}," \\\n",{"type":45,"tag":245,"props":3044,"children":3045},{"class":2858,"line":2877},[3046,3051,3056,3061,3066],{"type":45,"tag":245,"props":3047,"children":3048},{"style":3024},[3049],{"type":58,"value":3050},"  --resource",{"type":45,"tag":245,"props":3052,"children":3053},{"style":3013},[3054],{"type":58,"value":3055}," \"",{"type":45,"tag":245,"props":3057,"children":3058},{"style":3024},[3059],{"type":58,"value":3060},"https:\u002F\u002Fapi.fabric.microsoft.com",{"type":45,"tag":245,"props":3062,"children":3063},{"style":3013},[3064],{"type":58,"value":3065},"\"",{"type":45,"tag":245,"props":3067,"children":3068},{"style":3007},[3069],{"type":58,"value":3042},{"type":45,"tag":245,"props":3071,"children":3072},{"class":2858,"line":2886},[3073,3078,3082,3087,3091],{"type":45,"tag":245,"props":3074,"children":3075},{"style":3024},[3076],{"type":58,"value":3077},"  --url",{"type":45,"tag":245,"props":3079,"children":3080},{"style":3013},[3081],{"type":58,"value":3055},{"type":45,"tag":245,"props":3083,"children":3084},{"style":3024},[3085],{"type":58,"value":3086},"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces",{"type":45,"tag":245,"props":3088,"children":3089},{"style":3013},[3090],{"type":58,"value":3065},{"type":45,"tag":245,"props":3092,"children":3093},{"style":3007},[3094],{"type":58,"value":3042},{"type":45,"tag":245,"props":3096,"children":3097},{"class":2858,"line":2895},[3098,3103,3107,3112,3116,3121,3126],{"type":45,"tag":245,"props":3099,"children":3100},{"style":3024},[3101],{"type":58,"value":3102},"  --query",{"type":45,"tag":245,"props":3104,"children":3105},{"style":3013},[3106],{"type":58,"value":3055},{"type":45,"tag":245,"props":3108,"children":3109},{"style":3024},[3110],{"type":58,"value":3111},"value[?displayName=='MyWorkspace'].id",{"type":45,"tag":245,"props":3113,"children":3114},{"style":3013},[3115],{"type":58,"value":3065},{"type":45,"tag":245,"props":3117,"children":3118},{"style":3024},[3119],{"type":58,"value":3120}," --output",{"type":45,"tag":245,"props":3122,"children":3123},{"style":3024},[3124],{"type":58,"value":3125}," tsv",{"type":45,"tag":245,"props":3127,"children":3128},{"style":3013},[3129],{"type":58,"value":2910},{"type":45,"tag":245,"props":3131,"children":3132},{"class":2858,"line":2904},[3133,3139,3143,3148,3153],{"type":45,"tag":245,"props":3134,"children":3136},{"style":3135},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[3137],{"type":58,"value":3138},"echo",{"type":45,"tag":245,"props":3140,"children":3141},{"style":3013},[3142],{"type":58,"value":3055},{"type":45,"tag":245,"props":3144,"children":3145},{"style":3024},[3146],{"type":58,"value":3147},"Workspace ID: ",{"type":45,"tag":245,"props":3149,"children":3150},{"style":3007},[3151],{"type":58,"value":3152},"$WS_ID",{"type":45,"tag":245,"props":3154,"children":3155},{"style":3013},[3156],{"type":58,"value":3157},"\"\n",{"type":45,"tag":245,"props":3159,"children":3161},{"class":2858,"line":3160},7,[3162],{"type":45,"tag":245,"props":3163,"children":3165},{"emptyLinePlaceholder":3164},true,[3166],{"type":58,"value":3167},"\n",{"type":45,"tag":245,"props":3169,"children":3171},{"class":2858,"line":3170},8,[3172],{"type":45,"tag":245,"props":3173,"children":3174},{"style":2998},[3175],{"type":58,"value":3176},"# 2. Find warehouse item ID by name\n",{"type":45,"tag":245,"props":3178,"children":3180},{"class":2858,"line":3179},9,[3181,3185,3189,3193,3197],{"type":45,"tag":245,"props":3182,"children":3183},{"style":3019},[3184],{"type":58,"value":1505},{"type":45,"tag":245,"props":3186,"children":3187},{"style":3024},[3188],{"type":58,"value":3027},{"type":45,"tag":245,"props":3190,"children":3191},{"style":3024},[3192],{"type":58,"value":3032},{"type":45,"tag":245,"props":3194,"children":3195},{"style":3024},[3196],{"type":58,"value":3037},{"type":45,"tag":245,"props":3198,"children":3199},{"style":3007},[3200],{"type":58,"value":3042},{"type":45,"tag":245,"props":3202,"children":3204},{"class":2858,"line":3203},10,[3205,3209,3213,3217,3221],{"type":45,"tag":245,"props":3206,"children":3207},{"style":3024},[3208],{"type":58,"value":3050},{"type":45,"tag":245,"props":3210,"children":3211},{"style":3013},[3212],{"type":58,"value":3055},{"type":45,"tag":245,"props":3214,"children":3215},{"style":3024},[3216],{"type":58,"value":3060},{"type":45,"tag":245,"props":3218,"children":3219},{"style":3013},[3220],{"type":58,"value":3065},{"type":45,"tag":245,"props":3222,"children":3223},{"style":3007},[3224],{"type":58,"value":3042},{"type":45,"tag":245,"props":3226,"children":3228},{"class":2858,"line":3227},11,[3229,3233,3237,3242,3246,3251,3255],{"type":45,"tag":245,"props":3230,"children":3231},{"style":3024},[3232],{"type":58,"value":3077},{"type":45,"tag":245,"props":3234,"children":3235},{"style":3013},[3236],{"type":58,"value":3055},{"type":45,"tag":245,"props":3238,"children":3239},{"style":3024},[3240],{"type":58,"value":3241},"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\u002F",{"type":45,"tag":245,"props":3243,"children":3244},{"style":3007},[3245],{"type":58,"value":3152},{"type":45,"tag":245,"props":3247,"children":3248},{"style":3024},[3249],{"type":58,"value":3250},"\u002Fwarehouses",{"type":45,"tag":245,"props":3252,"children":3253},{"style":3013},[3254],{"type":58,"value":3065},{"type":45,"tag":245,"props":3256,"children":3257},{"style":3007},[3258],{"type":58,"value":3042},{"type":45,"tag":245,"props":3260,"children":3262},{"class":2858,"line":3261},12,[3263,3267,3271,3276,3280,3284],{"type":45,"tag":245,"props":3264,"children":3265},{"style":3024},[3266],{"type":58,"value":3102},{"type":45,"tag":245,"props":3268,"children":3269},{"style":3013},[3270],{"type":58,"value":3055},{"type":45,"tag":245,"props":3272,"children":3273},{"style":3024},[3274],{"type":58,"value":3275},"value[?displayName=='MyWarehouse'].id",{"type":45,"tag":245,"props":3277,"children":3278},{"style":3013},[3279],{"type":58,"value":3065},{"type":45,"tag":245,"props":3281,"children":3282},{"style":3024},[3283],{"type":58,"value":3120},{"type":45,"tag":245,"props":3285,"children":3286},{"style":3024},[3287],{"type":58,"value":3288}," tsv\n",{"type":45,"tag":245,"props":3290,"children":3292},{"class":2858,"line":3291},13,[3293],{"type":45,"tag":245,"props":3294,"children":3295},{"emptyLinePlaceholder":3164},[3296],{"type":58,"value":3167},{"type":45,"tag":245,"props":3298,"children":3300},{"class":2858,"line":3299},14,[3301],{"type":45,"tag":245,"props":3302,"children":3303},{"style":2998},[3304],{"type":58,"value":3305},"# For a Lakehouse SQL endpoint, pass its SQL analytics endpoint id — NOT the lakehouse item id\n",{"type":45,"tag":245,"props":3307,"children":3309},{"class":2858,"line":3308},15,[3310,3314,3318,3322,3326],{"type":45,"tag":245,"props":3311,"children":3312},{"style":3019},[3313],{"type":58,"value":1505},{"type":45,"tag":245,"props":3315,"children":3316},{"style":3024},[3317],{"type":58,"value":3027},{"type":45,"tag":245,"props":3319,"children":3320},{"style":3024},[3321],{"type":58,"value":3032},{"type":45,"tag":245,"props":3323,"children":3324},{"style":3024},[3325],{"type":58,"value":3037},{"type":45,"tag":245,"props":3327,"children":3328},{"style":3007},[3329],{"type":58,"value":3042},{"type":45,"tag":245,"props":3331,"children":3333},{"class":2858,"line":3332},16,[3334,3338,3342,3346,3350],{"type":45,"tag":245,"props":3335,"children":3336},{"style":3024},[3337],{"type":58,"value":3050},{"type":45,"tag":245,"props":3339,"children":3340},{"style":3013},[3341],{"type":58,"value":3055},{"type":45,"tag":245,"props":3343,"children":3344},{"style":3024},[3345],{"type":58,"value":3060},{"type":45,"tag":245,"props":3347,"children":3348},{"style":3013},[3349],{"type":58,"value":3065},{"type":45,"tag":245,"props":3351,"children":3352},{"style":3007},[3353],{"type":58,"value":3042},{"type":45,"tag":245,"props":3355,"children":3357},{"class":2858,"line":3356},17,[3358,3362,3366,3370,3374,3379,3383],{"type":45,"tag":245,"props":3359,"children":3360},{"style":3024},[3361],{"type":58,"value":3077},{"type":45,"tag":245,"props":3363,"children":3364},{"style":3013},[3365],{"type":58,"value":3055},{"type":45,"tag":245,"props":3367,"children":3368},{"style":3024},[3369],{"type":58,"value":3241},{"type":45,"tag":245,"props":3371,"children":3372},{"style":3007},[3373],{"type":58,"value":3152},{"type":45,"tag":245,"props":3375,"children":3376},{"style":3024},[3377],{"type":58,"value":3378},"\u002Flakehouses",{"type":45,"tag":245,"props":3380,"children":3381},{"style":3013},[3382],{"type":58,"value":3065},{"type":45,"tag":245,"props":3384,"children":3385},{"style":3007},[3386],{"type":58,"value":3042},{"type":45,"tag":245,"props":3388,"children":3390},{"class":2858,"line":3389},18,[3391,3395,3399,3404,3408,3412],{"type":45,"tag":245,"props":3392,"children":3393},{"style":3024},[3394],{"type":58,"value":3102},{"type":45,"tag":245,"props":3396,"children":3397},{"style":3013},[3398],{"type":58,"value":3055},{"type":45,"tag":245,"props":3400,"children":3401},{"style":3024},[3402],{"type":58,"value":3403},"value[?displayName=='MyLakehouse'].properties.sqlEndpointProperties.id",{"type":45,"tag":245,"props":3405,"children":3406},{"style":3013},[3407],{"type":58,"value":3065},{"type":45,"tag":245,"props":3409,"children":3410},{"style":3024},[3411],{"type":58,"value":3120},{"type":45,"tag":245,"props":3413,"children":3414},{"style":3024},[3415],{"type":58,"value":3288},{"type":45,"tag":1897,"props":3417,"children":3419},{"id":3418},"execute-a-query",[3420],{"type":58,"value":3421},"Execute a Query",{"type":45,"tag":1904,"props":3423,"children":3426},{"className":3424,"code":3425,"language":58,"meta":1909},[1907],"fabric-sqlendpoint-execute_query(\n  workspaceId: \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\",\n  itemId: \"11111111-2222-3333-4444-555555555555\",\n  query: \"CREATE TABLE dbo.FactSales (SaleID bigint NOT NULL, Amount decimal(19,4) NOT NULL)\"\n)\n",[3427],{"type":45,"tag":85,"props":3428,"children":3429},{"__ignoreMap":1909},[3430],{"type":58,"value":3425},{"type":45,"tag":50,"props":3432,"children":3433},{},[3434,3439],{"type":45,"tag":54,"props":3435,"children":3436},{},[3437],{"type":58,"value":3438},"No additional connection setup needed",{"type":58,"value":3440}," — authentication is handled transparently by the MCP protocol.",{"type":45,"tag":1897,"props":3442,"children":3444},{"id":3443},"verifying-ddldml-results",[3445],{"type":58,"value":3446},"Verifying DDL\u002FDML Results",{"type":45,"tag":50,"props":3448,"children":3449},{},[3450],{"type":58,"value":3451},"For DDL (CREATE\u002FALTER\u002FDROP), the tool returns success with metadata. Always verify:",{"type":45,"tag":1904,"props":3453,"children":3456},{"className":3454,"code":3455,"language":58,"meta":1909},[1907],"# After CREATE TABLE, verify it exists\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT table_schema, table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 'FactSales'\")\n\n# After DML, check row count\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT COUNT(*) AS row_count FROM dbo.FactSales\")\n",[3457],{"type":45,"tag":85,"props":3458,"children":3459},{"__ignoreMap":1909},[3460],{"type":58,"value":3455},{"type":45,"tag":1651,"props":3462,"children":3463},{},[],{"type":45,"tag":170,"props":3465,"children":3467},{"id":3466},"agentic-workflows",[3468],{"type":58,"value":1559},{"type":45,"tag":1897,"props":3470,"children":3472},{"id":3471},"schema-discovery-before-authoring",[3473],{"type":58,"value":3474},"Schema Discovery Before Authoring",{"type":45,"tag":50,"props":3476,"children":3477},{},[3478],{"type":58,"value":3479},"Before any write operation, discover the target schema:",{"type":45,"tag":1904,"props":3481,"children":3484},{"className":3482,"code":3483,"language":58,"meta":1909},[1907],"# 1. List tables\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT table_schema, table_name FROM INFORMATION_SCHEMA.TABLES ORDER BY 1,2\")\n\n# 2. Check columns\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT column_name, data_type, is_nullable FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='FactSales' ORDER BY ordinal_position\")\n\n# 3. Sample data\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT TOP 5 * FROM dbo.FactSales\")\n\n# 4. Check constraints\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT constraint_name, constraint_type FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE table_name='FactSales'\")\n\n# 5. Row counts\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT s.name AS [schema], t.name AS [table], SUM(p.rows) AS row_count FROM sys.tables t JOIN sys.schemas s ON t.schema_id=s.schema_id JOIN sys.partitions p ON t.object_id=p.object_id AND p.index_id IN (0,1) GROUP BY s.name, t.name ORDER BY row_count DESC\")\n\n# 6. Programmability objects\nfabric-sqlendpoint-execute_query(workspaceId, itemId, \"SELECT name, type_desc FROM sys.objects WHERE type IN ('V','FN','IF','P','TF') ORDER BY type_desc, name\")\n",[3485],{"type":45,"tag":85,"props":3486,"children":3487},{"__ignoreMap":1909},[3488],{"type":58,"value":3483},{"type":45,"tag":1897,"props":3490,"children":3492},{"id":3491},"agentic-workflow",[3493],{"type":58,"value":3494},"Agentic Workflow",{"type":45,"tag":119,"props":3496,"children":3497},{},[3498,3508,3526,3544,3568,3592],{"type":45,"tag":74,"props":3499,"children":3500},{},[3501,3506],{"type":45,"tag":54,"props":3502,"children":3503},{},[3504],{"type":58,"value":3505},"Discover",{"type":58,"value":3507}," → Run steps 1–4 to understand available tables\u002Fcolumns.",{"type":45,"tag":74,"props":3509,"children":3510},{},[3511,3516,3518,3524],{"type":45,"tag":54,"props":3512,"children":3513},{},[3514],{"type":58,"value":3515},"Sample",{"type":58,"value":3517}," → ",{"type":45,"tag":85,"props":3519,"children":3521},{"className":3520},[],[3522],{"type":58,"value":3523},"SELECT TOP 5",{"type":58,"value":3525}," on relevant tables.",{"type":45,"tag":74,"props":3527,"children":3528},{},[3529,3534,3536,3542],{"type":45,"tag":54,"props":3530,"children":3531},{},[3532],{"type":58,"value":3533},"Formulate",{"type":58,"value":3535}," → Select pattern from ",{"type":45,"tag":161,"props":3537,"children":3539},{"href":3538},"..\u002F..\u002Fcommon\u002FSQLDW-AUTHORING-CORE.md",[3540],{"type":58,"value":3541},"SQLDW-AUTHORING-CORE.md",{"type":58,"value":3543}," (Table DDL through Common Authoring Patterns).",{"type":45,"tag":74,"props":3545,"children":3546},{},[3547,3552,3554,3560,3562,3567],{"type":45,"tag":54,"props":3548,"children":3549},{},[3550],{"type":58,"value":3551},"Execute",{"type":58,"value":3553}," → Call ",{"type":45,"tag":85,"props":3555,"children":3557},{"className":3556},[],[3558],{"type":58,"value":3559},"fabric-sqlendpoint-execute_query(workspaceId, itemId, query)",{"type":58,"value":3561},". For multi-batch operations (e.g., CREATE PROCEDURE with BEGIN\u002FEND), use a single batch without ",{"type":45,"tag":85,"props":3563,"children":3565},{"className":3564},[],[3566],{"type":58,"value":2102},{"type":58,"value":1972},{"type":45,"tag":74,"props":3569,"children":3570},{},[3571,3576,3578,3584,3585,3590],{"type":45,"tag":54,"props":3572,"children":3573},{},[3574],{"type":58,"value":3575},"Verify",{"type":58,"value":3577}," → Query affected table (",{"type":45,"tag":85,"props":3579,"children":3581},{"className":3580},[],[3582],{"type":58,"value":3583},"SELECT COUNT(*)",{"type":58,"value":415},{"type":45,"tag":85,"props":3586,"children":3588},{"className":3587},[],[3589],{"type":58,"value":3523},{"type":58,"value":3591},").",{"type":45,"tag":74,"props":3593,"children":3594},{},[3595,3600],{"type":45,"tag":54,"props":3596,"children":3597},{},[3598],{"type":58,"value":3599},"Optionally follow up",{"type":58,"value":3601}," → Run additional queries to confirm schema changes.",{"type":45,"tag":1651,"props":3603,"children":3604},{},[],{"type":45,"tag":170,"props":3606,"children":3608},{"id":3607},"gotchas-rules-troubleshooting",[3609],{"type":58,"value":1608},{"type":45,"tag":50,"props":3611,"children":3612},{},[3613,3615,3619,3621,3627],{"type":58,"value":3614},"For full authoring gotchas: ",{"type":45,"tag":161,"props":3616,"children":3617},{"href":3538},[3618],{"type":58,"value":3541},{"type":58,"value":3620}," Authoring Gotchas and Troubleshooting.\nFor CLI-specific issues: ",{"type":45,"tag":161,"props":3622,"children":3624},{"href":3623},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md",[3625],{"type":58,"value":3626},"COMMON-CLI.md",{"type":58,"value":3628}," Gotchas & Troubleshooting (CLI-Specific).",{"type":45,"tag":1897,"props":3630,"children":3632},{"id":3631},"must-do",[3633],{"type":58,"value":3634},"MUST DO",{"type":45,"tag":70,"props":3636,"children":3637},{},[3638,3663,3680,3717,3746,3760,3792,3809,3825],{"type":45,"tag":74,"props":3639,"children":3640},{},[3641,3646,3648,3654,3656,3662],{"type":45,"tag":54,"props":3642,"children":3643},{},[3644],{"type":58,"value":3645},"Verify workspace has capacity before creating warehouse",{"type":58,"value":3647}," — call ",{"type":45,"tag":85,"props":3649,"children":3651},{"className":3650},[],[3652],{"type":58,"value":3653},"GET \u002Fv1\u002Fworkspaces\u002F{id}",{"type":58,"value":3655}," and check ",{"type":45,"tag":85,"props":3657,"children":3659},{"className":3658},[],[3660],{"type":58,"value":3661},"capacityId",{"type":58,"value":1972},{"type":45,"tag":74,"props":3664,"children":3665},{},[3666,3678],{"type":45,"tag":54,"props":3667,"children":3668},{},[3669,3671,3676],{"type":58,"value":3670},"Verify ",{"type":45,"tag":85,"props":3672,"children":3674},{"className":3673},[],[3675],{"type":58,"value":157},{"type":58,"value":3677}," MCP tool is available",{"type":58,"value":3679}," — check the tool list before the first operation. If unavailable, instruct the user to register the MCP server.",{"type":45,"tag":74,"props":3681,"children":3682},{},[3683,3701,3703,3708,3710,3716],{"type":45,"tag":54,"props":3684,"children":3685},{},[3686,3688,3693,3694,3699],{"type":58,"value":3687},"Discover ",{"type":45,"tag":85,"props":3689,"children":3691},{"className":3690},[],[3692],{"type":58,"value":1955},{"type":58,"value":2761},{"type":45,"tag":85,"props":3695,"children":3697},{"className":3696},[],[3698],{"type":58,"value":1962},{"type":58,"value":3700}," first",{"type":58,"value":3702}," — resolve the target Warehouse via ",{"type":45,"tag":85,"props":3704,"children":3706},{"className":3705},[],[3707],{"type":58,"value":543},{"type":58,"value":3709},"; the tool takes GUIDs, not an FQDN or ",{"type":45,"tag":85,"props":3711,"children":3713},{"className":3712},[],[3714],{"type":58,"value":3715},"-d \u003CDatabaseName>",{"type":58,"value":1972},{"type":45,"tag":74,"props":3718,"children":3719},{},[3720,3730,3732,3737,3739,3744],{"type":45,"tag":54,"props":3721,"children":3722},{},[3723,3728],{"type":45,"tag":85,"props":3724,"children":3726},{"className":3725},[],[3727],{"type":58,"value":527},{"type":58,"value":3729}," first (for discovery)",{"type":58,"value":3731}," — the ",{"type":45,"tag":85,"props":3733,"children":3735},{"className":3734},[],[3736],{"type":58,"value":543},{"type":58,"value":3738}," workspace\u002Fwarehouse lookups need an Azure CLI session. The ",{"type":45,"tag":85,"props":3740,"children":3742},{"className":3741},[],[3743],{"type":58,"value":1831},{"type":58,"value":3745}," MCP server itself ships headerless and authenticates via your MCP client's native Fabric session, not the Azure CLI token; no signed-in session → auth failure on either path.",{"type":45,"tag":74,"props":3747,"children":3748},{},[3749,3758],{"type":45,"tag":54,"props":3750,"children":3751},{},[3752],{"type":45,"tag":85,"props":3753,"children":3755},{"className":3754},[],[3756],{"type":58,"value":3757},"SET NOCOUNT ON;",{"type":58,"value":3759}," in scripts — suppresses row-count messages that corrupt output.",{"type":45,"tag":74,"props":3761,"children":3762},{},[3763,3768,3770,3775,3777,3783,3785,3790],{"type":45,"tag":54,"props":3764,"children":3765},{},[3766],{"type":58,"value":3767},"Send a single T-SQL batch per call",{"type":58,"value":3769}," — no ",{"type":45,"tag":85,"props":3771,"children":3773},{"className":3772},[],[3774],{"type":58,"value":2102},{"type":58,"value":3776}," separators and no ",{"type":45,"tag":85,"props":3778,"children":3780},{"className":3779},[],[3781],{"type":58,"value":3782},"-i file.sql",{"type":58,"value":3784},"; split multi-batch work (CREATE PROCEDURE, multi-step transactions) into separate ",{"type":45,"tag":85,"props":3786,"children":3788},{"className":3787},[],[3789],{"type":58,"value":157},{"type":58,"value":3791}," calls.",{"type":45,"tag":74,"props":3793,"children":3794},{},[3795,3800,3802,3808],{"type":45,"tag":54,"props":3796,"children":3797},{},[3798],{"type":58,"value":3799},"Label authoring queries",{"type":58,"value":3801}," with ",{"type":45,"tag":85,"props":3803,"children":3805},{"className":3804},[],[3806],{"type":58,"value":3807},"OPTION (LABEL = 'ETL_description')",{"type":58,"value":1972},{"type":45,"tag":74,"props":3810,"children":3811},{},[3812,3823],{"type":45,"tag":54,"props":3813,"children":3814},{},[3815,3817],{"type":58,"value":3816},"Use explicit ",{"type":45,"tag":85,"props":3818,"children":3820},{"className":3819},[],[3821],{"type":58,"value":3822},"CAST()",{"type":58,"value":3824}," in CTAS to control output types.",{"type":45,"tag":74,"props":3826,"children":3827},{},[3828,3833],{"type":45,"tag":54,"props":3829,"children":3830},{},[3831],{"type":58,"value":3832},"Keep transactions short",{"type":58,"value":3834}," — long transactions increase conflict window.",{"type":45,"tag":1897,"props":3836,"children":3838},{"id":3837},"avoid",[3839],{"type":58,"value":3840},"AVOID",{"type":45,"tag":70,"props":3842,"children":3843},{},[3844,3866,3905,3936,3952,3987,3997,4014,4031,4041,4051,4061],{"type":45,"tag":74,"props":3845,"children":3846},{},[3847,3857,3859,3864],{"type":45,"tag":54,"props":3848,"children":3849},{},[3850,3855],{"type":45,"tag":85,"props":3851,"children":3853},{"className":3852},[],[3854],{"type":58,"value":2102},{"type":58,"value":3856}," separators",{"type":58,"value":3858}," — the MCP tool accepts only a single T-SQL batch. Combine related DDL in one statement or call ",{"type":45,"tag":85,"props":3860,"children":3862},{"className":3861},[],[3863],{"type":58,"value":157},{"type":58,"value":3865}," multiple times.",{"type":45,"tag":74,"props":3867,"children":3868},{},[3869,3874,3876,3882,3883,3889,3890,3896,3898,3903],{"type":45,"tag":54,"props":3870,"children":3871},{},[3872],{"type":58,"value":3873},"sqlcmd meta-commands",{"type":58,"value":3875}," (",{"type":45,"tag":85,"props":3877,"children":3879},{"className":3878},[],[3880],{"type":58,"value":3881},":setvar",{"type":58,"value":415},{"type":45,"tag":85,"props":3884,"children":3886},{"className":3885},[],[3887],{"type":58,"value":3888},":r",{"type":58,"value":415},{"type":45,"tag":85,"props":3891,"children":3893},{"className":3892},[],[3894],{"type":58,"value":3895},"-i",{"type":58,"value":3897},") — not available in MCP tool. Inline all SQL in the ",{"type":45,"tag":85,"props":3899,"children":3901},{"className":3900},[],[3902],{"type":58,"value":1970},{"type":58,"value":3904}," parameter.",{"type":45,"tag":74,"props":3906,"children":3907},{},[3908,3919,3921,3927,3928,3934],{"type":45,"tag":54,"props":3909,"children":3910},{},[3911,3913],{"type":58,"value":3912},"Unbounded ",{"type":45,"tag":85,"props":3914,"children":3916},{"className":3915},[],[3917],{"type":58,"value":3918},"SELECT *",{"type":58,"value":3920}," — 10,000 row limit. Always use ",{"type":45,"tag":85,"props":3922,"children":3924},{"className":3923},[],[3925],{"type":58,"value":3926},"TOP N",{"type":58,"value":1941},{"type":45,"tag":85,"props":3929,"children":3931},{"className":3930},[],[3932],{"type":58,"value":3933},"WHERE",{"type":58,"value":3935}," to limit result sets.",{"type":45,"tag":74,"props":3937,"children":3938},{},[3939,3950],{"type":45,"tag":54,"props":3940,"children":3941},{},[3942,3944],{"type":58,"value":3943},"Singleton ",{"type":45,"tag":85,"props":3945,"children":3947},{"className":3946},[],[3948],{"type":58,"value":3949},"INSERT ... VALUES",{"type":58,"value":3951}," at scale — creates tiny Parquet files. Use INSERT...SELECT, CTAS, or COPY INTO.",{"type":45,"tag":74,"props":3953,"children":3954},{},[3955,3971,3973,3979,3980,3986],{"type":45,"tag":54,"props":3956,"children":3957},{},[3958,3964,3965],{"type":45,"tag":85,"props":3959,"children":3961},{"className":3960},[],[3962],{"type":58,"value":3963},"DROP TABLE IF EXISTS",{"type":58,"value":2831},{"type":45,"tag":85,"props":3966,"children":3968},{"className":3967},[],[3969],{"type":58,"value":3970},"CREATE TABLE",{"type":58,"value":3972}," to refresh — loses time-travel history. Use ",{"type":45,"tag":85,"props":3974,"children":3976},{"className":3975},[],[3977],{"type":58,"value":3978},"TRUNCATE TABLE",{"type":58,"value":2831},{"type":45,"tag":85,"props":3981,"children":3983},{"className":3982},[],[3984],{"type":58,"value":3985},"INSERT INTO",{"type":58,"value":1972},{"type":45,"tag":74,"props":3988,"children":3989},{},[3990,3995],{"type":45,"tag":54,"props":3991,"children":3992},{},[3993],{"type":58,"value":3994},"MERGE in production",{"type":58,"value":3996}," — GA, but table-level snapshot-conflict detection makes concurrent writers likely to fail. Prefer DELETE + INSERT when isolation matters.",{"type":45,"tag":74,"props":3998,"children":3999},{},[4000,4005,4007,4012],{"type":45,"tag":54,"props":4001,"children":4002},{},[4003],{"type":58,"value":4004},"ALTER COLUMN in production",{"type":58,"value":4006}," — in preview; prefer CTAS + ",{"type":45,"tag":85,"props":4008,"children":4010},{"className":4009},[],[4011],{"type":58,"value":2837},{"type":58,"value":4013}," for production-critical column-type changes (Schema Evolution).",{"type":45,"tag":74,"props":4015,"children":4016},{},[4017,4022,4024,4030],{"type":45,"tag":54,"props":4018,"children":4019},{},[4020],{"type":58,"value":4021},"Variables in CTAS",{"type":58,"value":4023}," — not allowed. Wrap in dynamic SQL: ",{"type":45,"tag":85,"props":4025,"children":4027},{"className":4026},[],[4028],{"type":58,"value":4029},"EXEC sp_executesql N'CREATE TABLE ...'",{"type":58,"value":1972},{"type":45,"tag":74,"props":4032,"children":4033},{},[4034,4039],{"type":45,"tag":54,"props":4035,"children":4036},{},[4037],{"type":58,"value":4038},"DML on Lakehouse\u002FMirrored DB SQLEP",{"type":58,"value":4040}," — read-only for table data. Only views\u002Ffuncs\u002Fprocs can be authored.",{"type":45,"tag":74,"props":4042,"children":4043},{},[4044,4049],{"type":45,"tag":54,"props":4045,"children":4046},{},[4047],{"type":58,"value":4048},"Concurrent UPDATE\u002FDELETE on same table",{"type":58,"value":4050}," — snapshot isolation conflicts at table level. Serialize writes.",{"type":45,"tag":74,"props":4052,"children":4053},{},[4054,4059],{"type":45,"tag":54,"props":4055,"children":4056},{},[4057],{"type":58,"value":4058},"Rapid-fire MCP calls",{"type":58,"value":4060}," — rate limit is 20 req\u002Fmin. Consolidate multiple statements into one batch where possible.",{"type":45,"tag":74,"props":4062,"children":4063},{},[4064,4069,4071,4077],{"type":45,"tag":54,"props":4065,"children":4066},{},[4067],{"type":58,"value":4068},"MARS",{"type":58,"value":4070}," — not supported. Remove ",{"type":45,"tag":85,"props":4072,"children":4074},{"className":4073},[],[4075],{"type":58,"value":4076},"MultipleActiveResultSets",{"type":58,"value":4078}," from connection strings.",{"type":45,"tag":1897,"props":4080,"children":4082},{"id":4081},"prefer",[4083],{"type":58,"value":4084},"PREFER",{"type":45,"tag":70,"props":4086,"children":4087},{},[4088,4110,4124,4137,4147,4167,4191,4201,4215,4228],{"type":45,"tag":74,"props":4089,"children":4090},{},[4091,4095,4097,4102,4103,4108],{"type":45,"tag":54,"props":4092,"children":4093},{},[4094],{"type":58,"value":2829},{"type":58,"value":4096}," over ",{"type":45,"tag":85,"props":4098,"children":4100},{"className":4099},[],[4101],{"type":58,"value":3970},{"type":58,"value":2831},{"type":45,"tag":85,"props":4104,"children":4106},{"className":4105},[],[4107],{"type":58,"value":2821},{"type":58,"value":4109}," — parallel, single-operation.",{"type":45,"tag":74,"props":4111,"children":4112},{},[4113,4122],{"type":45,"tag":54,"props":4114,"children":4115},{},[4116],{"type":45,"tag":85,"props":4117,"children":4119},{"className":4118},[],[4120],{"type":58,"value":4121},"INSERT ... SELECT",{"type":58,"value":4123}," over singleton INSERTs.",{"type":45,"tag":74,"props":4125,"children":4126},{},[4127,4135],{"type":45,"tag":54,"props":4128,"children":4129},{},[4130],{"type":45,"tag":85,"props":4131,"children":4133},{"className":4132},[],[4134],{"type":58,"value":2955},{"type":58,"value":4136}," for external file ingestion — highest throughput.",{"type":45,"tag":74,"props":4138,"children":4139},{},[4140,4145],{"type":45,"tag":54,"props":4141,"children":4142},{},[4143],{"type":58,"value":4144},"DELETE + INSERT",{"type":58,"value":4146}," over MERGE for upserts in production.",{"type":45,"tag":74,"props":4148,"children":4149},{},[4150,4158,4159,4165],{"type":45,"tag":54,"props":4151,"children":4152},{},[4153],{"type":45,"tag":85,"props":4154,"children":4156},{"className":4155},[],[4157],{"type":58,"value":3978},{"type":58,"value":4096},{"type":45,"tag":85,"props":4160,"children":4162},{"className":4161},[],[4163],{"type":58,"value":4164},"DELETE FROM",{"type":58,"value":4166}," without WHERE — faster, preserves history.",{"type":45,"tag":74,"props":4168,"children":4169},{},[4170,4175,4177,4182,4184,4189],{"type":45,"tag":54,"props":4171,"children":4172},{},[4173],{"type":58,"value":4174},"Consolidating related DDL",{"type":58,"value":4176}," into a single ",{"type":45,"tag":85,"props":4178,"children":4180},{"className":4179},[],[4181],{"type":58,"value":157},{"type":58,"value":4183}," call when no ",{"type":45,"tag":85,"props":4185,"children":4187},{"className":4186},[],[4188],{"type":58,"value":2102},{"type":58,"value":4190}," is required between statements.",{"type":45,"tag":74,"props":4192,"children":4193},{},[4194,4199],{"type":45,"tag":54,"props":4195,"children":4196},{},[4197],{"type":58,"value":4198},"CTAS + sp_rename",{"type":58,"value":4200}," for large-scale transforms instead of UPDATE.",{"type":45,"tag":74,"props":4202,"children":4203},{},[4204,4213],{"type":45,"tag":54,"props":4205,"children":4206},{},[4207,4212],{"type":45,"tag":85,"props":4208,"children":4210},{"className":4209},[],[4211],{"type":58,"value":157},{"type":58,"value":1698},{"type":58,"value":4214}," over sqlcmd for all T-SQL operations.",{"type":45,"tag":74,"props":4216,"children":4217},{},[4218,4226],{"type":45,"tag":54,"props":4219,"children":4220},{},[4221],{"type":45,"tag":85,"props":4222,"children":4224},{"className":4223},[],[4225],{"type":58,"value":3757},{"type":58,"value":4227}," prefix — reduces metadata noise in results.",{"type":45,"tag":74,"props":4229,"children":4230},{},[4231,4245],{"type":45,"tag":54,"props":4232,"children":4233},{},[4234,4239,4240],{"type":45,"tag":85,"props":4235,"children":4237},{"className":4236},[],[4238],{"type":58,"value":3926},{"type":58,"value":1941},{"type":45,"tag":85,"props":4241,"children":4243},{"className":4242},[],[4244],{"type":58,"value":3933},{"type":58,"value":4246}," clauses — stay within 10K row limit.",{"type":45,"tag":1897,"props":4248,"children":4250},{"id":4249},"troubleshooting",[4251],{"type":58,"value":4252},"TROUBLESHOOTING",{"type":45,"tag":177,"props":4254,"children":4255},{},[4256,4272],{"type":45,"tag":181,"props":4257,"children":4258},{},[4259],{"type":45,"tag":185,"props":4260,"children":4261},{},[4262,4267],{"type":45,"tag":189,"props":4263,"children":4264},{},[4265],{"type":58,"value":4266},"Symptom",{"type":45,"tag":189,"props":4268,"children":4269},{},[4270],{"type":58,"value":4271},"Fix",{"type":45,"tag":205,"props":4273,"children":4274},{},[4275,4288,4301,4314,4333,4346,4364,4377,4390,4403,4416,4429],{"type":45,"tag":185,"props":4276,"children":4277},{},[4278,4283],{"type":45,"tag":212,"props":4279,"children":4280},{},[4281],{"type":58,"value":4282},"Error 24556\u002F24706 snapshot conflict",{"type":45,"tag":212,"props":4284,"children":4285},{},[4286],{"type":58,"value":4287},"Serialize writes to same table; retry with backoff",{"type":45,"tag":185,"props":4289,"children":4290},{},[4291,4296],{"type":45,"tag":212,"props":4292,"children":4293},{},[4294],{"type":58,"value":4295},"COPY INTO auth error",{"type":45,"tag":212,"props":4297,"children":4298},{},[4299],{"type":58,"value":4300},"Grant Storage Blob Data Reader on ADLS; or SAS in CREDENTIAL",{"type":45,"tag":185,"props":4302,"children":4303},{},[4304,4309],{"type":45,"tag":212,"props":4305,"children":4306},{},[4307],{"type":58,"value":4308},"COPY INTO from OneLake fails",{"type":45,"tag":212,"props":4310,"children":4311},{},[4312],{"type":58,"value":4313},"Provision workspace identity; check firewall rules",{"type":45,"tag":185,"props":4315,"children":4316},{},[4317,4322],{"type":45,"tag":212,"props":4318,"children":4319},{},[4320],{"type":58,"value":4321},"CTAS unexpected types",{"type":45,"tag":212,"props":4323,"children":4324},{},[4325,4326,4331],{"type":58,"value":3816},{"type":45,"tag":85,"props":4327,"children":4329},{"className":4328},[],[4330],{"type":58,"value":3822},{"type":58,"value":4332}," in SELECT",{"type":45,"tag":185,"props":4334,"children":4335},{},[4336,4341],{"type":45,"tag":212,"props":4337,"children":4338},{},[4339],{"type":58,"value":4340},"Singleton INSERT poor perf",{"type":45,"tag":212,"props":4342,"children":4343},{},[4344],{"type":58,"value":4345},"Remediate: CTAS + drop + rename to consolidate Parquet",{"type":45,"tag":185,"props":4347,"children":4348},{},[4349,4359],{"type":45,"tag":212,"props":4350,"children":4351},{},[4352,4357],{"type":45,"tag":85,"props":4353,"children":4355},{"className":4354},[],[4356],{"type":58,"value":157},{"type":58,"value":4358}," tool not available",{"type":45,"tag":212,"props":4360,"children":4361},{},[4362],{"type":58,"value":4363},"MCP server not registered — user must add Fabric SQL Endpoint MCP server",{"type":45,"tag":185,"props":4365,"children":4366},{},[4367,4372],{"type":45,"tag":212,"props":4368,"children":4369},{},[4370],{"type":58,"value":4371},"HTTP 429 rate limit exceeded",{"type":45,"tag":212,"props":4373,"children":4374},{},[4375],{"type":58,"value":4376},"Wait 60s and retry; consolidate queries into fewer calls",{"type":45,"tag":185,"props":4378,"children":4379},{},[4380,4385],{"type":45,"tag":212,"props":4381,"children":4382},{},[4383],{"type":58,"value":4384},"Query timeout (300s)",{"type":45,"tag":212,"props":4386,"children":4387},{},[4388],{"type":58,"value":4389},"Break into smaller operations; for COPY INTO, check source file sizes",{"type":45,"tag":185,"props":4391,"children":4392},{},[4393,4398],{"type":45,"tag":212,"props":4394,"children":4395},{},[4396],{"type":58,"value":4397},"sp_rename on SQLEP fails",{"type":45,"tag":212,"props":4399,"children":4400},{},[4401],{"type":58,"value":4402},"Only available on Warehouse, not Lakehouse\u002FMirrored DB",{"type":45,"tag":185,"props":4404,"children":4405},{},[4406,4411],{"type":45,"tag":212,"props":4407,"children":4408},{},[4409],{"type":58,"value":4410},"Deploy drops\u002Frecreates table",{"type":45,"tag":212,"props":4412,"children":4413},{},[4414],{"type":58,"value":4415},"Avoid ALTER TABLE in DB project; apply manually",{"type":45,"tag":185,"props":4417,"children":4418},{},[4419,4424],{"type":45,"tag":212,"props":4420,"children":4421},{},[4422],{"type":58,"value":4423},"Only last result set returned",{"type":45,"tag":212,"props":4425,"children":4426},{},[4427],{"type":58,"value":4428},"MCP returns only the final SELECT. Split multi-SELECT batches into separate calls.",{"type":45,"tag":185,"props":4430,"children":4431},{},[4432,4437],{"type":45,"tag":212,"props":4433,"children":4434},{},[4435],{"type":58,"value":4436},"Binary columns unreadable",{"type":45,"tag":212,"props":4438,"children":4439},{},[4440,4442,4448],{"type":58,"value":4441},"Columns with ",{"type":45,"tag":85,"props":4443,"children":4445},{"className":4444},[],[4446],{"type":58,"value":4447},"[base64]",{"type":58,"value":4449}," suffix are base64-encoded. Decode if needed.",{"type":45,"tag":4451,"props":4452,"children":4453},"style",{},[4454],{"type":58,"value":4455},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":4457,"total":4650},[4458,4480,4501,4522,4537,4554,4565,4578,4593,4608,4625,4638],{"slug":4459,"name":4459,"fn":4460,"description":4461,"org":4462,"tags":4463,"stars":4477,"repoUrl":4478,"updatedAt":4479},"rushstack-best-practices","manage Rush monorepos with best practices","Provides best practices and guidance for working with Rush monorepos. Use when the user is working in a Rush-based repository, asks about Rush commands (install, update, build, rebuild), needs help with project selection, dependency management, build caching, subspace configuration, or troubleshooting Rush-specific issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4464,4467,4470,4471,4474],{"name":4465,"slug":4466,"type":15},"Engineering","engineering",{"name":4468,"slug":4469,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},{"name":4472,"slug":4473,"type":15},"Project Management","project-management",{"name":4475,"slug":4476,"type":15},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":4481,"name":4481,"fn":4482,"description":4483,"org":4484,"tags":4485,"stars":4498,"repoUrl":4499,"updatedAt":4500},"azure-ai-agents-persistent-dotnet","build AI agents with Azure .NET SDK","Azure AI Agents Persistent SDK for .NET. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools. Use for agent CRUD, conversation threads, streaming responses, function calling, file search, and code interpreter. Triggers: \"PersistentAgentsClient\", \"persistent agents\", \"agent threads\", \"agent runs\", \"streaming agents\", \"function calling agents .NET\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4486,4489,4492,4495],{"name":4487,"slug":4488,"type":15},".NET","net",{"name":4490,"slug":4491,"type":15},"Agents","agents",{"name":4493,"slug":4494,"type":15},"Azure","azure",{"name":4496,"slug":4497,"type":15},"LLM","llm",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-07-03T16:32:10.297433",{"slug":4502,"name":4502,"fn":4503,"description":4504,"org":4505,"tags":4506,"stars":4498,"repoUrl":4499,"updatedAt":4521},"azure-ai-anomalydetector-java","build anomaly detection applications with Java","Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate\u002Fmultivariate anomaly detection, time-series analysis, or AI-powered monitoring.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4507,4510,4511,4514,4517,4518],{"name":4508,"slug":4509,"type":15},"Analytics","analytics",{"name":4493,"slug":4494,"type":15},{"name":4512,"slug":4513,"type":15},"Data Analysis","data-analysis",{"name":4515,"slug":4516,"type":15},"Java","java",{"name":9,"slug":8,"type":15},{"name":4519,"slug":4520,"type":15},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":4523,"name":4523,"fn":4524,"description":4525,"org":4526,"tags":4527,"stars":4498,"repoUrl":4499,"updatedAt":4536},"azure-ai-contentsafety-java","build content moderation applications with Azure AI","Build content moderation applications with Azure AI Content Safety SDK for Java. Use when implementing text\u002Fimage analysis, blocklist management, or harm detection for hate, violence, sexual content, and self-harm.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4528,4531,4532,4533],{"name":4529,"slug":4530,"type":15},"AI Infrastructure","ai-infrastructure",{"name":4493,"slug":4494,"type":15},{"name":4515,"slug":4516,"type":15},{"name":4534,"slug":4535,"type":15},"Security","security","2026-07-07T06:53:31.293235",{"slug":4538,"name":4538,"fn":4539,"description":4540,"org":4541,"tags":4542,"stars":4498,"repoUrl":4499,"updatedAt":4553},"azure-ai-contentsafety-py","detect harmful content with Azure AI Content Safety","Azure AI Content Safety SDK for Python. Use for detecting harmful content in text and images with multi-severity classification.\nTriggers: \"azure-ai-contentsafety\", \"ContentSafetyClient\", \"content moderation\", \"harmful content\", \"text analysis\", \"image analysis\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4543,4544,4547,4548,4549,4552],{"name":4493,"slug":4494,"type":15},{"name":4545,"slug":4546,"type":15},"Compliance","compliance",{"name":4496,"slug":4497,"type":15},{"name":9,"slug":8,"type":15},{"name":4550,"slug":4551,"type":15},"Python","python",{"name":4534,"slug":4535,"type":15},"2026-07-18T05:14:23.017504",{"slug":4555,"name":4555,"fn":4556,"description":4557,"org":4558,"tags":4559,"stars":4498,"repoUrl":4499,"updatedAt":4564},"azure-ai-language-conversations-py","implement conversational language understanding with Python","Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4560,4561,4562,4563],{"name":4508,"slug":4509,"type":15},{"name":4493,"slug":4494,"type":15},{"name":4496,"slug":4497,"type":15},{"name":4550,"slug":4551,"type":15},"2026-07-31T05:54:29.068751",{"slug":4566,"name":4566,"fn":4567,"description":4568,"org":4569,"tags":4570,"stars":4498,"repoUrl":4499,"updatedAt":4577},"azure-ai-translation-text-py","translate text using Azure AI services","Azure AI Text Translation SDK for real-time text translation, transliteration, language detection, and dictionary lookup. Use for translating text content in applications.\nTriggers: \"text translation\", \"translator\", \"translate text\", \"transliterate\", \"TextTranslationClient\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4571,4574,4575,4576],{"name":4572,"slug":4573,"type":15},"API Development","api-development",{"name":4493,"slug":4494,"type":15},{"name":9,"slug":8,"type":15},{"name":4550,"slug":4551,"type":15},"2026-07-18T05:14:16.988376",{"slug":4579,"name":4579,"fn":4580,"description":4581,"org":4582,"tags":4583,"stars":4498,"repoUrl":4499,"updatedAt":4592},"azure-ai-vision-imageanalysis-py","analyze images with Azure AI Vision","Azure AI Vision Image Analysis SDK for captions, tags, objects, OCR, people detection, and smart cropping. Use for computer vision and image understanding tasks.\nTriggers: \"image analysis\", \"computer vision\", \"OCR\", \"object detection\", \"ImageAnalysisClient\", \"image caption\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4584,4585,4588,4591],{"name":4493,"slug":4494,"type":15},{"name":4586,"slug":4587,"type":15},"Computer Vision","computer-vision",{"name":4589,"slug":4590,"type":15},"Images","images",{"name":4550,"slug":4551,"type":15},"2026-07-18T05:14:18.007737",{"slug":4594,"name":4594,"fn":4595,"description":4596,"org":4597,"tags":4598,"stars":4498,"repoUrl":4499,"updatedAt":4607},"azure-appconfiguration-java","manage configuration with Azure App Configuration","Azure App Configuration SDK for Java. Centralized application configuration management with key-value settings, feature flags, and snapshots.\nTriggers: \"ConfigurationClient java\", \"app configuration java\", \"feature flag java\", \"configuration setting java\", \"azure config java\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4599,4600,4603,4606],{"name":4493,"slug":4494,"type":15},{"name":4601,"slug":4602,"type":15},"Configuration","configuration",{"name":4604,"slug":4605,"type":15},"Feature Flags","feature-flags",{"name":4515,"slug":4516,"type":15},"2026-07-03T16:32:01.278468",{"slug":4609,"name":4609,"fn":4610,"description":4611,"org":4612,"tags":4613,"stars":4498,"repoUrl":4499,"updatedAt":4624},"azure-cosmos-rust","build applications with Azure Cosmos DB","Azure Cosmos DB library for Rust (NoSQL API). Document CRUD, containers, and globally distributed data.\nTriggers: \"cosmos db rust\", \"CosmosClient rust\", \"document crud rust\", \"NoSQL rust\", \"partition key rust\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4614,4617,4618,4621],{"name":4615,"slug":4616,"type":15},"Cosmos DB","cosmos-db",{"name":20,"slug":21,"type":15},{"name":4619,"slug":4620,"type":15},"NoSQL","nosql",{"name":4622,"slug":4623,"type":15},"Rust","rust","2026-07-31T05:54:27.021432",{"slug":4626,"name":4626,"fn":4610,"description":4627,"org":4628,"tags":4629,"stars":4498,"repoUrl":4499,"updatedAt":4637},"azure-cosmos-ts","Azure Cosmos DB JavaScript\u002FTypeScript SDK (@azure\u002Fcosmos) for data plane operations. Use for CRUD operations on documents, queries, bulk operations, and container management. Triggers: \"Cosmos DB\", \"@azure\u002Fcosmos\", \"CosmosClient\", \"document CRUD\", \"NoSQL queries\", \"bulk operations\", \"partition key\", \"container.items\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4630,4631,4632,4633,4634],{"name":4615,"slug":4616,"type":15},{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":4619,"slug":4620,"type":15},{"name":4635,"slug":4636,"type":15},"TypeScript","typescript","2026-07-03T16:31:19.368382",{"slug":4639,"name":4639,"fn":4640,"description":4641,"org":4642,"tags":4643,"stars":4498,"repoUrl":4499,"updatedAt":4649},"azure-data-tables-java","build table storage applications with Java","Build table storage applications with Azure Tables SDK for Java. Use when working with Azure Table Storage or Cosmos DB Table API for NoSQL key-value data, schemaless storage, or structured data at scale.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4644,4645,4646,4647,4648],{"name":4493,"slug":4494,"type":15},{"name":4615,"slug":4616,"type":15},{"name":20,"slug":21,"type":15},{"name":4515,"slug":4516,"type":15},{"name":4619,"slug":4620,"type":15},"2026-05-13T06:14:17.582229",267,{"items":4652,"total":4754},[4653,4664,4683,4699,4715,4729,4743],{"slug":66,"name":66,"fn":4654,"description":4655,"org":4656,"tags":4657,"stars":28,"repoUrl":29,"updatedAt":4663},"check for Fabric skill marketplace updates","Check an installed skills-for-fabric plugin bundle or git clone for updates, show the matching changelog, and provide host-appropriate update guidance. Use when the user wants to: (1) check for skill updates, (2) see what changed, (3) verify the installed version. Triggers: \"check for updates\", \"am I up to date\", \"what version\", \"update skills\", \"show changelog\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4658,4659,4660],{"name":9,"slug":8,"type":15},{"name":23,"slug":24,"type":15},{"name":4661,"slug":4662,"type":15},"Operations","operations","2026-07-24T05:41:25.892114",{"slug":4665,"name":4665,"fn":4666,"description":4667,"org":4668,"tags":4669,"stars":28,"repoUrl":29,"updatedAt":4682},"databricks-migration","migrate Databricks notebooks to Microsoft Fabric","Port Databricks notebooks and jobs to Microsoft Fabric. Provides an exhaustive dbutils to notebookutils substitution table: fs operations (runtime mounts or OneLake Shortcuts), secret scope to Key Vault URL conversion, notebook run and exit, widget replacement with parameter-tagged cells, and library install replacement with Fabric Environments. Covers Unity Catalog three-level namespace reduction to Lakehouse two-level schemas, DBFS path conversion to OneLake, Databricks Jobs to Spark Job Definitions, MLflow tracking URI removal, and Photon to Native Execution Engine substitution. Use when the user wants to: (1) replace dbutils with notebookutils, (2) collapse Unity Catalog namespaces to Lakehouse schemas, (3) convert Databricks Jobs or Delta Live Tables. Triggers: \"migrate from databricks\", \"databricks to fabric\", \"dbutils to notebookutils\", \"dbutils fabric\", \"unity catalog migration\", \"dbfs to onelake\", \"databricks notebook migration\", \"delta live tables fabric\", \"photon native execution\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4670,4671,4674,4675,4676,4679],{"name":13,"slug":14,"type":15},{"name":4672,"slug":4673,"type":15},"Databricks","databricks",{"name":9,"slug":8,"type":15},{"name":23,"slug":24,"type":15},{"name":4677,"slug":4678,"type":15},"Migration","migration",{"name":4680,"slug":4681,"type":15},"Notebooks","notebooks","2026-07-24T05:41:22.914341",{"slug":4684,"name":4684,"fn":4685,"description":4686,"org":4687,"tags":4688,"stars":28,"repoUrl":29,"updatedAt":4698},"dataflows-authoring-cli","manage Microsoft Fabric Dataflows via CLI","Create, update, delete, and refresh Fabric Dataflows Gen2 with write-side CLI via Fabric APIs. Build mashup.pq and queryMetadata.json, preview candidate M with executeQuery\u002FcustomMashupDocument, bind connections, and configure output destinations. For saved query execution or refresh-status reads, use `dataflows-consumption-cli`. If a request explicitly insists on the Dataflows consumption or read-only path for a mutation, do not route here; let consumption refuse before any separately confirmed authoring handoff. Triggers: \"create dataflow\", \"update dataflow\", \"delete dataflow\", \"trigger dataflow refresh\", \"preview Power Query M\", \"preview before save\", \"customMashupDocument\", \"create Fabric data source connection\", \"create SQL Server source REST\", \"POST \u002Fv1\u002Fconnections\", \"supportedConnectionTypes\", \"passwordReference\", \"bind connection\", \"dataflow output destination\", \"dataflow write to lakehouse\", \"dataflow write to warehouse\", \"dataflow write to ADX\", \"DataDestinations annotation\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4689,4690,4691,4694,4695],{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"name":4692,"slug":4693,"type":15},"Data Pipeline","data-pipeline",{"name":23,"slug":24,"type":15},{"name":4696,"slug":4697,"type":15},"REST API","rest-api","2026-07-31T05:54:59.059517",{"slug":4700,"name":4700,"fn":4701,"description":4702,"org":4703,"tags":4704,"stars":28,"repoUrl":29,"updatedAt":4714},"e2e-medallion-architecture","implement Medallion Architecture in Microsoft Fabric","Plan and implement end-to-end Microsoft Fabric data platforms and Medallion Architecture (Bronze\u002FSilver\u002FGold) lakehouse patterns using PySpark, Delta Lake, Lakehouse\u002FWarehouse items, Fabric Pipelines, and semantic-model handoff. Use when the user wants to: (1) design a Bronze\u002FSilver\u002FGold data lakehouse, (2) plan an ingestion-to-semantic-model Fabric data platform, (3) set up multi-layer workspaces with lakehouses for each tier, (4) build ingestion-to-analytics pipelines with data quality enforcement, (5) orchestrate Bronze-to-Silver-to-Gold flows via notebooks. For natural-language business questions over existing Power BI report data, use `fabriciq`. Triggers: \"medallion architecture\", \"bronze silver gold\", \"lakehouse layers\", \"e2e data pipeline\", \"end-to-end lakehouse\", \"data lakehouse pattern\", \"multi-layer lakehouse\", \"build medallion\", \"setup medallion\", \"end-to-end Fabric data platform\", \"bronze silver gold platform\", \"ingestion semantic model platform\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4705,4708,4709,4710,4711],{"name":4706,"slug":4707,"type":15},"Architecture","architecture",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":23,"slug":24,"type":15},{"name":4712,"slug":4713,"type":15},"PySpark","pyspark","2026-07-31T05:54:57.038396",{"slug":4716,"name":4716,"fn":4717,"description":4718,"org":4719,"tags":4720,"stars":28,"repoUrl":29,"updatedAt":4728},"eventhouse-authoring-cli","manage Fabric Eventhouse and KQL databases","Execute KQL management commands (table management, ingestion, policies, functions, materialized views) against Fabric Eventhouse and KQL Databases via CLI. Use when the user wants to:\n  1. Create or alter KQL tables, columns, or functions\n  2. Ingest data into an Eventhouse (inline, from storage, streaming)\n  3. Configure retention, caching, or partitioning policies\n  4. Create or manage materialized views and update policies\n  5. Manage data mappings for ingestion pipelines\n  6. Deploy KQL schema via scripts\nTriggers: \"create kql table\", \"kql ingestion\", \"ingest into eventhouse\", \"kql function\", \"materialized view\", \"kql retention policy\", \"eventhouse schema\", \"kql authoring\", \"create eventhouse table\", \"kql mapping\"\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4721,4722,4725,4726,4727],{"name":20,"slug":21,"type":15},{"name":4723,"slug":4724,"type":15},"KQL","kql",{"name":9,"slug":8,"type":15},{"name":23,"slug":24,"type":15},{"name":4661,"slug":4662,"type":15},"2026-04-06T18:36:51.340409",{"slug":4730,"name":4730,"fn":4731,"description":4732,"org":4733,"tags":4734,"stars":28,"repoUrl":29,"updatedAt":4742},"eventhouse-consumption-cli","query Fabric Eventhouse with KQL","Run KQL queries against Fabric Eventhouse for real-time intelligence and time-series analytics using `az rest` against the Kusto REST API. Covers KQL operators (where, summarize, join, render), Eventhouse schema discovery (.show tables), time-series patterns with bin(), and ingestion monitoring. Use when the user wants to:\n  1. Run read-only KQL queries against an Eventhouse or KQL Database\n  2. Discover Eventhouse table schema and metadata\n  3. Analyse real-time or time-series data with KQL operators\n  4. Monitor ingestion health and active KQL queries\n  5. Export KQL results to JSON\nTriggers: \"kql query\", \"kusto query\", \"eventhouse query\", \"kql database\", \"real-time intelligence\", \"time-series kql\", \"query eventhouse\", \"explore eventhouse\", \"show tables kql\"\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4735,4736,4737,4738,4739],{"name":4508,"slug":4509,"type":15},{"name":4723,"slug":4724,"type":15},{"name":9,"slug":8,"type":15},{"name":23,"slug":24,"type":15},{"name":4740,"slug":4741,"type":15},"Real-Time Intelligence","real-time-intelligence","2026-04-06T18:36:45.018807",{"slug":4744,"name":4744,"fn":4745,"description":4746,"org":4747,"tags":4748,"stars":28,"repoUrl":29,"updatedAt":4753},"eventstream-consumption-cli","monitor Fabric Eventstream ingestion pipelines","List, inspect, and monitor Fabric Eventstream real-time ingestion pipelines via the Items REST API. Discover Eventstreams across workspaces, decode base64 graph topologies tracing event flow from source through operators to destination nodes. Validate connection IDs, wiring, retention policies (1-90 days), and throughput levels. Retrieve Custom Endpoint Kafka credentials via Topology API. **Invoke this skill** to: (1) list Eventstreams, (2) inspect Eventstream topology showing sources and destinations, (3) validate Eventstream configurations, (4) check Eventstream retention policy and throughput level, (5) get connection strings. Triggers: \"list eventstreams\", \"inspect eventstream\", \"describe eventstream topology\", \"eventstream operator nodes\", \"eventstream sources and destinations\", \"eventstream health\", \"eventstream status\", \"eventstream configuration\", \"eventstream retention\", \"eventstream throughput level\", \"eventstream connection string\", \"custom endpoint credentials\", \"check eventstream\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4749,4750,4751,4752],{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"name":23,"slug":24,"type":15},{"name":4519,"slug":4520,"type":15},"2026-07-31T05:55:03.045486",19]