SQL Aynalama – Online SQL Veritabanı Data Aktarımı
Uzak veritabanlarını yedeklemek veya farklı MS SQL sunucuya hatasız biçimde aktarımlarını sağlamak amacıyla SQL Mirroring (aynalama) metodundan faydalanabilirsiniz.

Microsoft SQL Sunucular arasında gerek yedekleme görevi olarak ve gerektiğinde de veritabanı tabloları ve içermiş oldukları dataları aktarmak için tercih edilen yöntemlerden biri olan SQL Aynalama yöntemini adım adım ekran görüntüleri eşliğinde anlatıyorum.
Konunun anlaşılabilmesi için kullandığımız bu resim üzerinden ne yapmak istediğinizi ve nasıl yapacağınızı anlatacağız.
Index
SQL Aynalama İçin Yanlış Senaryo
Merkezi İstanbul’ da olan bir şirketin Ankara’daki şubesindeki bir çalışan geliştirdiği uygulamaya ait MS-SQL veritabanını İstanbul’da bulunan Cluster SQL sunucusuna aktaracak.
Bunun için akla ilk olarak Ankara’daki sunucu üzerinde oluşturulan yeni veritabanına ait backup dosyası oluşturmak ve bunu da eposta yada FTP ortamında İstanbul’da bulunan Sistem Yöneticisine ulaştırması gerekecektir. Her ne kadar bu da bir yöntem olsa bile versiyon farklılığı ya da güvenlik açığı gibi nedenlerden dolayı tercih edilmez.
Database Backup İçin Doğru Senaryo
Bunun yerine çok daha güvenli ve kolay olan SQL Server Export Database yöntemini ayrıntılı bir şekilde göstereceğiz. Bu işleme başlamadan önce Cluster Sunucularda Sistem yöneticiniz tarafından -IP, -yetki, -username ve -parola parametrelerinin oluşturulup size teslim edildiğini varsayarak anlatmaya başlayalım.
Anlatım tamamen ekran görüntüleri ile desteklenerek yapılacaktır. Anlatım şekli, üstte resim altta açıklaması şeklindedir. Bu nedenle resimleri daha detaylı görmek için üzerine tıklayabilirsiniz.
SQL Management
1. SQL Management “sa” yani Super Admin yetkisi ile açılır ve Cluster’a aynalanacak database üzerinde sağ tıklanır. Tasks>Export Data seçeneği seçilir.
SQL Server Import and Export Wizard
2. Açılacak olan SQL Server Import and Export Wizard ekranında Next ile bir sonraki aşamaya geçelim.
Choose a Data Source – Kaynak
3. Choose a Data Source bölümünde Source yani sizin sunucunuza ait bilgiler istenecektir. Database Source bölümünde SQL Server Native Client 11.0 seçilir. Kendi sunucunuz olduğu için Server Name bölümüne Sunucunuzun Ip adresi, Sunucu adı, localhost veya “.” nokta işareti koymanız yeterli olacaktır.
Daha sonra Use SQL Server Authentication kısmını işaretlemeniz gerekir. Hemen altında çıkacak olan user name ve password kutularına geçerli SQL bilgilerinizi giriniz. Bu aşamadan sonra Refresh butonuna bastığınızda sunucunuzda bulunan veritabanı isimleri hemen solunda bulunan check box‘a eklenir. Kopyalamak istediğiniz veritabanını buradan seçiniz ve Next butonu ile bir sonraki aşamaya geçiniz.
Choose a Destination – Hedef
4. Choose a Destination ekranında ise karşı taraf olan Cluster SQL sunucusuna ait bilgilerin 3. adımdakine benzer şekilde girilmesi istenecektir. Ancak burada problem olabilecek bir konu Server Name kısmıdır.
Burada server adı için sunucu adını girmeniz bazı durumlarda (firewall, Active Directory vb kullanımında) bağlantı hatasına sebep olabilir. Bu nedenle en doğrusu IP adresinin yazılması olacaktır. Kullanıcı adı ve parola yazıldıktan sonra karşı Cluster sunucuda sizin için açılmış ve yetkilendirilmiş veritabanlarının listesi gelecektir. Kopyalayacağınız veritabanlarının isimleri her iki sunucuda da aynı olması gerekmektedir. Database adını seçerek Next butonu ile bir sonraki adıma geçelim.
Specify Table Copy or Query
5. Specify Table Copy or Query ekranında ise sql mirroring ile tabloların ve varsa dataların karşı tarafa hangi yöntemle transfer edileceği sorulmaktadır. “Copy data from one or more tables or views” seçeneğini seçerek bir sonraki adıma geçelim.
Select Source Tables and Views
6. Select Source Tables and Views ekranında ise kaynak sunucudaki tablolar ve hedef sunucuda oluşturulacak tabloların listesi çıkar. Bunlardan hangilerini transfer edeceğiniz sorulur. En üstteki “tümünü seç” seçeneği ile tümü seçilir ve bir sonraki adıma geçilir.
Save and Run Package
7. Save and Run Package ekranında ise sql mirroring için ön tanımlı olarak gelen Run immediately seçeneği işaretlenir. Eğer bir SSL sertifikasına sahipseniz transfer işlemi SSL Güvenlik Sertifikası ile güvenli bir şekilde şifrelenerek transfer edilir.
SSL sertifikanız bulunmuyorsa transfer işlemini karşılıklı transfer basit şifreleme yordamıyla da yapabilirsiniz. Network’te karşılıklı firewall cihazları ile VPN iletişimi varsa bunların hiçbirine gerek kalmayacaktır. Run Immediately seçeneği tek başına iş görecektir. Next butonu ile bir sonraki aşamaya geçiniz.
Son Ekran -Özet
8. Complate the Wizard sayfasında ise sql mirroring için yapmış olduğunuz ayarların özeti yazmaktadır. Kontrol ettikten sonra Finish butonu ile bir sonraki aşamaya geçiniz.
Performing Operation
9. Performing Operation ekranında ise oluşturulan yeni tabloların tamamlanma yüzdesini gösterir. Burada işlem sona erdiğinde ekranda “The execution was successful” yazısını görebiliyorsanız işlem tamamlandı demektir. Eğer hatalar mevcut ise bu hataların detayına bakarak sorunları gideriniz.
Bu işlemler sona erdikten sonra İstanbul’ da bulunan Sistem Yöneticinizden veritabanını kontrol etmesini isteyiniz. SQL Export Data yöntemi ile uzak sunucuya kendi veritabanınıza ait dataları gönderdiniz. Soru ve problemler için lütfen iletişim kurunuz.