Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
github avatar

Sql Server Table Reconciliation

  • 1 installs
  • 37.5k repo stars
  • Updated August 5, 2026
  • github/awesome-copilot

sql-server-table-reconciliation skill documents Use when: comparing SQL Server tables across instances, data migration validation, ETL verification, row mismatch detection, schema drift, reconciliation report, production

About

sql-server-table-reconciliation skill documents Use when: comparing SQL Server tables across instances, data migration validation, ETL verification, row mismatch detection, schema drift, reconciliation report, production vs staging comparison. Uses mssql-python driver with Apache Arrow for fast columnar data transfer and comparison.. name: sql-server-table-reconciliation description: "Use when: comparing SQL Server tables across instances, data migration validation, ETL verification, row mismatch detection, schema drift, reconciliation report, production vs staging comparison. Uses mssql-python driver with Apache Arrow for fast columnar data transfer and comparison."

  • Use when: comparing SQL Server tables across instances, data migration validation, ETL verification, row mismatch detect
  • Platform-specific setup patterns for sql-server-table-reconciliation.
  • Evidence-backed steps from upstream SKILL.md.
  • When-to-use criteria for sql-server-table-reconciliation versus alternatives.

Sql Server Table Reconciliation by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #1,980 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

sql-server-table-reconciliation capabilities & compatibility

Capabilities
sql server table reconciliation quick start · sql server table reconciliation when to use guid · sql server table reconciliation integration patt
From the docs

What sql-server-table-reconciliation says it does

1. Collect connection details for source and target
SKILL.md
2. Identify primary key / composite key
SKILL.md
npx skills add https://github.com/github/awesome-copilot --skill sql-server-table-reconciliation

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars37.5k
Last updatedAugust 5, 2026
Repositorygithub/awesome-copilot

How do I use sql-server-table-reconciliation correctly?

Use when: comparing SQL Server tables across instances, data migration validation, ETL verification, row mismatch detection, schema drift, reconciliation report, production vs staging comparison. Uses

Who is it for?

Teams implementing sql-server-table-reconciliation workflows from the catalog.

Skip if: Skip when requirements clearly match a different specialized stack.

When should I use this skill?

User asks about sql-server-table-reconciliation, use when: comparing sql server tables across instances, data migration validation, etl ver.

What you get

Working sql-server-table-reconciliation setup with validated configuration and next steps.

Files

SKILL.mdMarkdownGitHub ↗

SQL Server Table Reconciliation

Compare identical tables across two SQL Server instances using Python with mssql-python driver and Apache Arrow. Detect missing rows, column mismatches, schema drift, and produce a reconciliation report.

Workflow

1. Collect connection details for source and target 2. Identify primary key / composite key 3. Detect schema differences 4. Extract data via Arrow for efficient columnar transfer 5. Compare rows and columns 6. Generate reconciliation report

Collect Inputs

ParameterRequiredDescription
Source serverYesSource SQL Server (e.g. prod-server.database.windows.net)
Source databaseYesSource database name
Target serverYesTarget SQL Server (e.g. staging-server.database.windows.net)
Target databaseYesTarget database name
TablesYesComma-separated schema.table names, or schema.* wildcard (e.g. dbo.Orders,dbo.Items or dbo.*)
Auth modeYessql (user/password) or entra (Azure AD/token)
Primary keyAuto-detectColumn(s) forming the row identity. Auto-detect from metadata if not provided.
Columns to compareAllSubset of columns, or all non-PK columns
Chunk size100000Rows per batch for large tables
Output formatconsoleconsole, csv, parquet, or json

Bundled Script

The reconciliation logic is provided as a standalone script at scripts/reconcile.py. Invoke it with the appropriate arguments based on user inputs:

python scripts/reconcile.py \
    --source-server <source_server> \
    --source-database <source_database> \
    --target-server <target_server> \
    --target-database <target_database> \
    --tables "<table_spec>" \
    --auth <sql|entra> \
    --chunk-size <chunk_size> \
    --output <console|csv|json>

Optional arguments

ArgumentDescription
--primary-keyComma-separated PK column(s). Omit to auto-detect.
--columnsComma-separated columns to compare. Omit to compare all non-PK columns.

Example invocations

Single table with SQL auth:

python scripts/reconcile.py \
    --source-server prod-server.database.windows.net \
    --source-database ProdDB \
    --target-server staging-server.database.windows.net \
    --target-database StagingDB \
    --tables "dbo.Orders" \
    --auth sql \
    --output console

Wildcard with Entra auth and CSV output:

python scripts/reconcile.py \
    --source-server prod-server.database.windows.net \
    --source-database ProdDB \
    --target-server staging-server.database.windows.net \
    --target-database StagingDB \
    --tables "dbo.*" \
    --auth entra \
    --output csv

Prerequisites

Install required packages before running:

pip install mssql-python pyarrow pandas

Comparison Rules

  • Normalize types before comparing: cast decimals to same precision, trim strings, normalize datetime to UTC
  • NULL handling: NULL == NULL is considered a match (both sides missing = no diff)
  • Ignore row order: always compare by PK join, never positional
  • Large tables: chunk extraction with OFFSET/FETCH or ROW_NUMBER() partitioning

Hash-Based Optimization (for large tables)

When table has >1M rows, generate a hash pre-check:

SELECT {pk_cols},
       HASHBYTES('SHA2_256', CONCAT_WS('|', col1, col2, ...)) AS row_hash
FROM {table}

Compare hashes first; only fetch full rows for mismatched hashes. This reduces data transfer significantly.

Report Format

Reconciling dbo.EMPLOYEES...
Reconciling dbo.DEPARTMENTS...
Reconciling dbo.JOBS...

--- dbo.EMPLOYEES ---
  Source: 107  Target: 107
  Missing: 0  Extra: 0  Mismatches: 0
  Result: ✓ IDENTICAL

--- dbo.DEPARTMENTS ---
  Source: 27  Target: 27
  Missing: 0  Extra: 0  Mismatches: 3
  Result: ✗ DIFFERENCES FOUND

--- dbo.JOBS ---
  Source: 19  Target: 19
  Missing: 0  Extra: 0  Mismatches: 0
  Result: ✓ IDENTICAL

=== Summary: 2 passed, 1 failed, 0 skipped / 3 tables ===

When a single table is provided, include full detail (schema drift, sample rows, mismatches). When multiple tables, use the compact per-table format above with full detail only for tables with FAIL status.

Performance Considerations

ScenarioStrategy
< 100K rowsSingle Arrow fetch, in-memory pandas compare
100K–1M rowsChunked extraction (100K batches), streaming comparison
> 1M rowsHash pre-check → only fetch mismatched rows
Wide tables (100+ cols)Compare PK + hash first, drill into specific columns on mismatch
Network-constrainedUse Arrow columnar format (10-50x smaller than row-by-row)

Constraints

  • Always use mssql-python driver (not pyodbc, pymssql)
  • Always use Apache Arrow via cursor (cursor.arrow()) for data extraction
  • Connection MUST use connection string format, not keyword arguments (kwargs like encrypt=True throw errors)
  • Never compare without identifying PK first — ask user if auto-detect fails
  • Handle connection failures gracefully with retry logic
  • Never hardcode credentials in generated scripts — use os.environ / getpass (env vars: MSSQL_USER, MSSQL_PASSWORD)
  • Do not print credentials in output or logs
  • Use parameterized queries (? placeholders) for metadata lookups — never f-string interpolate user input into SQL

Related skills

FAQ

What does sql-server-table-reconciliation do?

sql-server-table-reconciliation skill documents Use when: comparing SQL Server tables across instances, data migration validation, ETL verification, row mismatch detection, schema drift, reconciliation report, production vs staging comparison.

When should I use sql-server-table-reconciliation?

User asks about sql-server-table-reconciliation, use when: comparing sql server tables across instances, data migration validation, etl ver.

Is this skill safe to install?

Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.