Forum

2 sql serverı senkr...
 
Bildirimler
Hepsini Temizle

2 sql serverı senkronize edebilir miyiz?

Anonim
(@anonim)
Üye

Firmamızda Server 2003 üzerine kurulu SQL 2005 bulunmakta. Ticari program kayıtları sql serverda depolanıyor. Seyahat veya tatil öncesi çalışma yapmak için Server 2003'te bulunan SQL den backup alıp, notebookta bulunan sql servera restore yapmam gerekiyor.


Sorum şu : 2 sql arasında senkronize yapmam mümkün mü? Yani bu işi backup - restore değilde tek hamlede yapabilir miyim?


( incremantal backup benzeri bir senkronizasyon da olabilir)


( İki sql serverda birbirinde bağımsız çalışıyor.)

Alıntı
Topic starter Gönderildi : 31/05/2010 17:15
CozumPark
(@cozumpark)
Onursal Üye Yönetici

Selam, yapılabiliyor diye biliyorum, SQL ciler net cevaplar verecektir tabi ama linki inceleyin : http://technet.microsoft.com/en-us/library/bb510670.aspx

CevapAlıntı
Gönderildi : 31/05/2010 17:22
CozumPark
(@cozumpark)
Onursal Üye Yönetici

[quote user="cesibrown"]

Firmamızda Server 2003 üzerine kurulu SQL 2005 bulunmakta. Ticari program kayıtları sql serverda depolanıyor. Seyahat veya tatil öncesi çalışma yapmak için Server 2003'te bulunan SQL den backup alıp, notebookta bulunan sql servera restore yapmam gerekiyor.


Sorum şu : 2 sql arasında senkronize yapmam mümkün mü? Yani bu işi backup - restore değilde tek hamlede yapabilir miyim?


( incremantal backup benzeri bir senkronizasyon da olabilir)


( İki sql serverda birbirinde bağımsız çalışıyor.)


[/quote]


Merhaba. 


Kaynak SQL Server'dan veriyi alan ve hedef SQL Server'a bunu geri yükleyen bir sorgu yazarak işlemi tek adıma düşürebilirsiniz.


İyi çalışmalar.

CevapAlıntı
Gönderildi : 31/05/2010 19:05
Anonim
(@anonim)
Üye

maalesefki sorgu yazmayı bilmiyorum [:(]

CevapAlıntı
Topic starter Gönderildi : 01/06/2010 13:11
CozumPark
(@cozumpark)
Onursal Üye Yönetici

[quote user="cesibrown"]

Firmamızda Server 2003 üzerine kurulu SQL 2005 bulunmakta. Ticari program kayıtları sql serverda depolanıyor. Seyahat veya tatil öncesi çalışma yapmak için Server 2003'te bulunan SQL den backup alıp, notebookta bulunan sql servera restore yapmam gerekiyor.


Sorum şu : 2 sql arasında senkronize yapmam mümkün mü? Yani bu işi backup - restore değilde tek hamlede yapabilir miyim?


( incremantal backup benzeri bir senkronizasyon da olabilir)


( İki sql serverda birbirinde bağımsız çalışıyor.)


[/quote]


Merhaba,


Konuyla ilgili makaleyi inceler misiniz.


http://www.cozumpark.com/blogs/sql/archive/2010/01/17/sql-server-2005-de-ship-transaction-logs-zelli-inin-aktif-hale-getirilmesi-log-shipping.aspx


Kolay Gelsin

CevapAlıntı
Gönderildi : 01/06/2010 13:24
CozumPark
(@cozumpark)
Onursal Üye Yönetici

[quote user="Haydar ARICI"]

Merhaba,


Konuyla ilgili makaleyi inceler misiniz.


http://www.cozumpark.com/blogs/sql/archive/2010/01/17/sql-server-2005-de-ship-transaction-logs-zelli-inin-aktif-hale-getirilmesi-log-shipping.aspx


Kolay Gelsin


[/quote]


Haydar bey öncelikle çok güzel hazırladığınız ve keyifle okunan makaleniz için teşekkür ederim.


Yalnız makaledeki gördüğüm (aslında bu mesajlaşma için makalede geçip geçmediğini incelediğim) bir eksikliği paylaşmak isterim.


Ship Transaction Log özelliğinin aktif olabilmesi için öncelikle recoveriy model özelliğini "full" ya da "bulk-logged" olarak ayarlamalıyız.


Ayrıca sql server'ın versiyonu da en düşük Enterprise olmalı.


Yanlış anlaşılmasın; bunları yazıyorum çünkü bu sorunun çözümü olarak log shipping'in tavsiye edilmesiyle ilgili kaygılarım var; bunları paylaşmak isterim:



  • Kullanıcı sorgu yazmayı bilmediğini söylüyor. Sorgu yazamayan bir kullanıcının full recovery modelindeki bir transaction log dosyasını yönetmesi ne kadar mümkündür diye tekrar düşünmek lazım. Bu meziyet ciddi bir deneyim ve bilgi düzeyi gerektirir.

  • Kullanıcı sql versiyonunu belirtmemiş ama laptop'unda bile bulunduğuna göre express sürümü kullanıyordur ki bu durumda log shipping kullanamayacaktır.

  • Log shipping elle çalıştırılan değil; zamanlanan bir özelliktir. Dolayısıyla kullanıcının talep ettiği "tek tıklamayla" yapılacak bir işlem değildir. Ayrıca secondary olarak ayarlanan "laptop"ımızın sürekli ağa bağlı olmadığını düşünürsek primary sql server sürekli olarak secondary'yi arayacak; bu da küçük bir oranda ağda, normal bir oranda sql server'da performans düşüklüğüne neden olacaktır.

  • Makalenizde secondary server'a aktarılan transaction log'ların kullanılır hale sokulabilmesi ile ilgili bilgi yer almıyor. Transaction Log Shipping ile aynalanmış olan veritabanı otomatik olarak felaket anını tespit edemez; ya üçüncül bir server oluşturulmalı (Monitor Server olarak da geçer) ya da elle sorgu çalıştırılarak secondary serverdaki yani laptop'taki veritabanının kullanılır hale sokulması gerekmektedir. Yani siz log shipping yaptığınız laptop'ı sistemden ayırıp; yazılıma veritabanının bureada olduğunu söyleseniz de server'da veritabanının bulunamadığına dair hata mesajı alırsınız. Kopya yedeğin kullanılabilmesi için secondary server'da "RESTORE DATABASE [VeritabaniAdi] WITH RECOVERY" sorgusunun çalıştırılması gerekmektedir.Ancak böylece veritabanı kullanılabilir olur.

  • Veritabanı tekrar kullanılabilir hale geldikten sonra şu sorun ortaya çıkar: siz laptop'ı gidip de tekrar sisteme takarsanız bu sefer Ship Trabsaction Log teknolojisi çalışmaz; yani veritabanı artık kopyalanmaz. Sizin elle secondary server'dan veritabanını silmeniz, primary server'da ship transaction log özelliğini elle kapatmanız ve ardından yeniden yapılandırmanız gerekir ki bu bizim "tek tıklamayla" talebimize TAMAMEN ters bir işlem olacaktır.

Kısaca aklıma bu kaygılar geldi; düşündükçe arttırılabilir ya da benim yanlış düşündüğüm kısımlar sayesinde azaltılabilir ama ben bu bayın talebi için hala basit bir sorgu yazılması, bu sorgunun masaüstündeki bir metin belgesinde saklanması ve işimiz oldukça çalıştırılmasından yanayım. Hem tüm sql versiyonlarında ve sürümlerinde çalışır hem de "en kısa" yöntemdir.


Tek amacımız paylaşım; sürç-i lisan ettiysek affola.


Herkese bol kazançlı çalışmalar diliyorum [:)]

CevapAlıntı
Gönderildi : 01/06/2010 15:19
CozumPark
(@cozumpark)
Onursal Üye Yönetici
CozumPark
(@cozumpark)
Onursal Üye Yönetici

Mert Bey Merhaba,


    * Log Shipping özelliği Recovery ederken komuta ihtiyaç var ,fakat istenirse bu komutarı bir exe haline dönüştürülerek daha basit bir şekilde database Recovery edilebilir, 


    * Kullanıcı Recovery işlemi gercekleştirdikten sorna tekrar Log Shipping fonsiyonunu tekrarlaması gerekir,


    * Kullanıcı boyle bir yapıya geçmek isterse Notebook da bulunan Sql versiyonunu enterprise sürümüne yükseltmesi gerekir,


    * Dediğininiz gibi Log Shipping zamanlandırılmış bir görev olarak çalışır ,fakat istenirse bu job elle de başlatılabilir.


Eğer kullanıcının bir amacı da  veri kaybını minimuma indirmek ve iki veritabanı arasında dataların tutarlılığını sağlamak ise bu yöntem kullanılabilir. Ya da sizin belirttiğiniz gibi daha basit bir yöntem kullanılabilir. Kaygılarınızda haklı olduğunuz yanlar var, çünkü Sql Server 'ın bu özelliği genelde Disaster senaryoları için öneriliyor ( ve daha zor bir yönetemdir. )


 


Kolay Gelsin  


 


 

CevapAlıntı
Gönderildi : 01/06/2010 17:21
Anonim
(@anonim)
Üye

Evet Mert beyin dediği gibi notebookta sql express 2005 kullanılıyor. üzerine client managemet yüklü. Server da bulunan sürüm ise SQL 2005 Standart SP3.

CevapAlıntı
Topic starter Gönderildi : 05/06/2010 12:19
CozumPark
(@cozumpark)
Onursal Üye Yönetici

[quote user="cesibrown"]Evet Mert beyin dediği gibi notebookta sql express 2005 kullanılıyor. üzerine client managemet yüklü. Server da bulunan sürüm ise SQL 2005 Standart SP3.[/quote]


Her iki sürüm de Log Shipping v.s. ileri servisleri desteklemez.


 Sorgu yazmaktan başka çözüm yok. [;)]

CevapAlıntı
Gönderildi : 05/06/2010 17:42
onureray
(@onureray)
Üye

Merhabalar;

sql server için bu tarz çözümler tabiiki var.

Replication ı deneyebilirsiniz. Size tam uygun çözüm. snapshot replication dır. bu çözüm ile dbnin o anki snapshot'ı replica servera otomatik aktarılıp açılır. bu çözümü uygulayabilirsiniz.

http://www.mssqlcity.com/Articles/Replic/SetupSR/SetupSR.htm

CevapAlıntı
Gönderildi : 07/06/2010 17:10
Suat O
(@SuatO)
Üye

Merhaba konu ile iligili araştırma yaparken bu topic ile karşılaştım.Bir düzeltme yapmak istiyorum.


Log Shipping için aşağıdakki şartlar yeterli,Enterprise versiyon olması şart değil


Log shipping has the following requirements:



  • SQL Server 2005 Standard Edition, SQL Server 2005 Workgroup Edition, or SQL Server 2005 Enterprise Edition must be installed on all server instances involved in log shipping.

  • The servers involved in log shipping should have the same case sensitivity settings.

  • The databases in a log shipping configuration must use the full recovery model or bulk-logged recovery model 

CevapAlıntı
Gönderildi : 13/08/2010 13:26
Paylaş: