---
title: "SQL Server betiğini başka bir sürüme taşıyın"
description: "SQL Server 2017 veya sonrasından bir SSMS betiğini SQL Server 2017 ile 2025 arasında yüklenen bir betiğe dönüştürün; aynı tablolar, anahtarlar ve verilerle, raporuyla."
canonical: https://intosql.com/tr/sql-server-sql-server-donusturme
last_updated: 2026-10-15
---

# SQL Server betiğini başka bir sürüme taşıyın

SSMS'in Generate Scripts aracının şema ve veriyle yazdığı betiği .sql ya da .sql.gz, UTF-16 veya UTF-8 olarak bırakın ve hangi sürüm yazmış olursa olsun SQL Server 2017 ile 2025 arasında yüklenen bir betik indirin. Identity'ler, collation'lar ve xml ile hierarchyid gibi türler olduğu gibi kalır ve her değişiklik raporda listelenir.

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

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

## Dosya ile betik 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.

| Dosyada | Betikte | Rapor satırı |
| --- | --- | --- |
| bit | bit |  |
| char(n), varchar(n), nchar(n), nvarchar(n), varchar(max), text, ntext | her sütunun harmanlamasıyla nchar(n), nvarchar(n) ve nvarchar(max) |  |
| column collations | her sütunda aynı harmanlama |  |
| decimal(p,s), money, smallmoney | decimal(p,s); money decimal(19,4) olarak |  |
| datetime, datetime2, smalldatetime | datetime2(p) |  |
| datetimeoffset | her değerin farkıyla datetimeoffset |  |
| time | time(p) |  |
| dates that aren't valid | NULL | `date_out_of_range` |
| json (SQL Server 2025) | nvarchar(max) |  |
| uniqueidentifier | uniqueidentifier |  |
| binary, varbinary, image | binary(n), varbinary(n) ve varbinary(max) |  |
| xml, sql_variant, hierarchyid, geometry, geography | aynı türler |  |
| rowversion, timestamp | binary(8), boş | `rowversion_empty` |
| IDENTITY | en yüksek id'den sonra devam eden IDENTITY |  |
| CREATE SEQUENCE | aynı seçeneklerle CREATE SEQUENCE |  |
| computed columns | kaynaktaki gibi PERSISTED, aynı hesaplanan sütunlar |  |
| computed columns with functions IntoSQL doesn't write | düz bir sütun | `generated_not_translated` |
| defaults with functions IntoSQL doesn't write, and NEXT VALUE FOR | varsayılan değer yok | `default_not_translated` |
| CHECK constraints | çevrilir |  |
| CHECK constraints with functions IntoSQL doesn't write | oluşturulmaz | `check_skipped` |
| CHECK constraints added WITH NOCHECK or disabled | oluşturulmaz | `check_not_enforced` |
| filtered and columnstore indexes | 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 tables the dump doesn't create | oluşturulmaz | `foreign_key_skipped` |
| tables on a partition scheme | her bölümün satırlarını içeren tek tablo | `partitions_dropped` |
| temporal tables (SYSTEM_VERSIONING) | iki tablo: mevcut satırlar ve geçmiş | `system_versioning_dropped` |
| NOT NULL columns with values that become NULL | NOT NULL kaldırılır | `not_null_relaxed` |
| views, functions, procedures, triggers, synonyms, types and partition functions | raporda listelenir | `not_converted_objects` |
| scripts without CREATE TABLE (data only) | değerlerden okunan türler | `no_schema` |
| expressions in INSERT values | NULL | `expression_value` |
| types IntoSQL doesn't know | nvarchar(max) | `unknown_type` |
| NUL characters in text | korunur |  |
| text that isn't valid in its encoding | 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 sql_server.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 SQL Server 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:

- SSMS'te veritabanına sağ tıklayın, Tasks, Generate Scripts'i seçin ve tabloları işaretleyin. dbatools, mssql-scripter ve aynı kitaplık üzerine kurulu diğer araçlar aynı betiği yazar.
- Advanced altında Types of data to script ayarını Schema and data yapın. Yalnızca şemayı içeren bir betikte tablolar satırsızdır.
- Betiği SSMS'in varsayılanı olan Unicode ya da UTF-8 olarak kaydedin: ikisi de aynı şekilde okunur, gzip de çalışır.

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

SQL Server kendi dilinde yazılmış görünümler, tetikleyiciler, yordamlar, fonksiyonlar ve diğer nesneler raporda adlarıyla listelenir, asla sessizce atlanmaz; böylece yeniden oluşturmadan önce her birini yüklediğiniz SQL Server sürümüyle karşılaştırabilirsiniz.

## SQL Server sürümleri arasında taşıma 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.

### SSMS'in kaydettiği UTF-16 dosyasını okuyor mu?

Evet. SSMS betikleri varsayılan olarak UTF-16 kaydeder ve dönüştürücü, gzip'li olsun olmasın, toplu işler arasında GO bulunan UTF-16 ve UTF-8 dosyalarını aynı şekilde okur.

### Betik hangi SQL Server sürümlerinden gelebilir?

SSMS, dbatools veya mssql-scripter ile SQL Server 2017 ve sonrasından yazılmış betikler. Her test betiği SQL Server 2017, 2022 ve 2025'ten gelir ve kaynağıyla hücre hücre karşılaştırılır.

### IDENTITY değerleri korunuyor mu?

Evet. IDENTITY sütunları IDENTITY_INSERT ile yüklenir, her satır kendi id'sini korur ve sayaç en yüksek id'den sonra devam eder. Sequence'lar aynı seçeneklerle oluşturulur.

### money, datetimeoffset ve diğer SQL Server türleri ne olur?

Olduğu gibi kalırlar, xml, sql_variant, hierarchyid, geometry ve geography dahil; her metin sütunu harmanlamasını korur. datetimeoffset değerleri farklarını korur. rowversion sütunları binary(8) olur, çünkü betikte bunlar için değer yoktur.

### Saklı yordamlar, tetikleyiciler ve görünümler ne olur?

Raporda adlarıyla listelenirler ve dönüştürülmezler; böylece tablolar yüklendikten sonra özgün betiğin onlarla ilgili kısmını çalıştırabilirsiniz.

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

Betiği hangi sürüm yazmış olursa olsun SQL Server 2017 ile 2025 arası. Aynı betik her birinde yüklenir ve bir sorun çıkarsa ilk hatada durur.

## Kaynak: SQL Server

- [SQL Server - PostgreSQL](https://intosql.com/tr/sql-server-postgresql-donusturme)
- [SQL Server - MySQL](https://intosql.com/tr/sql-server-mysql-donusturme)
- [SQL Server - MariaDB](https://intosql.com/tr/sql-server-mariadb-donusturme)
- [SQL Server - SQLite](https://intosql.com/tr/sql-server-sqlite-donusturme)
- [SQL Server - Oracle](https://intosql.com/tr/sql-server-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)
- [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 - SQL Server taşıma kılavuzu](https://intosql.com/docs/migrations/sql-server-to-sql-server)
- [SQL Server - SQL Server veri türleri](https://intosql.com/docs/types/sql-server-to-sql-server)
- [Tüm veritabanı ikilileri](https://intosql.com/tr/veritabani-tasima)
