---
title: "MariaDB - SQL Server taşıma, tarayıcınızda"
description: "Bir MariaDB veritabanını SQL Server hedefine taşıyın: dökümünü aynı tablolar, anahtarlar, diziler ve verilerle bir betiğe dönüştürün, her değişikliğin raporuyla."
canonical: https://intosql.com/tr/mariadb-sql-server-donusturme
last_updated: 2026-10-15
---

# MariaDB - SQL Server taşıma, tarayıcınızda

mariadb-dump, mysqldump, phpMyAdmin veya Adminer ile alınmış bir dökümü .sql veya .sql.gz olarak bırakın ve aynı tablolar, anahtarlar, indeksler ve verilerle bir SQL Server betiği indirin. SQL Server'in olduğu gibi tutamadığı her değer ve taşımadığı her nesne raporda listelenir.

[MariaDB - SQL Server taşıma kılavuzu](https://intosql.com/docs/migrations/mariadb-to-sql-server)

[MariaDB - SQL Server veri türleri](https://intosql.com/docs/types/mariadb-to-sql-server)

## MariaDB ile SQL Server arasında neler değişir

Her satır, dönüştürücünün uyguladığı bir kuraldır; yanında, kural verilerinizde bir şeyi değiştirdiğinde yazılan rapor satırı yer alır.

| MariaDB içinde | SQL Server içinde | Rapor satırı |
| --- | --- | --- |
| TINYINT(1), BOOL | her değer 0 veya 1 ise bit, değilse smallint | `bool_kept_numeric` |
| UNSIGNED integers | TINYINT UNSIGNED tinyint olarak; diğerleri negatif olmadığını denetleyen bir CHECK ile bir sonraki geniş tam sayı, BIGINT UNSIGNED her değer sığıyorsa bigint, değilse decimal(38,0) | `unsigned_widened` |
| ZEROFILL and display widths | kaldırılır | `zerofill_dropped` |
| FLOAT(M,D) | ölçek olmadan real veya float | `float_scale_dropped` |
| DECIMAL(p,s) | 38 basamağa kadar decimal(p,s); ötesi nvarchar | `decimal_as_text` |
| BIT(1), BIT(n) | bit; 63 bite kadar bigint; BIT(64) için decimal(20,0) |  |
| zero, partial or impossible dates (0000-00-00, 2024-02-30) | NULL | `invalid_date_null` |
| NOT NULL columns with values that become NULL | NOT NULL kaldırılır | `not_null_relaxed` |
| DEFAULT '0000-00-00' | varsayılan değer yok | `zero_date_default` |
| TIME | her değer bir gün içindeyse time, değilse nvarchar | `time_as_interval` |
| YEAR | aralığını denetleyen bir CHECK ile smallint |  |
| CHAR(n), VARCHAR(n) | nvarchar(n) |  |
| text with characters past U+FFFF (emoji) in VARCHAR(n) | nvarchar(2n), 4000'i aşınca nvarchar(max) | `text_length_widened` |
| DATETIME | datetime2 |  |
| TIMESTAMP | dökümün belirttiği saat diliminde datetimeoffset, belirtmiyorsa UTC | `timestamp_zone_assumed` |
| ENUM | değerlerini denetleyen bir CHECK ile nvarchar |  |
| ENUM holding '' (MySQL's error value) | CHECK'in izin verdiği boş değer | `enum_invalid_value` |
| ENUM holding values outside its list | CHECK yok | `enum_check_skipped` |
| SET | MySQL'in yazdığı şekliyle nvarchar ('a,b') |  |
| JSON | nvarchar(max) |  |
| NUL bytes in text | korunur |  |
| text that isn't valid in its character set | hatalı baytlar yerine koyma karakteri olarak | `invalid_utf8_replaced` |
| text decoded twice (Ã±) | olduğu gibi kopyalanır | `mojibake_suspected` |
| AUTO_INCREMENT | sayacı kopyalanan id'lerin ötesine ayarlanmış IDENTITY |  |
| MyISAM AUTO_INCREMENT on the second column of a key | tablo için tek sayaç | `myisam_group_autoincrement` |
| ON UPDATE CURRENT_TIMESTAMP | bir AFTER UPDATE tetikleyicisi | `on_update_trigger` |
| ON UPDATE CURRENT_TIMESTAMP on a table without a primary key | taşınmaz | `on_update_without_key` |
| generated columns | hesaplanan sütunlar, kaynak onları saklıyorsa PERSISTED |  |
| generated columns with functions SQL Server lacks | düz bir sütun | `generated_not_translated` |
| INVISIBLE columns | normal sütunlar | `invisible_column` |
| CHECK constraints | çevrilir, CREATE TABLE içinde satır içi |  |
| CHECK constraints with functions SQL Server lacks | oluşturulmaz | `check_skipped` |
| CHECK ... NOT ENFORCED | oluşturulmaz | `check_not_enforced` |
| defaults with functions SQL Server lacks | varsayılan değer yok | `default_not_translated` |
| keys and indexes on a prefix, c(20) | sütunun tamamı üzerinde bir indeks | `prefix_whole_column` |
| FULLTEXT indexes | oluşturulmaz | `fulltext_not_created` |
| SPATIAL indexes | oluşturulmaz | `spatial_index_not_created` |
| functional indexes, and indexes on columns of unlimited length | oluşturulmaz | `index_skipped` |
| foreign keys | veriden sonra WITH NOCHECK, ardından yetim satırlar için uyarıyla denetlenir |  |
| ON DELETE or ON UPDATE that cascades in a cycle or along a second path | NO ACTION | `foreign_key_action_dropped` |
| foreign keys to columns without a unique key | oluşturulmaz | `foreign_key_skipped` |
| table and column names | yazıldığı gibi; yalnızca büyük/küçük harfle ayrıldıklarında yeniden adlandırılır | `identifier_renamed` |
| names over 116 characters | kısaltılır | `name_shortened` |
| GEOMETRY, POINT, POLYGON... | her değerin SRID'siyle geometry |  |
| INET4, INET6, UUID (MariaDB) | nvarchar(39), uniqueidentifier |  |
| BINARY, VARBINARY, BLOB | binary, varbinary, varbinary(max) |  |
| PARTITION BY | tek tablo | `partitions_dropped` |
| WITH SYSTEM VERSIONING (MariaDB) | mevcut satırları içeren bir tablo | `system_versioning_dropped` |
| MyISAM, MEMORY and other engines | normal bir tablo | `engine_dropped` |
| views, triggers, procedures, functions and events | raporda listelenir | `not_converted_objects` |
| dumps without CREATE TABLE | değerlerden okunan türler | `no_schema` |
| geometries in a dump without CREATE TABLE | geometry |  |
| _ci collations | veritabanının harmanlaması, genellikle büyük/küçük harf duyarsız |  |
| SET NAMES utf8 from utf8mb4 tables | dönüştürülür, uyarıyla | `dump_lost_four_byte_chars` |
| dumps without SET NAMES whose text isn't UTF-8 | Latin-1 (Windows-1252) olarak okunur | `charset_guessed` |
| sjis, cp932, gbk, big5 dumps | uyarıyla UTF-8 olarak okunur | `unsupported_charset` |
| UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows | hesaplanır |  |
| other expressions in rows | NULL | `expression_value` |
| DEFAULT in VALUES | sütunun varsayılan değeri | `default_keyword_filled` |
| DEFAULT in VALUES without a literal default | NULL | `default_keyword_null` |
| REPLACE and INSERT IGNORE | düz satırlar | `replace_as_insert` |
| types IntoSQL doesn't know | nvarchar(max) | `unknown_type` |
| values that don't fit their column | NULL | `invalid_value_null` |
| unreadable geometries | NULL | `bad_geometry` |
| CREATE SEQUENCE (MariaDB) | sonraki değeriyle CREATE SEQUENCE ... AS bigint |  |
| VECTOR(n) (MariaDB 11.7+) | float'ları JSON dizisi olarak tutan nvarchar(max) | `type_replaced` |

## Betiği SQL Server veritabanına yükleyin

Betik tabloları oluşturur, satırları kopyalar, ardından anahtarları, indeksleri ve yabancı anahtarları ekler; böylece hızlı yüklenir ve ilk hatada durur.

```shell
sqlcmd -b -f 65001 -S localhost -d mydb -i mariadb.sql_server.sql
```

Yabancı anahtarlar WITH NOCHECK ile eklenir ve ardından denetlenir. Bir satır var olmayan bir satıra işaret ediyorsa betik, yarı yolda başarısız olmak yerine hangi kısıt olduğunu söyler ve onu denetlenmemiş bırakır.

Büyük bir döküm için sqlcmd'yi sunucuyla aynı makinede çalıştırın. En fazla 1000 satırlık her toplu iş kendi başına işlenir; böylece işlem günlüğü küçük kalır.

## En iyi sonuç için MariaDB dökümü nasıl alınır

Dönüştürücü, dökümün içerdiğini okur. Bu seçenekler verilerinizin daha fazlasını dökümde tutar:

- --default-character-set=utf8mb4 emoji ve diğer 4 baytlık karakterleri korur; utf8mb3 dökümü bunları dönüştürücü görmeden önce kaybeder.
- --hex-blob ikili sütunları ve VECTOR değerlerini onaltılık olarak yazar; bu biçim sistemler arasında kopyalamada bozulmaz.
- --routines --triggers --events bu nesneleri döküme ekler; böylece rapor onları listeleyebilir.

## Neler dönüştürülmez

Görünümler, tetikleyiciler, saklı yordamlar, fonksiyonlar ve olaylar MariaDB'in kendi dilinde yazılır. Raporda adlarıyla listelenirler, asla sessizce atlanmazlar; böylece onları SQL Server için yeniden yazabilirsiniz.

## MariaDB - SQL Server dönüştürme hakkında sorular

### Dökümüm yükleniyor mu?

Hayır. Dönüştürücü tarayıcınızda çalışır ve dökümü diskinizden parça parça okur; böylece döküm bilgisayarınızdan hiç çıkmaz. Masaüstü uygulaması ve komut satırı da bilgisayarınızda dönüştürür.

### Döküm ne kadar büyük olabilir?

Dönüştürücü dökümün tamamını asla bellekte tutmaz: dosyayı aralıklar halinde iki kez okur ve betiği ilerledikçe yazar. Birkaç gigabaytlık dökümler tarayıcıda, masaüstü uygulamasında ve komut satırıyla dönüştürülür.

### Döküm hangi MariaDB sürümlerinden gelebilir?

MariaDB 10.3 ile 12 arasında mariadb-dump ve mysqldump ile alınmış, tablo başına bir INSERT veya satır başına bir INSERT içeren dökümler. Her test dökümü MariaDB 10.11, 11.4 ve 11.8'den gelir ve kaynağıyla hücre hücre karşılaştırılır.

### UUID, INET6, JSON ve VECTOR sütunları korunuyor mu?

UUID uniqueidentifier, INET sütunları nvarchar, JSON nvarchar(max), VECTOR ise float'larından oluşan bir JSON dizisi olur. Sıfır tarihler NULL olur ve rapor onları sayar.

### AUTO_INCREMENT değerleri ve sequence'lar korunuyor mu?

Evet. Her AUTO_INCREMENT sütunu, en yüksek id'den sonra devam eden bir IDENTITY sütunu olur. Sequence'lar SQL Server sequence'ı olur ve bunlardan değer alan varsayılanlar onlardan değer almaya devam eder.

### Saklı yordamlar ve tetikleyiciler ne olur?

Raporda adlarıyla listelenirler ve dönüştürülmezler, çünkü her veritabanı onları kendi dilinde yazar.

### Betik hangi SQL Server sürümlerinde yüklenir?

SQL Server 2017 ile 2025 arası. Aynı betik her birinde yüklenir ve bir sorun çıkarsa ilk hatada durur.

## Kaynak: MariaDB

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

## Hedef: SQL Server

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

## Kılavuz ve tüm ikililer

- [SQL Server - MariaDB](https://intosql.com/tr/sql-server-mariadb-donusturme)
- [MariaDB - SQL Server taşıma kılavuzu](https://intosql.com/docs/migrations/mariadb-to-sql-server)
- [MariaDB - SQL Server veri türleri](https://intosql.com/docs/types/mariadb-to-sql-server)
- [Tüm veritabanı ikilileri](https://intosql.com/tr/veritabani-tasima)
