---
title: "SQLite - SQL Server taşıma, tarayıcınızda"
description: "Bir SQLite veritabanını SQL Server hedefine taşıyın: .db dosyasını veya dökümünü aynı tablolar, anahtarlar ve verilerle bir betiğe dönüştürün, raporuyla."
canonical: https://intosql.com/tr/sqlite-sql-server-donusturme
last_updated: 2026-10-15
---

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

Bir SQLite veritabanı dosyasını (.db, .sqlite, .sqlite3) veya sqlite3'ün .dump komutunun yazdığı SQL'i bırakın ve aynı tablolar, anahtarlar, indeksler ve verilerle bir SQL Server betiği indirin. Her sütun, değerlerinin sığdığı türü alır ve SQL Server'in olduğu gibi tutamadığı her değer raporda listelenir.

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

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

## SQLite 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.

| SQLite içinde | SQL Server içinde | Rapor satırı |
| --- | --- | --- |
| declared types (any text: VARCHAR(255), DATETIME, BOOLEAN, JSON or none) | sütundaki her değerin sığdığı tür |  |
| BOOLEAN, BOOL | bit |  |
| TEXT, VARCHAR(n), CHAR(n), CLOB | nvarchar(n) veya nvarchar(max) |  |
| DECIMAL(p,s), NUMERIC | her değer sığıyorsa tam tür, değilse double |  |
| BLOB, and columns holding bytes | varbinary(max) |  |
| DATE, DATETIME, TIMESTAMP holding ISO 8601 text | date, datetime2(p) |  |
| JSON holding JSON text | nvarchar(max) |  |
| Infinity in REAL columns | NULL | `invalid_value_null` |
| INTEGER PRIMARY KEY, AUTOINCREMENT | en yüksek id'den veya sqlite_sequence değerinden sonra devam eden IDENTITY |  |
| COLLATE NOCASE | büyük/küçük harf duyarsız bir harmanlama |  |
| generated columns | hesaplanan sütunlar, STORED ise PERSISTED |  |
| generated columns with functions IntoSQL doesn't write, and the || operator | düz bir sütun | `generated_not_translated` |
| defaults with functions IntoSQL doesn't write (strftime, randomblob) | varsayılan değer yok | `default_not_translated` |
| CHECK constraints | çevrilir |  |
| CHECK constraints with functions IntoSQL doesn't write | oluşturulmaz | `check_skipped` |
| partial and expression indexes | oluşturulmaz | `index_skipped` |
| foreign keys (unenforced unless PRAGMA foreign_keys=ON) | veriden sonra WITH NOCHECK, ardından denetlenir |  |
| ON DELETE or ON UPDATE that cascades in a cycle or along a second path | NO ACTION | `foreign_key_action_dropped` |
| VARCHAR(n) holding characters past U+FFFF (emoji) | nvarchar(2n), 4000'i aşınca nvarchar(max) | `text_length_widened` |
| foreign keys to tables the dump doesn't create | oluşturulmaz | `foreign_key_skipped` |
| primary keys holding NULL, and NOT NULL columns with values that become NULL | NOT NULL kaldırılır | `not_null_relaxed` |
| views, triggers and virtual tables (FTS, R*Tree) | raporda listelenir | `not_converted_objects` |
| dumps without CREATE TABLE (--data-only) | değerlerden okunan türler | `no_schema` |
| expressions in INSERT values other than the text functions dumps write | NULL | `expression_value` |
| NUL characters in text | korunur |  |
| text that isn't valid UTF-8 | hatalı baytlar yerine koyma karakteri olarak | `invalid_utf8_replaced` |
| text decoded twice (Ã±) | olduğu gibi kopyalanır | `mojibake_suspected` |

## 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 sqlite.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 SQLite 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:

- Veritabanı dosyasının kendisi olduğu gibi dönüştürülür ve tarayıcınızda sayfa sayfa okunur. Hiçbir değişiklik -wal dosyasında kalmasın diye önce ona yazan uygulamayı kapatın.
- sqlite3 app.db .dump > app.sql aynı veritabanını SQL olarak yazar; bu da .sql veya .sql.gz olarak dönüştürülür.
- DB Browser for SQLite bu SQL'i File, Export, Database to SQL file ile yazar; Python'ın iterdump() fonksiyonu da öyle.

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

Görünümler ve tetikleyiciler SQLite'in kendi dilinde yazılır. Raporda adlarıyla listelenirler, asla sessizce atlanmazlar; böylece onları SQL Server için yeniden yazabilirsiniz. FTS5 ve R*Tree gibi sanal tablolar da listelenir ve bunların gölge tabloları dışarıda bırakılır.

## SQLite - 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.

### .db dosyasının kendisini dönüştürebilir miyim?

Evet. .db, .sqlite veya .sqlite3 dosyasını bırakın: tarayıcınızda okunur ve asla yüklenmez. NUL karakterli metinler ve bir double değerin her basamağı saklandığı gibi gelir; bir .dump bunları kesebilir.

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

SQLite 3.0 ve sonrasından UTF-8 veya UTF-16 veritabanı dosyaları ile sqlite3 kabuğunun .dump komutundan veya Python'ın iterdump() fonksiyonundan alınan dökümler. Her test dosyası ve dökümü, STRICT ve WITHOUT ROWID tabloları dahil, sqlite3 3.31 ile 3.54 arasından gelir ve kaynağıyla hücre hücre karşılaştırılır.

### SQLite sütun türlerini zorunlu tutmadığında türler nasıl belirlenir?

Tanımlanan tür bir ipucudur, kararı değerler verir: her değer sığıyorsa sütun bigint, decimal, float, date, datetime2, bit, varbinary veya nvarchar olur. Metin SQLite'teki gibi tam karşılaştırılır, COLLATE NOCASE ise büyük/küçük harfi yok sayarak.

### INTEGER PRIMARY KEY ve AUTOINCREMENT korunuyor mu?

Evet. INTEGER PRIMARY KEY bir IDENTITY sütunu olur, her satır kendi id'sini korur ve sonraki id en yüksek id'den sonra, AUTOINCREMENT varsa sqlite_sequence değerinden sonra devam eder.

### Görünümler 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: SQLite

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

## Hedef: SQL Server

- [MySQL - SQL Server](https://intosql.com/tr/mysql-sql-server-donusturme)
- [MariaDB - SQL Server](https://intosql.com/tr/mariadb-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)
- [Oracle - SQL Server](https://intosql.com/tr/oracle-sql-server-donusturme)

## Kılavuz ve tüm ikililer

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