Access to T-SQL Script Builder — Migration Script Generator

Drop a Microsoft Access database file (.mdb or .accdb) and get a complete, ordered set of T-SQL migration scripts for SQL Server. Schema creation, data inserts, relationships, and a validation report — all generated locally in your browser. Supports every Jet and ACE version.

Access SQL Server

Drop an .mdb or .accdb file to generate a complete T-SQL migration script

Jet 3 (Access 97) Jet 4 (Access 2000–2003) ACE 12 (Access 2007) ACE 14 (Access 2010) ACE 15 (Access 2013) ACE 16 (Access 2016–2021)
🗃️
Drop your Access database here

or Browse Files  ·  .mdb or .accdb

Waiting for file…
Format
Tables
Total Rows
Relationships

⚙ Migration Settings

📋 Schema Overview

🔗 Detected Relationships

🔀 Type Mapping Overrides

📄 Generated Migration Scripts


  

What Does This Tool Do?

The Access to T-SQL Script Builder reads a Microsoft Access database file (.mdb or .accdb) entirely in your browser using mdb-reader, a pure JavaScript parser that supports all Jet and ACE database engine versions. It inspects the schema — tables, columns, data types, relationships, and indexes — and generates a set of numbered T-SQL scripts that recreate the entire database in SQL Server.

The scripts are ordered for dependency safety: database creation first, then tables in topological order (parents before children), data inserts with configurable batch sizes, foreign key constraints derived from Access relationships, and finally a validation report that checks row counts match the source.

Supported Access Versions

EngineVersionExtensionAccess Version
Jet 33.x.mdbAccess 97
Jet 44.x.mdbAccess 2000, 2002 (XP), 2003
ACE 1212.x.accdbAccess 2007
ACE 1414.x.accdbAccess 2010
ACE 1515.x.accdbAccess 2013
ACE 1616.x.accdbAccess 2016, 2019, 2021, Microsoft 365

Generated Script Breakdown

ScriptContentsPurpose
01_Create_Database.sqlCREATE DATABASE, USE, optional DROPSet up the target database
02_Schema.sqlCREATE TABLE with mapped types, PKs, indexesRecreate all table structures
03_Data_*.sqlBatched INSERT statements per tableMigrate all row data
04_Foreign_Keys.sqlALTER TABLE ADD CONSTRAINT for relationshipsRestore referential integrity
05_Validation.sqlRow count checks per tableVerify migration completeness

Type Mapping Reference

Access TypeDefault SQL Server TypeNotes
AutoNumber (Long Integer)INT IDENTITY(1,1)Auto-incrementing primary key
Short Text / TextNVARCHAR(n)Unicode; length from field size or default
Long Text / MemoNVARCHAR(MAX)Unlimited-length text
Number (Byte)TINYINT0 to 255
Number (Integer)SMALLINT–32,768 to 32,767
Number (Long Integer)INTStandard 32-bit integer
Number (Single)REALSingle-precision float
Number (Double)FLOATDouble-precision float
Number (Decimal)DECIMAL(18,6)Override precision in mapping panel
CurrencyMONEYFixed-point to 4 decimal places
Date/TimeDATETIME2Higher precision than legacy DATETIME
Yes/NoBITBoolean 0/1
OLE ObjectVARBINARY(MAX)Binary large objects
HyperlinkNVARCHAR(MAX)Link text stored as delimited string
GUID / Replication IDUNIQUEIDENTIFIER16-byte GUID

Frequently Asked Questions

Does my Access database get uploaded to a server?
No. The tool uses mdb-reader (a pure JavaScript MDB/ACCDB parser) to read your database entirely in your browser. Your data never leaves your device.
What file formats and Access versions are supported?
The tool supports .mdb files (Jet 3 from Access 97, Jet 4 from Access 2000–2003) and .accdb files (ACE 12–16 from Access 2007 through Microsoft 365). All standard Microsoft Access database formats are covered.
Can I customize how Access types map to SQL Server types?
Yes. After loading a file, a Type Mapping panel shows every detected Access column type with a dropdown to change the target SQL Server type. Overrides are applied when you generate the script.
Does the tool handle Access relationships?
Yes. The tool reads Access relationships from the system tables. Tables are topologically sorted so parent tables are created and populated before child tables. Foreign key constraints are generated in a separate script so you can apply them after all data is loaded.
How large a database can this handle?
The tool runs in your browser, so practical limits depend on available RAM. Access databases up to a few hundred MB work well on modern machines. The Access format itself has a 2 GB limit.
Can I run the scripts against Azure SQL Database?
Yes. Uncheck "Include CREATE DATABASE / USE" to skip database-level commands. The schema and data scripts use standard T-SQL that works on Azure SQL, SQL Server 2016+, and SQL Server on Linux.
Does the tool handle Access queries, forms, or reports?
This tool focuses on table data migration — the schema and row data that can be faithfully reproduced in SQL Server. Access queries, forms, reports, macros, and VBA code are application-level objects that cannot be directly translated to T-SQL.

Related SQL Tools