1. Ana Sayfa
  2. SQL Server
  3. SQL Server’da Bir Veritabanından Diğerine Tablo Kopyalama

SQL Server’da Bir Veritabanından Diğerine Tablo Kopyalama

importsql

Bilişim sektörü için veriyi, belirli işlemlerin üzerinde gerçekleştirilebilmesi için kullanışlı bir formata çevrilmiş bilgi olarak tanımlayabiliriz. Bilginin artışıyla beraber veriyi depolama ve yönetme ihtiyacımız da doğmuştur. Bu ihtiyaç doğrultusunda veri tabanları ortaya çıktı diyebiliriz. Verilere erişimde kolaylık sağlayan veri tabanları, verinin kullanılmasını ve güncellenmesini de kullanıcılar için son derece kolaylaştırmaktadır. Microsoft tüm bu işlemleri kullanıcılar için son derece basit hale getirirken, en fazla kullanılan veri tabanı sunucusu olarak karşımıza çıkmaktadır. Verilerin belirli bir kaynaktan hedefe aktarılması gereksinimi için ise Microsoft , sihirbazını bizlere sunmaktadır. Örneğin eğer tablo taşımak istiyorsanız, tabloyu manuel olarak kaynak veri tabanından Excel dosyasına kopyalayıp, oradan da hedef veri tabanına aktarmak yerine, SQL Server’ın sunduğu bu sihirbaz sayesinde Next -> Next -> … -> Finish ile dilediğiniz taşıma işlemini kolaylıkla gerçekleştirebilirsiniz. Çeşitli kaynaklar arasında veri transferi sağlayan bu hizmetin, sunucular arasında veri aktarımındaki rolü nedir, beraber görelim.

SQL Server Import and Export Wizard, aynı sunucu üzerinde farklı veri tabanları arasında yapmanın yanında, farklı sunucular arasında tablo veya veri tabanı aktarımı yapma gibi imkânlar da sağlamaktadır. Verileri aktarmadan önce araya bir sorgu ekleyip, sorgunun sonucunu da hedef veri tabanına aktarabilirsiniz.

Import and Export Wizard’ı iki farklı şekilde kullanarak veri tabanı sunucuları arasında tablo aktarım işleminizi gerçekleştirebilirsiniz:

  1. Hedef sunucuda tablonun taşınacağı veri tabanına sağ tıklayıp Tasks -> Import Data seçerek
  2. Kaynak sunucuda taşınacak tablonun yer aldığı veri tabanına sağ tıklayıp Tasks -> Export Data seçerek

Biz 2. seçenek ile ilerleyeceğiz. Ancak 2. seçeneği yaptıktan sonra mantığını kavramış olacağınızdan, dilerseniz 1. seçenek ile de kolaylıkla ilerleyebileceksiniz.

  • Kaynak sunucuya SQL Server üzerinden giriş yapıldıktan sonra, taşınacak tablonun yer aldığı veri tabanının üzerine sağ tıklanarak Tasks -> Export Data seçeneğine tıklanır.

Resim-1

  • Welcome to SQL Server Import and Export Wizard ekranının açıldığı görülür. Bu ekranda Next butonuna tıklanır.

Resim-2

  • Choose a Data Source ekranının açıldığı görülür. Bu ekranda Data Source alanı ‘ SQL Server Native Client 11.0 ‘ seçilir ve Next butonuna tıklanır.

Resim-3

  • Choose a Destination ekranının açıldığı görülür. Bu ekranda Destination alanı ‘SQL Server Native Client 11.0’ olarak seçilir. Server Name alanına tablonun taşınacağı veri tabanının yer aldığı hedef sunucunun adı yazılır ve Database alanında ise tablonun taşınacağı veri tabanı seçilir. Next butonuna tıklanır.


Resim-4

  • Specify or Query ekranının açıldığı görülür. Bu ekranda iki farklı seçenek bulunmaktadır. Bize tüm verilerin var olan tablolardan mı yoksa bir sorgu sonucundaki veri kaynağından mı kopyalanması istendiği sorulmaktadır. Yani ikinci seçenek, kaynak SQL sunucusu için bir sorgu yazarak sadece o sorgu sonucundaki verileri de hedef sunucuya kopyalama imkânı sunmaktadır. Biz ilk seçenek ile ilerleyeceğiz. ‘Copy Data From One or More Tables or Views’ seçeneği seçilir ve Next butonuna tıklanır.


Resim-5

  • Select Source Tables and Views ekranının açıldığı görülür. Bu ekrandaki tabloda Source sütunundan kopyalanacak olan tablo bulunur ve solundaki kutucuğa tıklanır. Destination alanı için hedef tablo seçilir ya da yeni bir tabloya aktarılacaksa oluşturulması istenen tablonun adı girilir. Edit Mappings butonuna tıklanır.


Resim-6

  • Column Mappings ekranının açıldığı görülür. Ekranda pasif gelen Delete Rows in Destination Table ve Append Rows to Destination Table seçenekleri, bir önceki adımda Destination alanında var olan bir tabloyu seçmeniz durumunda aktif olmaktadır. Bu seçenekler bize, hedef tablodaki verilerin silinmesi ya da üzerine ekleme yapılması alternatifini sunmaktadır. Enable Identity Insert seçeneği, Id değerlerinin kaynak veri tabanından hedef tabloya taşınmasını sağlamaktadır. Enable Identity Insert seçeneği tiklenerek OK butonuna tıklanır.


Resim-7

  • Select Source Tables and Views ekranında Next butonuna tıklanır.

Resim-8

  • Save and Run Package ekranının açıldığı görülür. Bu ekranda SSIS paketinin kaydedilip kaydedilmeyeceği seçeneğini belirtebilirsiniz. Kaydetmeden ilerleyeceğimiz için Next butonuna tıklanır.


Resim-9

  • Complete the Wizard ekranının açıldığı görülür. Bu ekran, şimdiye kadar yapmış olduğumuz seçimleri doğrulamanızı sağlamaktadır. Adımlarımızdan emin olduktan sonra Finish butonuna tıklanır.


Resim-10

  • The Execution was Successful ekranının açıldığı görülür. Ekran Close butonuna tıklanarak kapatılır.

Resim-11

Success mesajı ile birlikte SQL Server Import and Export Wizard aracılığıyla kaynak sunucudaki bir veritabanından, hedef sunucuda yer alan farklı bir veritabanına tablo kopyalama işlemimiz başarılı bir şekilde tamamlanmış oldu. Şimdiye kadar yapmış olduğumuz adımlarda kaynak ve hedef sunucuları aynı girerek, aynı sunucu üzerinde farklı veritabanları arasında da tablo aktarımı işleminizi kolaylıkla gerçekleştirebilirsiniz. Tabloyu hedef sunucudaki veri tabanında görüntüleyerek işlemi doğrulayabilirsiniz. Bunu yapmadan önce tabloları Refresh etmeyi unutmayın.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: , SQL Server, SQL Server Import and Export Wizard, Tablo aktarımı, , Table Copy, , , ,

Yorum Yap

Yazar Hakkında

İTÜ Matematik Mühendisliği ana dalından mezun olmadan önce Bilgi İşlem Daire Başkanlığı’nda 1 sene asistan öğrencilik yaparak bilgi teknolojileri sektörüne altyapımı daha iyi hazırlama fırsatım oldu. Mezun olduktan sonra Mercedes Benz Finansal Hizmetler şirketinde Database Administrator olarak çalışmaya başladım. Paralelde İTÜ’de ikinci ana dalım olan İşletme Mühendisliği’ne devam etmekteyim. Aynı zamanda DevOps trendlerini de takip ederek kendimi DevOps Engineer olarak geliştirmekteyim.

Yorum Yap

Yorumlar (1)

  1. Tebrikler bilgilendirici bir yazı olmuş