Windows Sunucuda MySQL / MSSQL Veri Yolu (Data Path) Değiştirme

Son gözden geçirme: Eylül 2026 · SQL Server 2019/2022 ve MySQL 8.0 resmi dokümanına göre

Hızlı çözüm

Windows sunucuda MSSQL veri yolu değiştirme işlemi özetle şu sırayla yapılır: veritabanını çevrimdışı alın, fiziksel dosyaları yeni klasöre taşıyın, yeni yolu tanımlayın, veritabanını çevrimiçi alın.

  1. ALTER DATABASE [VeritabaniAdi] SET OFFLINE ile veritabanını çevrimdışı alın.
  2. .mdf ve .ldf dosyalarını Windows Gezgini’nden ya da robocopy ile yeni klasöre taşıyın.
  3. ALTER DATABASE [VeritabaniAdi] MODIFY FILE ile yeni yolu tanımlayıp veritabanını SET ONLINE yapın.
  4. MySQL’de aynı işlem: servisi durdurun, veri dizinini taşıyın, my.ini‘de datadir‘i güncelleyip servisi başlatın.
Panel Yok — SQL Server Management Studio (SSMS) / MySQL yapılandırma dosyası üzerinden
Sistem Windows Server 2019/2022, SQL Server 2019/2022, MySQL 8.0
Yetki Sunucuda yönetici hesabı ve veritabanında sysadmin (MSSQL) ya da root (MySQL) yetkisi
Narhost ürünü VDS Sunucu

Başlamadan önce

  • Veritabanının tam bir yedeğini alın; dosya taşıma sırasında bir adım yanlış giderse veritabanı çevrimiçi olmayabilir.
  • İşlemi bir bakım penceresinde planlayın; veritabanı çevrimdışıyken uygulamalarınız bağlanamaz.
  • Yeni disk yolunda dosyaların tamamını karşılayacak boş alan olduğunu doğrulayın.
  • Bağlantı dizesinde (connection string) sunucu adı değişmiyorsa uygulama tarafında ek bir ayar gerekmez; yalnızca dosya yolu değişir.

Windows Sunucuda MSSQL Veri Yolu Değiştirme Neden Gerekir

Veritabanı dosyaları zamanla büyür ve başlangıçta seçilen disk yetersiz kalabilir; bazı kurulumlarda veri (.mdf) ve günlük (.ldf) dosyalarını ayrı disklere bölmek performansı artırır. Bu ihtiyaç en sık disk büyütme yerine daha hızlı bir NVMe diske geçişte ya da veri/log ayrımı yapılırken ortaya çıkar. MySQL tarafında aynı ihtiyaç datadir dizininin bulunduğu diskin dolmasıyla oluşur. Hangi veritabanı motorunu seçeceğinize henüz karar vermediyseniz MySQL avantajları yazımız karar aşamasında yardımcı olabilir.

Bilgi

Yalnızca dosya yolu değişir; veritabanı adı, tablo yapısı ve verinin kendisi etkilenmez. Doğru sırayla uygulanmayan bir taşıma, veritabanını “suspect” durumuna düşürebilir; bu yüzden yedek almadan başlamayın.

Windows sunucuda mssql veri yolu değiştirme akış şeması — çevrimdışı alma, dosya taşıma, yol tanımlama ve çevrimiçi alma adımları
Veri yolu dört adımda değişir: çevrimdışı alma, dosya taşıma, yeni yolu tanımlama, çevrimiçi alma.

Adım Adım Veri Yolu Değiştirme

MSSQL (SQL Server) İçin

  1. Mevcut dosya yollarını öğrenin. SSMS’te yeni bir sorgu açıp çalıştırın.
    SELECT name, physical_name FROM sys.master_files WHERE database_id = DB_ID('VeritabaniAdi');

    Beklenen sonuç: veri (.mdf) ve günlük (.ldf) dosyalarının tam yolu listelenir; bu yolları not edin.

  2. Veritabanını çevrimdışı alın.Microsoft’un resmi taşıma dokümanına göre önce veritabanı çevrimdışı alınır.
    ALTER DATABASE [VeritabaniAdi] SET OFFLINE WITH ROLLBACK IMMEDIATE;

    Beklenen sonuç: SSMS’te veritabanı simgesinin yanında “(Offline)” ibaresi görünür.

  3. Fiziksel dosyaları yeni konuma taşıyın. Bir önceki adımda not ettiğiniz .mdf ve .ldf dosyalarını Windows Gezgini’nden ya da robocopy ile hedef klasöre taşıyın.
    robocopy "D:\SQLData\Eski" "E:\SQLData\Yeni" *.mdf *.ldf /MOV

    Beklenen sonuç: dosyalar yeni klasörde görünür, eski klasörde kalmaz (/MOV anahtarı taşır, kopyalamaz).

  4. Yeni yolu veritabanına tanıtın. Her dosya için ayrı MODIFY FILE ifadesi gerekir.
    ALTER DATABASE [VeritabaniAdi] MODIFY FILE (NAME = VeritabaniAdi_Data, FILENAME = 'E:\SQLData\Yeni\VeritabaniAdi.mdf');ALTER DATABASE [VeritabaniAdi] MODIFY FILE (NAME = VeritabaniAdi_Log, FILENAME = 'E:\SQLData\Yeni\VeritabaniAdi_log.ldf');

    Beklenen sonuç: her iki komut da “Komut başarıyla tamamlandı” mesajı döner.

  5. Veritabanını çevrimiçi alın.
    ALTER DATABASE [VeritabaniAdi] SET ONLINE;

    Beklenen sonuç: veritabanı durumu SSMS’te “Online” olarak değişir; sistem veritabanlarını da taşıyorsanız sistem veritabanlarını taşıma dokümanındaki ek adımlar (SQL Server hizmetini durdurup başlangıç parametreleriyle yeniden başlatma) gerekir.

Dikkat

Yedek almadan bu adımlara başlamayın. Dosya taşıma sırasında bağlantı kopar ya da yanlış bir yol yazılırsa veritabanı “Recovery Pending” veya “Suspect” durumuna düşebilir; geri dönüş yolunuz yalnızca yedektir.

MySQL İçin (Veri Dizini / Datadir Taşıma)

  1. MySQL servisini durdurun.services.msc açıp “MySQL80” servisini (sürümünüze göre adı değişebilir) durdurun.

    Beklenen sonuç: servis durumu “Çalışıyor”dan “Durduruldu”ya değişir.

  2. Veri dizinini yeni konuma taşıyın. Varsayılan konum genelde C:\ProgramData\MySQL\MySQL Server 8.0\Data‘dır.
    robocopy "C:\ProgramData\MySQL\MySQL Server 8.0\Data" "E:\MySQLData" /E /MOV

    Beklenen sonuç: tüm veritabanı klasörleri ve sistem dosyaları yeni konumda görünür.

  3. Yapılandırma dosyasında yeni yolu tanımlayın.my.ini dosyasını (genelde C:\ProgramData\MySQL\MySQL Server 8.0\my.ini) açıp datadir satırını güncelleyin.
    datadir=E:/MySQLData

    Beklenen sonuç: dosya kaydedildikten sonra bir sonraki adımda servis yeni yolu okur.

  4. Servisi yeniden başlatıp bağlantıyı test edin.services.msc‘den servisi başlatın, ardından MySQL Workbench veya komut satırından bağlanın.
    mysql -u root -p -e "SELECT @@datadir;"

    Beklenen sonuç: sorgu yeni disk yolunu döner; servis olay günlüğünde hata görünmez.

Doğrulama

Sonuç

MSSQL’de SELECT name, physical_name FROM sys.master_files sorgusunu tekrar çalıştırın; yollar yeni diski göstermelidir. MySQL’de SELECT @@datadir; yeni yolu döndürmelidir. Her iki motorda da uygulamanızın veritabanına normal şekilde bağlanabildiğini ve verinin eksiksiz göründüğünü kontrol edin.

Hâlâ Çözülmediyse

  • Veritabanı çevrimiçi olmuyor.MODIFY FILE ifadesindeki yol yazımı hatalı olabilir; dosyanın gerçekten o klasörde olduğunu ve SQL Server hizmet hesabının o klasöre yazma izni olduğunu kontrol edin.
  • MySQL servisi başlamıyor.my.ini‘deki datadir yolu ile dosyaların gerçek konumu uyuşmuyor olabilir; Windows Olay Görüntüleyici’de MySQL hizmet günlüğünü kontrol edin.
  • Disk yolu ile ilgili genel bir sorun yaşıyorsanız önce MSSQL kurulum rehberindeki temel yapılandırmayı gözden geçirin.

Narhost desteği

Talebe şunları ekleyin: sunucu adı, veritabanı motoru (MSSQL/MySQL), eski ve yeni yol, aldığınız hata mesajı birebir.

Destek talebi aç

Sıkça Sorulan Sorular

Windows sunucuda MSSQL veri yolu değiştirme sırasında veri kaybı yaşar mıyım?

Doğru sırayla (çevrimdışı alma, taşıma, yol tanımlama, çevrimiçi alma) uygulandığında veri kaybı olmaz; yine de olası bir hataya karşı işleme başlamadan tam yedek almanız gerekir.

Veritabanı adını da değiştirmem gerekir mi?

Hayır, yalnızca dosyaların fiziksel konumu değişir. Veritabanı adı, tabloları ve bağlantı dizesindeki sunucu/örnek adı aynı kalır.

Bu işlem paylaşımlı Windows Hosting hesabında da yapılabilir mi?

Hayır. Windows Hosting paketlerinde panel Plesk’tir ve veritabanı dosya yolu müşteri tarafından değiştirilemez. Bu adımlar yalnızca kendi Windows Server’ınızın çalıştığı VDS ürünlerinde uygulanır.

Bu makale sorununuzu çözdü mü?

Çözemediniz mi?

Teknik ekibimiz sunucu tarafındaki ayarları sizin için kontrol edebilir. Destek talebinizde alan adınızı ve aldığınız hata metnini paylaşmanız süreci hızlandırır.

Etiketler: windows-servermssql

İlgili çözümler