Son günlerde Windows sık sık mavi ekran vermeye başladı. Ben de bunun Windows’un Linux’a geç çağrısı olduğunu düşünmeye başladım ?. Bir süredir zaten niyetim olan bu değişiklik için ihtiyacım olan bahaneyi sonunda bulmuş oldum. Gerekli dosyalarımı yedekledim. Veritabanı dışa aktarma işlemi hakkında yeterli bilgim yoktu ve bazı soru işaretleri vardı: “SQL Veritabanı Nasıl Taşınır?”, “”
Bu konuda kısa bir araştırma yaptım. Veritabanı dışa aktarma işlemini tüm tablolar ve data ile birlikte script olarak yapabileceğimi öğrendim. Script olarak aktarmayı tercih etmemdeki sebep, GitHub hesabım üzerinde yer alan projelere de ilgili veritabanlarını iliştirebilmek ?.
Araştırmalarım sonrasında veritabanı dışa aktarma, SQL veritabanını script olarak dışa aktarma, SQL veritabanını script’ten içe aktarma, SQL veritabanını Docker’a aktarma konularında notlarımı aşağıda bulabilirsiniz:
SQL Veritabanı Dışa Nasıl Aktarılır? (Script Olarak)
SQL Server veritabanı dışa aktarma işlemi için farklı alternatifler mevcuttur. Özellikle de SQL database’i veri ile birlikte dışa aktarmak istiyorsanız script olarak kolayca aktarabilirsiniz.
- Aktarmak istediğimiz tablonun üzerine sağ tıklıyoruz, Tasks -> Generate Scripts seçimini yapıyoruz.

- Tüm SQL veritabanını dışa aktarmak istediğim için açılan pencerede Script entire database and all database objects’i seçerek devam ediyorum. Siz farklı bir bölümünü yedeklemek istiyorsanız diğer seçenek ile kurguyu özelleştirebilirsiniz.

- İşaretli olan kutucukları seçtikten sonra Advanced yazan butona tıklıyoruz.

- Advanced seçenekleri arasında yer alan Types of data to script kısmını Scheme and data yapıyoruz. Burada ben SQL Server veritabanını hem şema olarak hem de data olarak dışa aktarmak istediğim için bu seçimi yaptım. Eğer sadece veriyi ya da şablonu aktarmak istiyorsanız bu kısımdan size uygun seçimi yapabilirsiniz.

- Bu aşamadan sonra next diyerek devam ettiğinizde belirtmiş olduğunuz dosya yoluna ilgili dosya oluşacaktır. Veri tabanı dışa aktarma işlemini tamamlamış oldunuz.

SQL Script’i İçe Aktarma (Server + Docker)
Oluşturmuş olduğunuz bir SQL Server veritabanı script’ini içe aktarmak için yapmanız gereken oldukça basittir. Database’i oluşturmak istediğiniz sunucuya bağlanın. Sunucuya bağlandıktan sonra oluşturmuş olduğunuz script’i çift tıklayarak açın. Açtıktan sonra script’i run ederek veritabanını kolayca oluşturabilirsiniz.
Bu aşamada “Directory lookup for the file failed with the operating system error 3 (The system cannot find the path specified.)” şeklinde bir hata alıyorsanız, çözümü aşağıda bulabilirsiniz.
“Directory lookup for the file failed with the operating system error 3 (The system cannot find the path specified.) Hatası
Veritabanı oluştururken “Directory lookup for the file failed with the operating system error 3 (The system cannot find the path specified.)” şekilde bir hata almış olabilirsiniz:

Bu hatanın temel sebebi,
“FILENAME = N’C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\CarRental.mdf”
olarak belirtilen dosya yolunun bulunamıyor olmasıdır. Bu durum taşıdığınız ve taşımakta olduğunuz SQL Server sürümlerinin birbirinden farklı olmasından kaynaklanabilir. İlgili dosya yolunu takip ettiğinizde, C-> Program Files -> Microsoft SQL Server dizininde “MSSQL15.MSSQLSERVER” bu klasörün ismini kontrol ederek uygun şekilde güncelleyiniz. Örneğin sizde “MSSQL17.MSSQLSERVER” ise aşağıdaki gibi revize edilmelidir:
“FILENAME = N’C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\CarRental.mdf”
İlgili değişiklik yapıldıktan sonra kodu run ettiğinizde bir hata kalmayacaktır.

SQL Veritabanını Docker Server’a Aktarma
Docker kullanmanız durumunda dışa aktarma noktasında herhangi fark olmayacaktır. Aradaki tek fark Docker üzerinde çalıştırmış olduğunuz SQL Server’ın dosya dizininin farklı olmasıdır.
Docker’da varsayılan olarak dosya yolu şu şekilde olacaktır:
“FILENAME = N’/var/opt/mssql/data/CarRentalTest.mdf’”
Tüm yazılarıma ulaşmak için buraya, projelerime ulaşmak için buraya tıklayabilirsiniz.
Kodla kalın ?