Ana Sayfa / SQL SERVER / Sql Server Makale / Sql Server Mirroring (aynalama) ile iki server’ı birbirine bağlama
15 Mart 2010	Sql Server Makale, Sql Server Soru - Çözüm Yorum yap 459 Görüntüleme
Sql Server Mirroring Sql Serverda bulunan senkranizasyon ve bir sql serverın bozulması , fail yada bir şekilde hata vererek çalışmaması durumunda eş zamanlı işlem yaptığı diğer başka bir server?a yaptığı işlemler diyebiliriz.
Mirroring (aynalama) yani bir işlem normal olarak servera kayıt edildiğinde otomatik olarak diğer servera da kayıt eder ve eğer fail ile karşılaşırsa yani çalışmama durumlarında diğer server otomatik olarak devreye girip server?ın çalışmasını ve bilgi kaybını ayrıca ilgili tüm sistemlerin minimum bilgi kaybı ile çalıştırır.
-Sistem herhangi bir hata olduğunda (automatic failover) sistem sayesinde bozuk olan sistem devre dışı kalır ve diğer çalışan sistem devreye çok kısa bir zamanda girer.
-İki serverında devamlı çalışması ve ikisine birden aynı işlemleri yaparak log kullanılarak senkronize olmasını sağlar.
Normal olarak Mirroring yapmak için bize microsoftun önerdiği 3 adet server bilgisayar gerekir.
1.Ana server bilgisayar.
2.Backup alınacak mirroring yapılanbilgisayar.
3.Bilgisayar ilk ikisini kontrol edebilecek bilgisayar. Ancak 2 bilgisayar ilede mirroring yapılarabilir.Tüm transactionlar 1.Bilgisayarda çalışır işlemler onun üstüne sorgulamalar bu bilgisayar ile çalışır.Çalışan sorgulamalar aynı şekilde 2.Bilgisayardada çalışır.Böylece iki bilgisayardaki bilgiler eşitlenmiş olur. Mirroring işlemi veritabanı olarak yapılır.
Mirroring işlemi nasıl yapılır ?
2 bilgisayar arası mirroring yaparken kontrol eden 3. bilgisayar yoksa zorunlu olarak hepsini 2 bilgisayardayaptırabilir.
1.Ana bilgisayardan veritabanının full backup alınarak
2.Bilgisayara restore edilir.Daha sonra 1.Bilgisayardan log backup alınarak 2.Bilgisayara log restore edilir.Daha sonra Endpointler oluşturalarak , Sql Server Management Studio içerisinde mirroring seçilerek , çalışma modu seçilir.Port ayarlarıyla birlikte çalışmasını sağlayabiliriz.Restore işlemlerini Norecovery olarak yapmalıyız. Sql Server Agentın çalışması şartdır.
Bunların dışında bir örnekle mirroringişlemini birlikte yapalım.
Seneryoda 2 adet bilgisayarımız bulunmakta.
2 adet sqlserver vardır.1.Bilgisayar Ana bilgisayar sql server1
2.Bilgisayar Sql Server2
1.Bilgisayar ayrıca kontroller witness sunucudur.
1.Bilgisayardaki aşağıdaki işlemler yapılır.
Sql Backup Alınır
BACKUP DATABASE Kaynak TO
//Log Backup Alınır
Backup Log Kaynak to Disk=?C:\Veritabani_log.bak?
-Alınan backup 2.Bilgisayara restore edilir
FROM DISK=?C:\Veritabani.BAK? WITH
NORECOVERY,?Norecovery cok onemli
MOVE ?Veritabani? TO ?C:\Veritabaniadi.mdf?,
MOVE ?Veritabani_Log? TO ?C:\Veritabani.ldf?
-Alınan Log 2.Bilgisayara restore edilir
Restore Log Kaynak from Disk=?C:\Veritabani_log.bak?
with NORECOVERY ?Norecovery?ye dikkat
?1.Bilgisayar ana bilgisayarda endpoint olusturmaliyiz.
Create Endpoint Aynamala
Aynı sorguyu 2.bilgisayardada çalıştırmalıyız.
Daha sonra dışarıdan gelen isteklere yanıt verecek port dinleyicelerini oluşturamalıyız.
Öncelikle 2.Bilgisayarda bunu çalıştırmalıyız
ALTER DATABASE [Veritabani] SET PARTNER = N?TCP://bilgisayar2:5001′
Şimdide Çalışan canlı servera yani
bilgisayar1de aşağıdaki kodları çalıştıralım
ALTER DATABASE [Veritabani] Set Partner= ?TCP://bilgisayar1:5002′;
En son olarak kontroller olarak çalışıcak bilgisayarı göstermemiz gerekecek.Ana bilgisayarda serverda yani bilgisayar1 de aşağıdaki kodu çalıştırın
ALTER DATABASE [Veritabani] SET WITNESS = N?TCP://bilgisayar1:5003′
Artık çalışmaya başlamış durumdadır.Eğer bir hata alırsanız yazıdaki gibi adımları tek tek yapmadığınız anlamına gelir.
2.Seçenek olarak service pack 1 kurulu olmadığı için hata alabilirisiniz.
Aşağıdaki cümle ile mirroring durdurabilirisiniz.
ALTER DATABASE [veritabani] SET PARTNER SUSPEND
Aşağıdaki cümle ile mirroringi devam ettirebilirsiniz.
ALTER DATABASE [veritabani] SET PARTNER RESUME
Etiketler(Listener_Port= ALTER DATABASE automatic automatic failover aynalama backup bakcup server database endpoint fail failover failover system iki server iki server bağlam iki server bağlantı iki server birbirine bağlama iki server birleşim iki serverı birbirine bağlama mirroring Mirroring (aynalama) norecovery partner suspend restore Role=Witness senkranizasyon server Server Management Studio SET PARTNER sql sql server system with