Views¶
Manage SQL views on Microsoft Fabric Data Warehouses and SQL Analytics Endpoints.
Targets: Data Warehouse / SQL Analytics Endpoint
CLI¶
views columns¶
Targets: Data Warehouse / SQL Analytics Endpoint
List the columns of a view, including name, formatted data type, nullability, ordinal position, collation, identity, and computed flags.
Synopsis
QUALIFIED_NAME must be a dot-separated schema.view_name string, e.g. dbo.vw_sales.
Example
ordinal name data_type nullable is_identity is_computed collation_name
------- ------ ------------ -------- ----------- ----------- ----------------------------
1 id INT False False False
2 amount DECIMAL(18,2) True False False
views count¶
Targets: Data Warehouse / SQL Analytics Endpoint
Return the total row count of a view using SELECT COUNT_BIG(*).
Use --as-of or --ago to count rows as they were at an earlier point in time (time travel). The same retention window applies as for views read.
Synopsis
| Option | Description |
|---|---|
--as-of ISO8601 |
Count rows as they were at this UTC timestamp. Mutually exclusive with --ago. |
--ago DURATION |
Count rows as they were this duration ago (e.g. 1h, 90m, 2d). Mutually exclusive with --as-of. |
Example
# Point-in-time row count
fdw -w MyWorkspace --json views count SalesWH dbo.vw_sales --as-of 2024-03-15T10:00:00Z
fdw -w MyWorkspace --json views count SalesWH dbo.vw_sales --ago 1h
views export¶
Targets: Data Warehouse / SQL Analytics Endpoint
Export the full contents of a view to a local file in Parquet, CSV, or JSON format.
The output format is inferred from the --output extension (.parquet, .csv, .json, .pq). Use --format to override.
Memory caveat: the full result set is loaded into the Python process before writing. Ensure sufficient RAM, or use --limit to export a sample only. A streaming variant is a planned future follow-up.
Use --as-of or --ago to export the view's data as it was at an earlier point in time (time travel). The view definition itself is not affected; only the underlying data is time-travelled. The same retention window applies as for views read.
By default, if the output file already exists it is overwritten. Pass --no-overwrite to fail instead.
Synopsis
| Option | Description | Default |
|---|---|---|
--output PATH |
Required. Destination file path. | |
--format {csv\|json\|parquet} |
Output format. Inferred from extension when omitted. | inferred |
--limit N |
Export at most N rows (sampling). Omit for full export. | |
--no-overwrite |
Fail if --output already exists. |
overwrite |
--as-of ISO8601 |
Export as it was at this UTC timestamp. Mutually exclusive with --ago. |
|
--ago DURATION |
Export as it was this duration ago (e.g. 1h, 90m, 2d). Mutually exclusive with --as-of. |
Example
# Full export to Parquet (format inferred from extension)
fdw -w MyWorkspace views export SalesWH dbo.vw_sales --output vw_sales.parquet
# Sample 200 rows as CSV
fdw -w MyWorkspace views export SalesWH dbo.vw_sales --output sample.csv --limit 200
# Point-in-time export
fdw -w MyWorkspace views export SalesWH dbo.vw_sales --output snapshot.parquet --ago 2d
# JSON output (machine-readable)
fdw -w MyWorkspace --json views export SalesWH dbo.vw_sales --output out.parquet
views create¶
Targets: Data Warehouse / SQL Analytics Endpoint
Create a new SQL view.
Synopsis
| Option | Description |
|---|---|
--name SCHEMA.VIEW |
Required. Qualified view name (e.g. dbo.vw_sales). |
--select TEXT |
Inline SELECT statement for the view body. |
--from-file PATH |
Path to a .sql file containing the SELECT statement. |
Exactly one of --select or --from-file must be provided.
Example
fdw -w MyWorkspace views create SalesWH \
--name dbo.vw_recent \
--select "SELECT id, amount FROM dbo.sales WHERE sale_date >= '2026-01-01'"
views drop¶
Targets: Data Warehouse / SQL Analytics Endpoint
Drop a SQL view. You will be asked to confirm unless --yes is passed.
Synopsis
Example
views get¶
Targets: Data Warehouse / SQL Analytics Endpoint
Get the full definition of a single view.
Synopsis
QUALIFIED_NAME must be a dot-separated schema.view_name string, e.g. dbo.vw_sales.
Example
schema_name dbo
name vw_sales
qualified_name dbo.vw_sales
created 2026-01-10T08:00:00Z
modified 2026-06-01T12:00:00Z
definition SELECT id, amount FROM dbo.sales
views list¶
Targets: Data Warehouse / SQL Analytics Endpoint
List all views on a warehouse or SQL Analytics Endpoint. Pass --schema to filter to a single schema.
Synopsis
| Option | Description |
|---|---|
--schema TEXT |
Only list views in this schema. |
Example
schema_name name created modified
------------ ------------ --------------------- ---------------------
dbo vw_sales 2026-01-10T08:00:00Z 2026-06-01T12:00:00Z
dbo vw_monthly 2026-02-01T09:00:00Z 2026-05-15T14:00:00Z
views read¶
Targets: Data Warehouse / SQL Analytics Endpoint
Read up to --count rows from a view and emit them as JSON (default), CSV, or Parquet.
CSV and Parquet formats require --output. JSON is emitted to stdout by default.
Use --as-of or --ago to read the view as it was at an earlier point in time (time travel). The data visible through the view is time-travelled; the view definition itself is not affected. Timestamps outside the Fabric retention window (1-120 days, default 30) error server-side.
Synopsis
| Option | Description | Default |
|---|---|---|
--count N |
Maximum rows to return. | 10 |
--format {json\|csv\|parquet} |
Output format. | json |
--output PATH |
Write to file instead of stdout. Required for csv and parquet. |
|
--as-of ISO8601 |
Read the view as it was at this UTC timestamp. Mutually exclusive with --ago. |
|
--ago DURATION |
Read the view as it was this duration ago (e.g. 1h, 90m, 2d). Mutually exclusive with --as-of. |
Example
# Point-in-time read
fdw -w MyWorkspace views read SalesWH dbo.vw_sales --as-of 2024-03-15T10:00:00Z
fdw -w MyWorkspace views read SalesWH dbo.vw_sales --ago 2d
views rename¶
Targets: Data Warehouse / SQL Analytics Endpoint
Rename a SQL view via sp_rename. The new name must be an unqualified (bare) identifier - sp_rename cannot move a view to a different schema.
Synopsis
QUALIFIED_NAME is the current dot-separated schema.view_name.
| Option | Description |
|---|---|
--new-name TEXT |
Required. New bare view name (no schema prefix). |
Example
views update¶
Targets: Data Warehouse / SQL Analytics Endpoint
Redefine an existing view using CREATE OR ALTER VIEW.
Synopsis
QUALIFIED_NAME is the dot-separated schema.view_name to update.
| Option | Description |
|---|---|
--select TEXT |
Inline SELECT statement for the new view body. |
--from-file PATH |
Path to a .sql file containing the new SELECT statement. |
Exactly one of --select or --from-file must be provided.
Example
fdw -w MyWorkspace views update SalesWH dbo.vw_recent \
--select "SELECT id, amount, region FROM dbo.sales WHERE sale_date >= '2026-01-01'"
MCP tools¶
count_view_rows¶
Targets: Data Warehouse / SQL Analytics Endpoint
Return the total row count of a view via SELECT COUNT_BIG(*).
Supports time-travel counts via as_of: supply an ISO-8601 UTC timestamp to count rows as they were at that point in time. The same retention window applies as for read_view.
Parameters:
workspace(str): workspace name or GUID.item(str): warehouse or SQL analytics endpoint name or GUID.qualified_name(str): dot-separated schema and view name, e.g.dbo.vw_sales.as_of(str, optional): ISO-8601 UTC timestamp for a point-in-time count. Omit to count the latest data.
Returns: { "schema": str, "name": str, "row_count": int }: the schema name, view name, and total row count.
create_view¶
Targets: Data Warehouse / SQL Analytics Endpoint
Create a new SQL view.
Parameters:
workspace(str): workspace name or GUID.item(str): warehouse or SQL analytics endpoint name or GUID.qualified_name(str): dot-separated schema and view name, e.g.dbo.vw_sales.select_body(str): the SELECT statement that forms the view body; executed verbatim as DDL.
Returns: View: the newly-created view object (fetched after DDL, includes definition).
drop_view¶
Targets: Data Warehouse / SQL Analytics Endpoint
Drop a SQL view.
Parameters:
workspace(str): workspace name or GUID.item(str): warehouse or SQL analytics endpoint name or GUID.qualified_name(str): dot-separated schema and view name, e.g.dbo.vw_sales.
Returns: { "dropped": true }: confirmation.
get_view¶
Targets: Data Warehouse / SQL Analytics Endpoint
Fetch the full definition of a single SQL view.
Parameters:
workspace(str): workspace name or GUID.item(str): warehouse or SQL analytics endpoint name or GUID.qualified_name(str): dot-separated schema and view name, e.g.dbo.vw_sales.
Returns: View: single view object with definition populated from sys.sql_modules.
get_view_columns¶
Targets: Data Warehouse / SQL Analytics Endpoint
Return column metadata for a SQL view via sys.columns. Works on both Fabric Data Warehouses and SQL Analytics Endpoints.
Parameters:
workspace(str): workspace name or GUID.item(str): warehouse or SQL analytics endpoint name or GUID.qualified_name(str): dot-separated view name, e.g.dbo.vw_sales.
Returns: list[dict]: one dict per column, each containing:
ordinal(int): 1-based column position (column_id).name(str): column name.data_type(str): formatted T-SQL type string, e.g.INT,NVARCHAR(MAX),DECIMAL(18,2).nullable(bool): whether the column allowsNULL.collation_name(str | null): collation name, if applicable.is_identity(bool): whether the column is an identity column.is_computed(bool): whether the column is a computed column.
Results are ordered by ordinal position. Raises a ToolError if the view does not exist.
list_views¶
Targets: Data Warehouse / SQL Analytics Endpoint
List SQL views on a warehouse or SQL Analytics Endpoint, optionally filtered to a single schema.
Parameters:
workspace(str): workspace name or GUID.item(str): warehouse or SQL analytics endpoint name or GUID.schema(str | null, optional): when provided, only views in this schema are returned; must be a valid SQL identifier.
Returns: list[View]: array of view objects, each with schema_name, name, qualified_name, created, modified, and definition (always null for list results).
read_view¶
Targets: Data Warehouse / SQL Analytics Endpoint
Return up to count rows from a view as JSON-serialisable columns and rows.
Supports time-travel reads via as_of: supply an ISO-8601 UTC timestamp to read the view as it was at that point in time. The Fabric retention window is 1-120 days (default 30); timestamps outside the window error server-side.
Parameters:
workspace(str): workspace name or GUID.item(str): warehouse or SQL analytics endpoint name or GUID.qualified_name(str): dot-separated schema and view name, e.g.dbo.vw_sales.count(int, default10): maximum rows to return.as_of(str | null, optional): ISO-8601 UTC timestamp for a point-in-time read, e.g.2024-03-15T10:00:00Z. Omit to read the latest data.
Returns: { "columns": list[str], "rows": list[list] }: column names and row arrays.
rename_view¶
Targets: Data Warehouse / SQL Analytics Endpoint
Rename a SQL view via sp_rename. Works on both Data Warehouses and SQL Analytics Endpoints. The new name must be a bare (unqualified) identifier - sp_rename cannot move a view across schemas.
Parameters:
workspace(str): workspace name or GUID.item(str): warehouse or SQL analytics endpoint name or GUID.qualified_name(str): current dot-separated qualified view name, e.g.dbo.vw_sales.new_name(str): new bare view name (no schema prefix), e.g.vw_revenue.
Returns: View: the updated view object (fetched after rename, includes definition).
update_view¶
Targets: Data Warehouse / SQL Analytics Endpoint
Redefine an existing SQL view using CREATE OR ALTER VIEW.
Parameters:
workspace(str): workspace name or GUID.item(str): warehouse or SQL analytics endpoint name or GUID.qualified_name(str): dot-separated schema and view name, e.g.dbo.vw_sales.select_body(str): the new SELECT statement; executed verbatim as DDL.
Returns: View: the updated view object (fetched after DDL, includes definition).