---
title: "SQL Server naar MariaDB migreren in je browser"
description: "Migreer een SQL Server-database naar MariaDB: zet het script van SSMS om naar een script met dezelfde tabellen, sleutels en data, en een rapport van elke wijziging."
canonical: https://intosql.com/nl/sql-server-naar-mariadb
last_updated: 2026-10-15
---

# SQL Server naar MariaDB migreren in je browser

Zet het script neer dat Generate Scripts van SSMS met schema en data schrijft, als .sql of .sql.gz, UTF-16 of UTF-8, en download een MariaDB-script met dezelfde tabellen, sleutels, indexen en data. Elke waarde die MariaDB niet ongewijzigd kan bevatten, en elk object dat het niet overneemt, staat in het rapport.

[Migratiehandleiding SQL Server naar MariaDB](https://intosql.com/docs/migrations/sql-server-to-mariadb)

[Datatypen van SQL Server naar MariaDB](https://intosql.com/docs/types/sql-server-to-mariadb)

## Wat er verandert van SQL Server naar MariaDB

Elke rij is een regel die de converter toepast, met de rapportregel die hij schrijft als de regel iets in je data verandert.

| In SQL Server | In MariaDB | Rapportregel |
| --- | --- | --- |
| bit | tinyint(1) |  |
| char(n), varchar(n), nchar(n), nvarchar(n), varchar(max), text | char(n), varchar(n) tot 1024 tekens, daarboven text-typen |  |
| decimal(p,s), money, smallmoney | decimal(p,s); money als decimal(19,4) |  |
| datetime, datetime2, smalldatetime | datetime(p) |  |
| datetime2(7), time(7) and datetimeoffset(7) | zes cijfers van een seconde, het zevende afgekapt | `fraction_cut` |
| datetimeoffset | datetime(p) in UTC | `moments_as_utc` |
| time | time(p) |  |
| dates before the year 1000 | NULL | `date_out_of_range` |
| json (SQL Server 2025) | json, een longtext met een JSON-check |  |
| uniqueidentifier | uuid |  |
| binary, varbinary, image | binary(n), varbinary(n) en blob-typen |  |
| geometry, geography | blob met de eigen bytes van SQL Server | `spatial_as_native` |
| rowversion, timestamp | blob, leeg | `rowversion_empty` |
| xml, sql_variant, hierarchyid, vector | longtext | `type_replaced` |
| collations that ignore case (_CI_) | exacte vergelijking (utf8mb4_bin) | `case_insensitive_collation` |
| IDENTITY | AUTO_INCREMENT, verdergaand na het hoogste id |  |
| IDENTITY columns that don't lead the primary key | geheel getal zonder teller | `counter_dropped` |
| CREATE SEQUENCE | CREATE SEQUENCE met dezelfde opties |  |
| computed columns | gegenereerde kolommen, STORED bij PERSISTED, anders VIRTUAL |  |
| computed columns with functions MariaDB lacks | een gewone kolom | `generated_not_translated` |
| defaults with functions MariaDB lacks, and NEXT VALUE FOR | geen standaardwaarde | `default_not_translated` |
| CHECK constraints | vertaald |  |
| CHECK constraints with functions MariaDB lacks | niet aangemaakt | `check_skipped` |
| CHECK constraints added WITH NOCHECK or disabled | niet aangemaakt | `check_not_enforced` |
| filtered and columnstore indexes | niet aangemaakt | `index_skipped` |
| foreign keys | refererende sleutels, geladen met FOREIGN_KEY_CHECKS=0 |  |
| foreign keys to tables the dump doesn't create | niet aangemaakt | `foreign_key_skipped` |
| tables on a partition scheme | één tabel met de rijen van elke partitie | `partitions_dropped` |
| temporal tables (SYSTEM_VERSIONING) | WITH SYSTEM VERSIONING, beginnend bij de huidige rijen; de geschiedenistabel als gewone tabel |  |
| schemas | één database, tabellen met de naam van hun schema ervoor | `schemas_merged` |
| NOT NULL columns with values that become NULL | NOT NULL weggelaten | `not_null_relaxed` |
| views, functions, procedures, triggers, synonyms, types and partition functions | vermeld in het rapport | `not_converted_objects` |
| scripts without CREATE TABLE (data only) | typen afgeleid uit de waarden | `no_schema` |
| expressions in INSERT values | NULL | `expression_value` |
| types IntoSQL doesn't know | longtext | `unknown_type` |
| NUL characters in text | behouden |  |
| text that isn't valid in its encoding | de foute bytes als het vervangingsteken | `invalid_utf8_replaced` |
| text decoded twice (Ã±) | ongewijzigd gekopieerd | `mojibake_suspected` |

## Het script in MariaDB laden

Het script maakt de tabellen aan, kopieert de rijen en voegt daarna sleutels, indexen en refererende sleutels toe, zodat het snel laadt en bij de eerste fout stopt.

```shell
mariadb --default-character-set=utf8mb4 mydb < sql_server.mariadb.sql
```

Refererende sleutels worden aangemaakt zoals de dump ze declareert, met FOREIGN_KEY_CHECKS=0 terwijl de rijen laden, zoals mysqldump doet.

Voer bij een grote dump de client uit op dezelfde machine als de server, en verhoog max_allowed_packet als één rij erg groot is.

IntoSQL Pro laadt het bestand rechtstreeks in MariaDB vanuit de desktopapp of de opdrachtregel, zonder een script te schrijven.

## Een dump van SQL Server maken voor het beste resultaat

De converter leest wat de dump bevat. Met deze opties blijft er meer van je data in staan:

- Klik in SSMS met rechts op de database, kies Tasks, Generate Scripts en selecteer de tabellen. dbatools, mssql-scripter en andere tools op basis van dezelfde bibliotheek schrijven hetzelfde script.
- Zet onder Advanced Types of data to script op Schema and data. Een script van alleen het schema bevat tabellen zonder rijen.
- Sla het op als Unicode, de standaard van SSMS, of als UTF-8: beide worden op dezelfde manier gelezen, en gzip werkt ook.

## Wat niet wordt geconverteerd

Weergaven, functies, procedures, triggers, synoniemen, regels en beveiligingsbeleid zijn geschreven in T-SQL. Ze staan op naam in het rapport en worden nooit stilletjes weggelaten, zodat je ze kunt herschrijven voor MariaDB.

## Vragen over SQL Server naar MariaDB

### Wordt mijn dump geüpload?

Nee. De converter draait in je browser en leest de dump in delen van je schijf, dus hij verlaat je computer nooit. De desktopapp en de opdrachtregel converteren ook op je computer.

### Hoe groot mag de dump zijn?

De converter houdt nooit de hele dump in het geheugen: hij leest het bestand twee keer, in bereiken, en schrijft het script gaandeweg. Dumps van meerdere gigabytes worden geconverteerd in de browser, in de desktopapp en met de opdrachtregel.

### Leest het het UTF-16-bestand dat SSMS opslaat?

Ja. SSMS slaat scripts standaard op als UTF-16, en de converter leest UTF-16 en UTF-8 even goed, met of zonder gzip, met GO tussen batches.

### Van welke SQL Server-versies kan het script komen?

Scripts die SSMS, dbatools of mssql-scripter schrijven vanaf SQL Server 2017. Elk testscript komt van SQL Server 2017, 2022 en 2025 en wordt cel voor cel met zijn bron vergeleken.

### Blijven IDENTITY-waarden behouden?

Ja, voor één kolom per tabel: de IDENTITY-kolom vooraan in de primaire sleutel wordt AUTO_INCREMENT en gaat verder na het hoogste id. Sequences worden MariaDB-sequences met dezelfde opties.

### Wat gebeurt er met money, datetimeoffset en andere SQL Server-typen?

bit wordt tinyint(1), money decimal(19,4), uniqueidentifier UUID en datetimeoffset datetime in UTC. Temporele tabellen behouden hun systeemversiebeheer. Kolommen die hoofdletters negeerden, vergelijken exact, en het rapport zegt welke.

### En procedures, triggers en weergaven?

Ze staan op naam in het rapport en worden niet geconverteerd, omdat elke database ze in een eigen taal schrijft.

### Op welke MariaDB-versies laadt het script?

MariaDB 10.11 en later. Elk testscript laadt op 10.11 en 11.4 en stopt bij de eerste fout als er iets misgaat.

## Vanuit SQL Server

- [SQL Server naar PostgreSQL](https://intosql.com/nl/sql-server-naar-postgresql)
- [SQL Server naar MySQL](https://intosql.com/nl/sql-server-naar-mysql)
- [SQL Server naar SQLite](https://intosql.com/nl/sql-server-naar-sqlite)
- [SQL Server naar SQL Server](https://intosql.com/nl/sql-server-naar-sql-server)
- [SQL Server naar Oracle](https://intosql.com/nl/sql-server-naar-oracle)

## Naar MariaDB

- [MySQL naar MariaDB](https://intosql.com/nl/mysql-naar-mariadb)
- [MariaDB naar MariaDB](https://intosql.com/nl/mariadb-naar-mariadb)
- [PostgreSQL naar MariaDB](https://intosql.com/nl/postgresql-naar-mariadb)
- [SQLite naar MariaDB](https://intosql.com/nl/sqlite-naar-mariadb)
- [Oracle naar MariaDB](https://intosql.com/nl/oracle-naar-mariadb)

## Handleiding en elke combinatie

- [MariaDB naar SQL Server](https://intosql.com/nl/mariadb-naar-sql-server)
- [Migratiehandleiding SQL Server naar MariaDB](https://intosql.com/docs/migrations/sql-server-to-mariadb)
- [Datatypen van SQL Server naar MariaDB](https://intosql.com/docs/types/sql-server-to-mariadb)
- [Elke databasecombinatie](https://intosql.com/nl/databasemigratie)
