The SNOWCONVERT_ AI database¶
AIM DMV stores workflow definitions, task queue state, migration progress, and validation results in a Snowflake metadata database. By default this database is named SNOWCONVERT_AI. The Orchestrator creates and updates it on startup.
Use this database to monitor migration and validation workflows, inspect errors and warnings, and manage workflow lifecycle (pause, resume, cancel, retry). You can rename the database and schemas through Orchestrator configuration if your account requires a different name.
Schemas¶
| Schema | Purpose |
|---|---|
DATA_MIGRATION | Workflows, task queue, migration table and partition metadata, workflow management procedures, and migration monitoring views. Validation workflows also register here; both workflow types share WORKFLOW and TASK_QUEUE. |
DATA_VALIDATION | Validation table and partition metadata, L1/L2/L3 result tables, and validation monitoring views. |
COMMON | Internal schema migration tracking (not customer-facing workflow data). |
TEMP | Transient Snowpipe stage and pipe objects used during migration. |
Tables and views¶
When querying any object below, filter by WORKFLOW_ID to scope results to a single workflow. Other useful filter columns include TABLE_METADATA_ID, PARTITION_NUMBER, RESULT, and STATUS.
DATA_ MIGRATION schema¶
Tables¶
| Object | Purpose |
|---|---|
WORKFLOW | One row per migration or validation workflow (configuration, status, affinity, lifecycle timestamps). |
TASK_QUEUE | Pending and in-progress tasks for the Orchestrator and Workers. |
TABLE_METADATA | Per-workflow registry of source tables being migrated. |
PARTITION_METADATA | Per-partition migration progress (boundaries, row counts, status). |
Views¶
| Object | Purpose |
|---|---|
TABLE_PROGRESS | Per-table partition rollup (extraction, loading, completed, and failed counts). |
TABLE_PROGRESS_WITH_EXAMPLE_ERROR | TABLE_PROGRESS plus a sample error or warning message per table. |
DATA_MIGRATION_ERROR | First failed task error per workflow, table, and partition. |
DATA_MIGRATION_WARNING | Non-fatal migration warnings (for example type fallbacks). |
DATA_MIGRATION_WORKFLOW | Filtered view of WORKFLOW for data-migration workflows only. |
DATA_VALIDATION_WORKFLOW | Filtered view of WORKFLOW for data-validation workflows, with L1/L2/L3 rollups. |
Dashboard¶
| Object | Purpose |
|---|---|
DATA_MIGRATION_DASHBOARD | Streamlit app for table-centric migration monitoring (Tables, Errors, Overview tabs). |
DATA_ VALIDATION schema¶
Tables¶
| Object | Purpose |
|---|---|
TABLE_METADATA | Per-workflow registry of validated tables and views (source and target identifiers, configuration). |
PARTITION_METADATA | Validation partition boundaries and row counts per table. |
SCHEMA_VALIDATION_RESULTS | L1 schema comparison results (column existence, types, ordinals, and similar). |
METRICS_VALIDATION_RESULTS | L2 metrics comparison results per partition. |
ROW_VALIDATION_RESULTS | L3 per-partition row comparison results. The RESULT column includes MISMATCH, POSSIBLE_MISMATCH (provisional, pending accepted-transformation reconcile), NOT_FOUND_SOURCE, NOT_FOUND_TARGET, DUPLICATE_SOURCE, DUPLICATE_TARGET, and DUPLICATE_BOTH_SIDES. See Validation levels and result codes for each code’s meaning. |
ROW_VALIDATION_SUMMARY | L3 per-table or per-partition summary (matching vs differing chunks). |
CELL_VALIDATION_RESULTS | L3 cell-level diffs (row index, column, source vs target values). |
Views¶
| Object | Purpose |
|---|---|
TABLE_PROGRESS | Per-table validation rollup with L1/L2/L3 pass flags. |
TABLE_PROGRESS_DETAIL | Per-table partition-level L2/L3 status counts. |
PARTITION_PROGRESS | Derived L1/L2/L3 and overall validation status per partition. |
DATA_VALIDATION_ERROR | Failed or abandoned validation tasks with error messages (distinct from row-level MISMATCH results). |
DATA_VALIDATION_WARNING | Non-fatal validation warnings (unsupported types, metric exclusions). |
Dashboard¶
| Object | Purpose |
|---|---|
DATA_VALIDATION_DASHBOARD | Streamlit app for validation monitoring (Tables, Schema, Metrics, Rows, Cell, Errors tabs). |
Managing workflow lifecycle¶
You can pause, resume, retry failed or abandoned tasks, or cancel migration and validation workflows. Prefer asking the Snowflake AIM Agent for Data Warehouses in natural language. Use the SnowConvert AI CLI or the stored procedures below when you want to drive the same actions yourself.
Prefer the Snowflake AIM Agent for Data Warehouses¶
Tell the agent what you want done. It resolves the workflow and runs the matching lifecycle action for you.
Prompts:
You can also ask it to pause or cancel a single table inside a workflow when you don’t want to stop the whole run.
SnowConvert AI CLI¶
On the manual CLI path, use scai data migrate pause|resume|cancel and scai data validate pause|resume|cancel with the workflow name. See Data migration (CLI) and Data validation (CLI). Retrying failed or abandoned tasks is available through the Snowflake AIM Agent for Data Warehouses or the RETRY_WORKFLOW procedure below.
Stored procedures¶
These procedures in SNOWCONVERT_AI.DATA_MIGRATION apply to both migration and validation workflows. Replace <workflow_id> with the integer WORKFLOW_ID from the WORKFLOW table (see Find your latest workflow).
PAUSE_TABLE, RESUME_TABLE, and CANCEL_TABLE leave the overall workflow status unchanged. CANCEL_WORKFLOW does not roll back rows already loaded into Snowflake.
Internal procedures¶
AIM DMV also defines internal stored procedures such as PULL_TASKS, PULL_SINGLE_TASK, and COMPLETE_TASK that implement the distributed task queue. The Orchestrator and Workers call these automatically. Do not call internal procedures directly unless Snowflake Support instructs you to.
Sample queries¶
Use these patterns as starting points. Replace <workflow_id> with your workflow’s WORKFLOW_ID.
Find your latest workflow¶
Migration progress per table¶
Migration tables with errors¶
Migration error details¶
Validation status per table¶
Validation partition detail¶
Row-level mismatches (L3)¶
Provisional mismatches (accepted transformations)¶
While a table with acceptedTransformations is still running L3, row-hash mismatches can appear as POSSIBLE_MISMATCH until reconcile finishes. Use this query to inspect those provisional rows:
For what POSSIBLE_MISMATCH means after the workflow completes, and when leftover rows are a problem, see Caveat: POSSIBLE_MISMATCH after the workflow finishes.
Cell-level diffs (L3)¶
Validation task errors and warnings¶
Correlate queries in QUERY_ HISTORY¶
Both the Orchestrator and Worker set Snowflake QUERY_TAG on every query: