Skip to content

MSSQL SqlClient diagnostics

Use JSON output for automation. Stable codes are machine contracts; localized messages are operator context.

Observation Meaning Action Escalate when
DPONE_RUNTIME_CONNECTION_CONTEXT_REQUIRED Logical references have no verified runtime handoff. Run strict init-fetch, mount its context, and pass the pinned plan variables. The code remains after the exact context and plan are mounted.
DPONE_RUNTIME_CONNECTION_CONTEXT_UNVERIFIED Context and pinned plan are missing or disagree. Recreate both artifacts from the same deployment release. Recreated artifacts still disagree.
mssql_sqlclient.*required or runtime_unavailable Execution image is incomplete. Follow installation. Doctor still fails in the rebuilt image.
mssql_native.live_preflight_required Only offline planning ran. Execute from the qualified deployment runtime. Runtime cannot complete catalog, permission, or capacity checks.
terminal UNKNOWN The writer result was lost or target state is ambiguous. Run inspect, then reconcile; do not rerun the source. Reconciliation cannot obtain exact locks or identity.
PARTIAL_PROVED Two stable observations prove an unpublished partial stage. Persist non-publication, then use the offered retire action. Stage ownership or absence proof changes.
SUCCEEDED with held custody Publication succeeded but final cleanup did not. Use the offered resume action. Receipt or target identity no longer matches.
RETIRED with held custody Safe retirement is durable; cleanup remains. Use the offered retire action again. Exact-owner cleanup cannot be proven.

The exact first-run diagnostic can be reproduced without connector I/O:

dpone run examples/native/clickhouse-to-mssql-sqlclient.yaml \
  --interval-end 2026-09-28T00:00:00Z --format json

Without the verified runtime context it exits 2, reports DPONE_RUNTIME_CONNECTION_CONTEXT_REQUIRED, attempts: 0, and extracted_rows: 0.

Recovery commands require the manifest-bound opaque invocation identity shown by inspect. Copy that identity from the local recovery inventory; do not infer it from table names. See source-free recovery for complete command forms, exit behavior, and cleanup authority.