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.
ALTER DATABASE [VeritabaniAdi] SET OFFLINE ile veritabanını çevrimdışı alın.robocopy ile yeni klasöre taşıyın.ALTER DATABASE [VeritabaniAdi] MODIFY FILE ile yeni yolu tanımlayıp veritabanını SET ONLINE yapı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ı 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.

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.
ALTER DATABASE [VeritabaniAdi] SET OFFLINE WITH ROLLBACK IMMEDIATE;
Beklenen sonuç: SSMS’te veritabanı simgesinin yanında “(Offline)” ibaresi görünür.
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).
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.
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.
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.
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.
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.
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.
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.
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.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.Narhost desteği
Talebe şunları ekleyin: sunucu adı, veritabanı motoru (MSSQL/MySQL), eski ve yeni yol, aldığınız hata mesajı birebir.
Sonraki adımlar
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.
Hayır, yalnızca dosyaların fiziksel konumu değişir. Veritabanı adı, tabloları ve bağlantı dizesindeki sunucu/örnek adı aynı kalır.
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ü?
Geri bildiriminiz için teşekkürler.
Çö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.