Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
SQL Server ile Mirroring
#1
Merhaba arkadaşlar,

Bu konuda SQL Server ile Mirroring işleminin nasıl yapılacağını anlatacağım. Benzer bir konuyu Firebird veritabanı için daha önce anlatmıştık :
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Firebird için bu işlemi yapmak çok kolay olsa da, SQL Server için biraz zaman ayırmak gerekiyor. Ama daha sağlam bir altyapı olduğunu da baştan kabul etmek lazım.

SQL Server ile Mirroring yapabilmek için veritabanımızın RECOVERY MODEL'i FULL olarak belirlenmiş olması gerekiyor.
Bunu SQL Server Management Studio'da veritabanınızın üzerine sağ tıklayınca çıkan menüden OPTIONS'ı seçip oradan Recovery Model'i FULL olarak seçerek de yapabilirsiniz, ya da isterseniz T-SQL kodu ile :

ALTER DATABASE Veritabanı SET RECOVERY FULL

şeklinde de yapabilirsiniz.

Mirroring işlemi için önce bazı temel kavramlardan bahsedelim. Şimdi, SQL Server'da Mirroring ister 2 bilgisayar arasında isterseniz de 3 bilgisayar arasında kurulabilir. Birinci bilgisayar, PRINCIPAL SERVER dediğimiz ve asıl veritabanımızın olduğu bilgisayar olarak geçer. MIRROR olarak ikinci bilgisayarı kullanıyoruz. Bir de, WITNESS dediğimiz ve ŞAHİT olarak çevirebileceğimiz bir üçüncü bilgisayar olabilir. WITNESS Mecburi değildir. Ama olması kesinlikle tavsiye edilir. Üçüncü bir bilgisayarın olmadığı durumlarda, MIRROR olarak kullandığınız bilgisayara bir tane SQL Server Instance'ı daha kurup onun üzerinden de WITNESS rolünü kullanabilirsiniz. Witness yani şahit, birinci ve ikinci bilgisayar arasında kurulmuş olan Mirroring işleminin sorunsuz çalıştığını sürekli denetleyen (bir anlamda şahitlik eden) bir yapı. Birinci bilgisayar, witness olan sunucuya "Ben şu anda çalışıyorum sıkıntı yok" mesajı veriyor. İkinci bilgisayar da aynı şekilde. Eğer birinci (PRINCIPAL) sunucudan kapanma, elektrik kesintisi, yeniden başlatma, kilitlenme vb. sebeplerle böyle bir mesaj gelmezse, witness otomatik olarak ikinci sunucuyu devreye sokuyor ve Mirror olan sunucuyu asıl sunucu yapıyor. Ta ki birinci bilgisayar "ben artık hazırım" deyinceye kadar. O zaman yine görevi devrediyor.

Yine önemli bir adım olarak, 1433 olan normal SQL server portu dışında mirroring işlemi için kullanacağımız 5022,5023 ve 5024 portlarının da güvenlik duvarlarında açık olması gerekiyor. Yoksa işlem sonunda hata alırsınız.

Şimdi yavaş yavaş kuruluma başlayalım. Önce PRINCIPAL (yani asıl veritabanımızın olduğu bilgisayar) sunucudan veritabanımızın FULL BACKUP 'ını alıyoruz.

bW7SGgesU.jpg

İsterseniz, T-SQL Komutları ile de :

BACKUP DATABASE db1 TO DISK = 'd:\yedek\Backup.bak';

şeklinde de alabilirsiniz. FULL BACKUP aldıktan sonra, MIRROR olarak kullanacağımız bilgisayara geçip NO RECOVERY modunda RESTORE ediyoruz.

7BvHW.jpg

Yine aynı işlemi T-SQL ile :

RESTORE DATABASE db1 FROM DISK = N'd:\yedek\Backup.bak'  WITH NORECOVERY

şeklinde de yapabilirsiniz.

NORECOVERY modunda restore işlemi yaptığımız zaman, veritabanımızın yanında RESTORING... yazacaktır :


Şimdi veritabanımız bu durumda iken, PRINCIPAL olarak bildiğimiz birinci bilgisayardan veritabanımızın üzerine sağ tıklayarak TASKS menüsünden MIRROR'ı seçiyoruz :

6CfXj15y.jpg

Karşımıza gelen ekrandan CONFIGURE SECURITY yazan yere tıklıyoruz :

DHTvstC.jpg

Aşağıdaki gibi bir sihirbaz bizi karşılıyor :

xJ1MhmGNji.jpg

İlk önce bize, WITNESS (şahit) olarak kullanmak istediğimiz bir SQL server sunucusu veya INSTANCE'ı var mı diye soruyor. Eğer Witness kullanacaksak YES diyoruz. Witness olmadan da Mirroring işlemi yapılabilir.

Yoksa hayır deyip geçebilirsiniz. :

tYpeO6.jpg

İkinci ekranda yine Witness kullacaksak kontrollerimizi yapıp NEXT diyoruz :

xYTg.jpg

Birinci sunucu için konfigürasyon ekranı bizi karşılıyor. Buradaki PORT ve ismi değiştirmenizi tavsiye etmem, olduğu gibi bırakabilirsiniz. SQL Server default olarak "Mirroring" ismini kullanıyor :

Z7E9gIp6q.jpg

NEXT deyip geçtikten sonra, şimdi sıra geldi MIRROR olarak kullanacağımız bilgisayar için ayarlara. Yine aynı şekilde bırakabilirsiniz :

zRgBkMJQv5.jpg

Next deyip geçtiğimizde, Witness kullanmayı da seçmişsek (ki ben seçtim) onun da ayarlarını yapabileceğimiz diğer ekran geliyor. Yine burada da NEXT diyerek geçebilirsiniz :

p5owXafn3.jpg

Burada da NEXT deyip geçtikten sonra, PRINCIPAL,MIRROR ve WITNESS sunucuların birbirleriyle hangi kullanıcı hesapları ile bağlanacağını ayarlıyoruz. Eğer DOMAIN kullanıyorsanız DOMAIN yönetici hesaplarından birini yazabilirsiniz, değilse her sunucunun kendi kullanıcı adı ve şifresini kullanabilirsiniz. Her sunucu için aynı kullanıcı adı ve şifreyi kullanmayı tavsiye ederim.

ToJGy.jpg

NEXT dediğimizde Bütün ayarlamalar tamam olduğu için, sihirbaz adımlarının tamamlandığını ve artık Mirroring işlemini başlatabileceğimizi bildiriren FINISH ekranı geliyor :

gop82Q.jpg

Finish düğmesine bastığımızda, belirlediğimiz sunucular için gerekli olan portlar ve kullanıcı ayarları yapılıyor. Eğer her şey sorunsuz olarak ayarlandıysa, aşağıdaki gibi bir ekran karşımıza gelecektir :

sulO1U.jpg

Burada eğer erişim problemi ile karşılaşırsanız güvenlik ile ilgili ayarlamalardan dolayı bir sıkıntı olabilir. Şu şekilde bir SQL kodunu her sunucuda çalıştırırsanız muhtemelen sorun çıkmayacaktır :
GRANT CONNECT ON ENDPOINT::Mirroring TO PUBLIC

Close düğmesine bastığımızda, gerekli tanımlamaların sorunsuz şekilde yapıldığı ve Mirroring işlemini başlatmak isteyip istemediğimizi soran aşağıdaki ekran gelecektir :

uM8jX.jpg

Burada START MIRRORING dediğimizde artık MIRROR işlemini sorunsuz olarak kurmayı başarmışız demektir Smile

Şimdi, PRINCIPAL olan birinci bilgisayarımızdan baktığımızda veritabanımızı şu şekilde göreceğiz :

4Wh1mF6.png

Mirror olarak kullandığımız bilgisayarda da şu şekilde :

gaEQnkZfT.png

Görüldüğü gibi veritabanlarımız şu anda senkronize edilmiş vaziyette. Burada yazılan yazılar değişebilir, şöyle ki PRINCIPAL olan sunucu bir şekilde kapandığında MIRROR olan sunucu görevi devralır ve artık kendisi PRINCIPAL olur. Sunucu açıldığında ise yeniden görevi PRINCIPAL sunucuya devreder. Bütün bu işlemleri WITNESS olarak belirlediğimiz sunucu otomatik olarak yapar.

Bu makale ile de SQL server için Mirroring kurulumunu anlatmış olduk.

Faydalı olması dileğiyle.

E.O.F.  (End Of Fun )
Rolleyes
Cevapla
#2
Parmaklarına sağlık güzel bir makale olmuş
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#3
(09-03-2017, Saat: 11:29)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlParmaklarına sağlık güzel bir makale olmuş

Rica ederim hocam.
Vakit buldukça paylaşacağım daha çok makale var ama o kadar zamanım yok Smile

E.O.F.  (End Of Fun )
Rolleyes
Cevapla
#4
(09-03-2017, Saat: 12:05)ramazan_t Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(09-03-2017, Saat: 11:29)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlParmaklarına sağlık güzel bir makale olmuş

Rica ederim hocam.
Vakit buldukça paylaşacağım daha çok makale var ama o kadar zamanım yok Smile

Kesinlikle,
Hayatta en değerli olan şeyi, buraya makale yazmak ile harcamanız takdire şayan.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#5
Elinize bilginize sağlık.

“Do. Or do not. There is no try.”
Cevapla
#6
Eline, emeğine sağlık..
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#7
yüreğinize sağlık hocam. allah klavye tutan parmaklarınıza zeval vermesin
Cevapla
#8
Ememğinize sağlık... Devamının bekliyoruz
Alıntı:
yarumdan ayrildum gözlerum nemli nemli 

rakı haramdur diye çay içtum demli demli...Heart 
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  SQl Server içinde değere göre kontrol yapmak Bay_Y 5 242 22-05-2018, Saat: 23:01
Son Yorum: elixir84
  SQL Server Üzerinden Kümülatif Toplam Gösterimi adelphiforumz 4 355 16-03-2018, Saat: 09:15
Son Yorum: esistem
  MSSQL Server Hakkında Bilmek İstedikleriniz esrehmaan 23 2.216 19-02-2018, Saat: 09:57
Son Yorum: klavye
  Sql Server Otomatik Kurulum narkotik 7 400 13-01-2018, Saat: 22:30
Son Yorum: narkotik
  SQL Server veritabanını Suspect & Emergency modundan kurtarmak Abdullah ILGAZ 2 417 23-12-2017, Saat: 08:52
Son Yorum: Abdullah ILGAZ



Konuyu Okuyanlar: 1 Ziyaretçi