SQL Server’da İki Veritabanı Arasında Veri Aktarımı

Herkese merhaba,

Bu yazıda SQL Server’da iki veritabanı arasında, veri aktarım işleminin nasıl yapılacağından bahsedeceğim.

Yazının çıkış noktası bir öğrenci. Bu soru kendisine sorulmuş. Nasıl çözebileceği hakkında bana sordu. Sonrasında makaleye çevirmeye karar verdim.

Yapılmak istenen işlem ise şu.


Bu işlemi veritabanı seçerek (Parametrik) tüm tablolar için yapmak. (Prosedür kullanarak)

Kısaca iki veritabanının tablo ve şema isimleri aynı olacak ve birinci veritabanındaki dolu verilerin ikinci veritabanındaki boş tablolar içine aktarılması. (Tüm tablolar için yapılacak)

Bu işlem için örnek bir veritabanı oluşturup yapılacak işlemi anlatacağım.

Birinci veritabanımız ve tablolar içindeki veriler şöyle olsun.


Veritabanı ve tabloları oluşturup sonrasında ilgili verileri içine ekleyelim.

Şimdi aynı işlemi ikinci veritabanı için yapalım. Fakat bu sefer tablo içine veri eklemiyoruz.


Görüldüğü üzere ikinci veritabanı içine herhangi bir veri eklemedik.

Tablolara dikkat ederseniz iki tabloda da otomatik artan id değerleri var. Bu değerlerin insert into ile diğer tabloya aktarılması durumunda aşağıdaki gibi bir hata alacaksınız.

Cannot insert explicit value for identity column in table ‘Tablonuz’ when identity_insert is set to off.

Bunu kapatmanın yolunu öğrenmek için aşağıdaki makaleyi okuyabilirsiniz.

Makaleyi okuduysanız çözümü artık biliyorsunuz.

Şimdi gelelim esas konumuza.

Benim yapmak istediğim işlem kısaca dinamik olarak her tablo için INSERT INTO işleminin yapılması.

Aşağıdaki gibi neden yapmıyorsunuz diyenler olacak.


SQL Server’da sorguları * kullanarak kolonları alıp diğer tablonun içine ekleyemiyorsunuz.

İsterseniz deneyebilirsiniz. Sadece tek tek kolon adlarını yazarak böyle bir işlemi yapabilirsiniz.


Ayrıca burada her tablo için aşağıdaki sıkıntı da mevcut.

IDENTITY_INSERT is Set to Off Hatası.

İşte bu işlemlerin de dinamik olarak yapılması ve tablodaki verilerin diğer tabloya otomatik olarak eklenmesi için aşağıdaki gibi bir prosedür yazdım. Belki başka şekilde çözümler olacaktır. Bu konuda tarafıma her zaman yazabilirsiniz.


Prosedürü oluşturalım.

Şimdi test edelim.


Sorguyu çalıştırdığınızda ikinci veritabanı içine verilerin başarıyla eklendiğini göreceksiniz.

Görüldüğü üzere veriler başarıyla ikinci veritabanında ki iki tabloya da kopyalandı.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever. – Grafik tasarım dünyasında Indesign’ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator’e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever. -WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever. -Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever. Kısaca çok çalışmayı seven, azimli biriyim.

Yazıyı Oylayın

5/53 Değerlendirme Puanı

Yazıyı Paylaşın

SQL Server Eğitimleri Kanalına Abone Olun
Makale Özeti
SQL Server'da İki Veritabanı Arasında Veri Aktarımı
Makale Adı
SQL Server'da İki Veritabanı Arasında Veri Aktarımı
Açıklama
SQL Server'da iki veritabanı arasında veri aktarımı hakkında bilgi verildi.
Yazar
Yayınlayan
SQL Server Eğitimleri
Site Logo

İlişkili Yazılar

Kimler Neler Demiş?

avatar
 
smilegrinwinkmrgreenneutraltwistedarrowshockunamusedcooleviloopsrazzrollcryeeklolmadsadexclamationquestionideahmmbegwhewchucklesillyenvyshutmouth
  Subscribe  
Bildir