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
or Browse Files · .mdb or .accdb
⚙ Migration Settings
📋 Schema Overview
🔗 Detected Relationships
🔀 Type Mapping Overrides
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
| Engine | Version | Extension | Access Version |
|---|---|---|---|
| Jet 3 | 3.x | .mdb | Access 97 |
| Jet 4 | 4.x | .mdb | Access 2000, 2002 (XP), 2003 |
| ACE 12 | 12.x | .accdb | Access 2007 |
| ACE 14 | 14.x | .accdb | Access 2010 |
| ACE 15 | 15.x | .accdb | Access 2013 |
| ACE 16 | 16.x | .accdb | Access 2016, 2019, 2021, Microsoft 365 |
Generated Script Breakdown
| Script | Contents | Purpose |
|---|---|---|
| 01_Create_Database.sql | CREATE DATABASE, USE, optional DROP | Set up the target database |
| 02_Schema.sql | CREATE TABLE with mapped types, PKs, indexes | Recreate all table structures |
| 03_Data_*.sql | Batched INSERT statements per table | Migrate all row data |
| 04_Foreign_Keys.sql | ALTER TABLE ADD CONSTRAINT for relationships | Restore referential integrity |
| 05_Validation.sql | Row count checks per table | Verify migration completeness |
Type Mapping Reference
| Access Type | Default SQL Server Type | Notes |
|---|---|---|
| AutoNumber (Long Integer) | INT IDENTITY(1,1) | Auto-incrementing primary key |
| Short Text / Text | NVARCHAR(n) | Unicode; length from field size or default |
| Long Text / Memo | NVARCHAR(MAX) | Unlimited-length text |
| Number (Byte) | TINYINT | 0 to 255 |
| Number (Integer) | SMALLINT | –32,768 to 32,767 |
| Number (Long Integer) | INT | Standard 32-bit integer |
| Number (Single) | REAL | Single-precision float |
| Number (Double) | FLOAT | Double-precision float |
| Number (Decimal) | DECIMAL(18,6) | Override precision in mapping panel |
| Currency | MONEY | Fixed-point to 4 decimal places |
| Date/Time | DATETIME2 | Higher precision than legacy DATETIME |
| Yes/No | BIT | Boolean 0/1 |
| OLE Object | VARBINARY(MAX) | Binary large objects |
| Hyperlink | NVARCHAR(MAX) | Link text stored as delimited string |
| GUID / Replication ID | UNIQUEIDENTIFIER | 16-byte GUID |
