+965 9727 1175 info@a1-soft.com
AR | EN | FR

From SQL Server to PostgreSQL,
in a wizard.

A1 Data Migrator moves an entire SQL Server database to PostgreSQL, MySQL, SQLite, or MongoDB — schema, data, indexes, foreign keys, and a full inventory of triggers and stored procedures — in four guided phases. Verified on 8.8 million rows.

4
Migration Phases
8.8M
Rows Stress-Tested
720+
Tables in One Run
0
Mismatches Verified

Built for production migrations, not just demos

Smart fallbacks for the cases real databases throw at you, full inventory of what couldn't auto-port, and a verifier you can trust.

📐

Schema-aware DDL conversion

T-SQL types, defaults (SYSUTCDATETIME, NEWID, CONVERT, identity), computed columns, and check constraints all rewritten for PostgreSQL.

Binary COPY data transfer

~10× faster than INSERTs. Foreign-key checks deferred during load; identity sequences reset to MAX(id) after.

🔧

Smart constraint fallback

btree row-size limit hit? Single-column non-unique indexes auto-retry as USING HASH. The rest get a workbook with options.

📋

Triggers & procs inventory

3,000+ T-SQL objects captured into _migration_meta.objects with the original body preserved for manual port.

🗂️

Multi-schema preservation

SQL Server dbo maps to public; other schemas stay namespaced. Duplicate names across schemas are handled correctly.

Row-count verifier

Source COUNT_BIG(*) compared to target COUNT(*) table-by-table. Zero tolerance for silent mismatches.

🪟

Wizard or CLI — your call

WPF wizard for one-off migrations, a1mig CLI for CI/CD. Both share the same engine and config file.

🔒

Local-only data flow

Connections you provide; nothing leaves your network. The DLL is HMAC-watermarked so you can verify integrity at any time.

Four phases. Each one resumable.

The wizard runs them in order; the CLI runs each on demand. Every phase logs its own outcome.

Phase 1

Schema

Drop + create the target database, apply all CREATE TABLEs. No indexes, no FKs yet — keeps the door open for fast bulk copy.

Phase 2

Data

Tables sorted by FK dependency. session_replication_role = replica defers FK checks. COPY ... FROM STDIN (FORMAT BINARY) per table.

Phase 3

Constraints

Indexes, foreign keys, check constraints — with smart hash-fallback for oversized btrees. Anything that can't apply auto goes to a review workbook.

Phase 4

Objects + Verify

Triggers, procs, views, functions captured to _migration_meta.objects. Then row counts compared source vs target.

What you get on the target database

Beyond the migrated schema, a working inventory you can query.

-- See everything that needs a manual port:
SELECT object_type, schema_name, object_name, parent_table, port_status
FROM _migration_meta.unported
ORDER BY object_type, schema_name, object_name;

-- Mark one done after porting:
UPDATE _migration_meta.objects
   SET port_status = 'DONE',
       pg_definition = $$ ... your PL/pgSQL here ... $$
 WHERE schema_name = 'public' AND object_name = 'tr_audit_insert';

Compare to the alternatives

Why pick A1 Data Migrator over the usual one-off scripts or generic SaaS tools.

Capability Hand-rolled scripts SaaS migration tool A1 Data Migrator
SQL Server → PostgreSQL DDL conversionmanualyesyes
Binary COPY data transfernoyesyes
Smart hash-fallback for oversized indexesnooften missingyes
Trigger / proc / view inventory on targetnousually skipped_migration_meta
Row-count verifiernosometimesyes
Runs offline; data never leaves your networkyesnoyes
Wizard + CLI sharing one enginenoUI onlyyes

Ready to move off SQL Server?

Download the free 30-day trial and migrate up to 1 GB. No credit card.

⬇ Download for Windows

من SQL Server إلى PostgreSQL،
عبر معالج إرشادي.

ينقل A1 Data Migrator قاعدة بيانات SQL Server كاملة إلى PostgreSQL أو MySQL أو SQLite أو MongoDB — البنية (schema) والبيانات والفهارس (indexes) والمفاتيح الخارجية (foreign keys)، مع فهرسة كاملة لجميع الـ triggers والـ stored procedures — عبر أربع مراحل واضحة. تم اختباره على 8.8 مليون سجل.

4
مراحل
+8.8 مليون
سجل اختُبر
+720
جدول في تشغيلة واحدة
0
تطابق مفقود

مصمَّم لعمليات ترحيل الإنتاج، لا مجرد عروض تجريبية

بدائل (fallbacks) ذكية للحالات التي تواجهك في قواعد البيانات الحقيقية، وفهرسة كاملة لكل ما تعذّر نقله تلقائياً، ومُحقّق جدير بثقتك.

📐

تحويل DDL واعٍ بالـ schema

أنواع T-SQL، والقيم الافتراضية (defaults) مثل (SYSUTCDATETIME، NEWID، CONVERT، identity)، والأعمدة المحسوبة، و check constraints، تُعاد كتابتها جميعاً لتلائم المحرك الهدف.

نقل البيانات بـ Binary COPY

أسرع بنحو 10× من INSERT. تُؤجَّل فحوص المفاتيح الخارجية (FKs) أثناء التحميل، وتُعاد الـ identity sequences إلى MAX(id) بعد الانتهاء.

🔧

بديل ذكي للقيود

هل تجاوز فهرس btree الحدّ المسموح لحجم الصف؟ تتحوّل الفهارس single-column non-unique تلقائياً إلى USING HASH، ويُدرَج الباقي في workbook مع الخيارات المتاحة.

📋

فهرس Triggers و Procs

أكثر من 3,000 كائن T-SQL تُحفَظ في _migration_meta.objects مع الإبقاء على الكود الأصلي للنقل اليدوي.

🗂️

الحفاظ على الـ schemas

يتحوّل dbo الخاص بـ SQL Server إلى public، وتبقى بقية الـ schemas ضمن نطاقاتها الخاصة. وتُعالَج الأسماء المتكررة عبر schemas مختلفة معالجة صحيحة.

مُحقّق row counts

يُقارَن COUNT_BIG(*) في المصدر بـ COUNT(*) في الهدف جدولاً بجدول، دون أي تسامح مع السجلات المفقودة.

🪟

Wizard أو CLI

معالج WPF لعمليات الترحيل لمرة واحدة، وأداة a1mig عبر سطر الأوامر للـ CI/CD. وكلاهما يعتمد على المحرك نفسه.

🔒

تدفق محلي بالكامل

تُحدِّد أنت بيانات الاتصال، ولا تغادر أي بيانات شبكتك. ومكتبة الـ DLL موقّعة بـ HMAC، ويمكنك التحقق من سلامتها في أي وقت.

أربع مراحل، كل منها قابلة للاستئناف.

يُشغّلها المعالج بالترتيب، ويتيح لك سطر الأوامر تشغيل أي مرحلة على حدة.

المرحلة 1

الـ Schema

إعادة إنشاء قاعدة البيانات الهدف، وتطبيق كل CREATE TABLE. دون فهارس أو مفاتيح خارجية بعد، لكي يكون التحميل سريعاً.

المرحلة 2

البيانات

تُرتَّب الجداول حسب المفاتيح الخارجية. ويؤجِّل session_replication_role = replica فحوص المفاتيح الخارجية. ويُستخدم COPY ... FORMAT BINARY لكل جدول.

المرحلة 3

القيود

الفهارس والمفاتيح الخارجية و check constraints — مع بديل hash للـ btrees الكبيرة. وكل ما تعذّر تطبيقه يُدرَج في review workbook.

المرحلة 4

الـ Objects + التحقق

تُحفَظ الـ triggers والـ procs والـ views والـ functions في _migration_meta.objects، ثم تُقارَن أعداد الصفوف بين المصدر والهدف.

هل أنت مستعد لمغادرة SQL Server؟

نزِّل النسخة التجريبية المجانية (30 يوماً) وانقل حتى 1 جيجابايت. دون بطاقة ائتمان.

⬇ نزِّل لنظام Windows