Forum

Sql2008R2 Replikasy...
 
Bildirimler
Hepsini Temizle

Sql2008R2 Replikasyon Hataları

8 Yazılar
2 Üyeler
0 Likes
809 Görüntüleme
(@ugurdemir)
Gönderiler: 9888
Illustrious Member
Konu başlatıcı
 

Merhaba,

 

Öncelikle sql serverla aram çok iyi olmadığı için mesajı
uzunca yazacağım, sabırınız için şimdiden teşekkür ederim.

 

Sql2008r2 üzerinde replikasyon ile ilgili bri sıkıntım var.
Olayı özet geçecek olursam sıkıntım şu şekilde. Workgroup ortamında 2 adet sql
serverım bulunmakta.1.serverımda bulunan 2 adet Dbyi, diğer sqlservera replike
etmek istiyorum.

 

1.serverda publications ayarlarında dbyi seçip, snaspshot
olarak karşıya atmasını istiyorum.Snapshot agent security ayarlarında  sql
agent service accountu kullan diyorum, publishere bağlanırkende sa şifresini
kullansın diye sa ve şifresini giriyorum.

 

2.serverda subscriptions oluşturukende, push metdonu seçtim.
Yine 2.servera replike edince aynı isimli DB oluşsun diye wizardda db create
edip, yine aynı şekilde distribution agent security ayarlarında  sql agent
service accountu kullan diyorum, subscriber bağlanırkende sa şifresini
kullansın diye sa ve şifresini giriyorum. Yalnız db tableların geçtiğini
görüyorum ama boyutu küçük olarak kalıyor. Ve event viewerda aşağıdaki gibi
hata alıyorum. Schedule işlemini gece için ayarladım. Ertesi gun baktıgımda
yine buna benzer error eventlar üretiyor.

 

 Bu işlemi test etmek için, videolar ve makaleler inceledim
doamin ortamı ile anlatım yapılmış. Bu nedenle workgroup ortamı oldugundan sa
şifresini kullanarak test ortamımda denedim. Yeni Dbler oluşturup
içerisine tablelar oluştrudum çalışıyor. Test ortamında elle 2 ya da 3 table oluşturuyorum. Boyuttan dolayı porductionda çalışmıyor olabilir mi? Ama producitonda çalışan sql
serverıma yapınca hatalar alıyorum . Sql serverlar aynı versiyona sahip, testte
eventlar temız. Workgroup ortamıdan sql replıkasyonu hatasız nasıl yapabilirim?

 

 Warning SQLagent$serveradi 312

 

Error SQLagent$serveradi 318   hatarlı almaktayım

 

Teşekkürler.

 
Gönderildi : 31/07/2013 17:19

(@BekirMertGULTEKIN)
Gönderiler: 231
Reputable Member
 

Merhaba,

Replikasyon ilk bakışta çok cazip geliyor, özellikle report server olarak kullanarak performans artışı sağlama ya da verilerin 2 ya da daha fazla sayıda lokasyonda ister yedekleme amaçlı ister birleştirme çoğaltma amaçlı kullanılabilmesi özelliği  güzel bir şey. Fakat işin içine girince öyle bir dallanıp budaklanıyor ki illallah ediyor insan. yaklaşık 2 aydır bu konuda çalışıyorum her adımda yeni bir çözülmesi gereken noktayla karşılaşıyor insan. 🙂

Benim size tavsiyem replikasyonu transactional modelde yedekleme amaçlı kullanmak bu size aynı zamanda report server özelliği katar. Databasenizin boyutu büyükse eğer snapsahotu önermem çünkü her seferinde tüm databaseyi yeniden snapshotlıyor. Eğer 2 sunucuda aynı lokasyonda ise ve sağlıklı bir networkunuz varsa Transactional replication kullanın. Merge replikasyonda ilk bakışta çekici geliyor ama ondada ID çakışması  söz konusu olabiliyor ki bu çok baş ağrıtıcı olur. 

Aldığınız hataya gelince hatanın şuralardan kaynaklanabileceğini düşünüyorum;

Distributionu oluştururken snapshot folder pathi belirtmenizi ister oraya paylaşıma açtığınız ve everyone full yetki verilmiş bir klasörün pathini unc olarak girmeniz gerekir. Disributionu configüre ettikten sonra emin olmak için distribution propertiesinde yetkilendirmede sql authentication olduğunu ve userinin ise sa olup parolasınında girilmiş olduğunu check edin çünkü bazen bu tanımlanmamış oluyor.

Diğer nokta ise her iki sql serverin sa userinin passwordünü aynı yapınız. 

Hangi amaçla replikasyon yapmak istediğinizi yazarsanız daha iyi olur, dediğim gibi replikasyon güzel bir konu ama yeterince bilgi sahibi olmadan işin içine girildi mi çok can sıkıcı olabiliyor.

Kolay gelsin. 

 
Gönderildi : 02/08/2013 03:37

(@ugurdemir)
Gönderiler: 9888
Illustrious Member
Konu başlatıcı
 

Merhaba,

Öncelikle detaylı açıklamanız için teşekkür ederim. Transaction olarak yapılandırıyorum şimdi. Dediğiniz gibi distribution kısmındaki sa kısmını hiç görmemiştim. Orayı sa ile yapılandırdım, test ediyorum. Amacım;

 1 sql servdakı 2 databasei, diğer sqle yedeklemek. Db boyutları 1.db 160mb, 2.db 4gb.

Az önce 160mblık db için replike işlemini transaction olarak yaptım, error log vermeden karşıya geçti ama boyutu 64 mb olara geçti ve tablelar eskik geçti. Diğer 4 gb db için denediğimde ise  subscriptions yapılandırmada hata verdi, tekrar oluşturunca hata vermeden sonalndı ama bu seferde eventlog üretti.

Error MSSQL$Serveradi
EventID:14151
Task Category: Server
General: Replication-Replication Distribution Subsystem: agent sqlserver1\dbadim failed. Unable to replicate a view or function because the referenced objects or columns are not present on the Subscriber.

 

Neden hata verdiğini ve neden olamdıgını bir türlü çözemedim. Acaba adım adım şeklinde yazabilir misiniz? Birde bunun yerine mirroring mi denesem sizce?

Ek olarak database mirroring denedim bugun sunucularım workgroup ortamında oldugu için wizard kısmında configuring endpoint kısmında hatalar veriyor. Accountlarımın şifreleri aynı ama bir türlü diğer tarafa replike olmadı ve mirrroda olmuyor. Replikasyonu adım adım yazabilirmisniiz rica etsem.

 Teşekkürler.

 
Gönderildi : 02/08/2013 15:29

(@BekirMertGULTEKIN)
Gönderiler: 231
Reputable Member
 

Size burada anlatmak yerine bir video hazırladım daha anlaşılır olacağını düşündüğüm için ve de daha kolayıma geldi. 🙂 Video linki aşağıdadır.

https://skydrive.live.com/redir?resid=778426AE28A7C30C!138&authkey=!ANU-RDqSj_HYSfI  

Bu arada bu videoda databaseyi backup ile diğer tarafa göndermekten bahsetmişim snapshot oluşturulursa eğer backupa gerek yok ben hep P2P replikasyon üzerinde çaklıştığım için aklım oraya gitti. 🙂 Önemli: Backupla yapılan subscriptionda trigers ve constrainlerin durumunu göz ardı etmeyiniz.  Subscription tarafında 2isinide disable etmeyi unutmayınız, aksi halde can sıkıcı durumlar ortaya çıkabilir. Ya da backupa hiç girmeden direkt snapshotla yapmanızı öneririm.

Replikasyonu başarıyla kurduktan sonra distribution database dosyası için de bazı bilinmesi gereken hususlar olacak. Bu nokta şu aşamada çok önemli değil. Şimdiden bunu belirtirsem eğer; distribution file zamanla çok dolabiliyor, eğer bu dosyanın olduğu sürücüde yeteri kadar boş yer varsa çok önemli değil diğer yandan bu file boyutu çok şişerse replikasyonda yavaşlama söz konusu oluyor. Bu duruma göre bir sorun olabilirde olmayabilir de.. Siz replikasyonu kurun kurduğunuz anda distribution database boyutuna bakın, bir kaç gün sonra tekrar boyuta bakın eğer aşırı bir büyüme varsa tekrar buradan iletişim kurabiliriz.

Bu arada replikasyon için Workgroup ortamında olmanız bir sorun teşkil etmez buraya takılmayın. 

Kolay gelsin. 

 
Gönderildi : 03/08/2013 06:13

(@ugurdemir)
Gönderiler: 9888
Illustrious Member
Konu başlatıcı
 

Videonuzu şimdi izledim, cok guzel anlatım olmus. Yanlış yaptıgım yerleri gordum işlemi deneyip geri donuş yapacagım.Video için tekrar tesekkur ederim.

 
Gönderildi : 03/08/2013 15:55

(@ugurdemir)
Gönderiler: 9888
Illustrious Member
Konu başlatıcı
 

Size burada anlatmak yerine bir video hazırladım daha anlaşılır olacağını düşündüğüm için ve de daha kolayıma geldi. 🙂 Video linki aşağıdadır.

https://skydrive.live.com/redir?resid=778426AE28A7C30C!138&authkey=!ANU-RDqSj_HYSfI  

Bu arada bu videoda databaseyi backup ile diğer tarafa göndermekten bahsetmişim snapshot oluşturulursa eğer backupa gerek yok ben hep P2P replikasyon üzerinde çaklıştığım için aklım oraya gitti. 🙂 Ama backuplada yapsanız bir sorun oluşturmaz. Aynen videodaki gibi de yapabilirsiniz.

Replikasyonu başarıyla kurduktan sonra distribution database dosyası için de bazı bilinmesi gereken hususlar olacak. Bu nokta şu aşamada çok önemli değil. Şimdiden bunu belirtirsem eğer; distribution file zamanla çok dolabiliyor, eğer bu dosyanın olduğu sürücüde yeteri kadar boş yer varsa çok önemli değil diğer yandan bu file boyutu çok şişerse replikasyonda yavaşlama söz konusu oluyor. Bu duruma göre bir sorun olabilirde olmayabilir de.. Siz replikasyonu kurun kurduğunuz anda distribution database boyutuna bakın, bir kaç gün sonra tekrar boyuta bakın eğer aşırı bir büyüme varsa tekrar buradan iletişim kurabiliriz.

Bu arada replikasyon için Workgroup ortamında olmanız bir sorun teşkil etmez buraya takılmayın. 

Kolay gelsin. 

Merhaba,

Videoyu tekrar terkar izledim ve inceledim. Öncelikle çok teşekkür ederim. Lakin sql1 ve sql2 arasında replikasyon yaparken  .html linketi hatayı alıyorum.

Ancak videonun başında siz paylaşımdan bahsetmişsiniz. En başta distrubiton oluştururken, C:\Program Files\Microsoft SQL Server\MSSQL10_50.MBTIHASQL011\MSSQL altıdnaki repldata klasörünü paylaşıma açıyorum .Ve yine distrubution data dosyaları  C:\Program Files\Microsoft SQL Server\MSSQL10_50.MBTIHASQL011\MSSQL\DATA şeklinde.

repldata klasörünü everyone full yetkım var, ancak yinede en son Launch replication monitor  kısmında çarpı işaretli oalrak ekteki hatayı alıyorum. Videonun başındaki paylaşım klasörünü nerede oluşturdunuz ve distrubution oluştururken dataları d disktemi ayrı tutuyorsunuz?

Ne yapmalıyım?

 
Gönderildi : 05/08/2013 18:04

(@BekirMertGULTEKIN)
Gönderiler: 231
Reputable Member
 

Pull yerine Push seçin, Pull biraz uğraştırıyor.

 
Gönderildi : 06/08/2013 15:03

(@ugurdemir)
Gönderiler: 9888
Illustrious Member
Konu başlatıcı
 

Merhabalar,

 Log shippin işlmei ile çözüme kavuşturdum.

 
Gönderildi : 19/08/2013 19:11

Paylaş: