2010-10-12 17 views
5

Bir MSSQL veritabanının içeriğini ikinci bir MSSQL veritabanına almaya çalışıyorum. Çatışma yönetimi gerekli değil, şema güncellenmiyor. Bu sadece bir kopyadır ve verileri değiştirir. Birisi orada bir şey değiştirmiş olsaydı, hedef veri tabanının verileri üzerine yazılırdı. Eh kurulmuş, ancak eski protokoller kullanılarak:Bir MS SQL Server'dan diğerine kopyalama/klonlama

Açıkçası bu,

  • SQL Server çoğaltma yapmak için birçok yol vardır. Bunun yanı sıra, birçok geliştirici bana şeytanın ayrıntıda olduğunu ve çoğaltmanın her zaman beklendiği gibi çalışmayacağını ve bir yönetici için bu en iyi seçim olduğunu, ancak bir geliştirici için olmadığını söylüyor.
  • MS Senkronizasyon Metni: MSF, yeni ve harika bir teknoloji olduğu söyleniyor. Evet, bu yeni şeyler, almayı seviyorsunuz, çünkü çok yenilikçi geliyor. Senkronizasyon için genel bir yaklaşım var, bu şöyle bir şey: Bir teknoloji öğrenin ve veri kaynağını nasıl bütünleştireceğinizden, bir daha asla senkronizasyonu nasıl geliştireceğinizi öğrenmeniz gerekmeyecek. Ancak öte yandan, ana kullanım senaryosunun MSSQL Compact veritabanlarını MSSQL ile senkronize etmek olduğunu görebilirsiniz.
  • SQL Server Entegrasyon Hizmetleri: Acil durum planlanabilir bir çözüm gibi görünüyor. Güvenlik duvarının çalışmadığı durumda, güvenlik duvarı düşene veya kimlik doğrulama düzeltilene kadar tekrar ve tekrar çalıştırılabilecek bir paketimiz var.
  • Brute Force, veritabanı dosyalarının kopyalanmasını ve değiştirilmesini: Muhtemelen en iyi seçenek değil.

Elbette, Microsoft web sitelerine baktığımda, her teknolojinin (tabii ki kaba kuvvetin dışında) birçok senaryoda uygulanabilecek katı bir çözüm olduğu söylenir. Ama bu tabii ki duymak istediğim şeyler değil.

Peki bu konuda sizin fikriniz nedir? Hangi teknolojiyi önerirsiniz?

Teşekkür ederiz!

Stefan

+2

Bu, devam eden bir güncelleştirme mi yoksa bir kerelik bir süreç mi? Eğer devam ediyorsa, ne sıklıkla güncellemeniz gerekiyor - gerçek zamanlı, saatlik, günlük, haftalık, aylık? – JNK

cevap

4

En kolay mekanizma günlük sevkiyattır. Birincil sunucu, günlük yedeklerini herhangi bir UNC yoluna koyabilir ve ardından günlükleri bir sunucudan diğerine almak için herhangi bir dosya senkronizasyon aracını kullanabilirsiniz. Abone, yerel klasöründe bulduğu işlem günlüğü yedeklerini otomatik olarak geri yükler. Bu, yalnızca veriyi değil, şema değişikliklerini de otomatik olarak işler.

Abone salt okunur olacak, ancak tam olarak istediğiniz şey budur - aksi takdirde, birisi abonedeki kayıtları güncelleyebilirse, zarar verici bir dünyada olacaksınız.

+0

Hey Brent, nasıl oluyor da daha çok şöhretim var ama daha fazla rozetiniz var;) Bu adil değil! –

+0

SQL Server'ın hangi sürümlerinin günlük sevkiyatını desteklediğini biliyor musunuz? Sadece Enterprise sürümüydi ve şimdi tüm sürümlerde mevcut olduğunu duyduğumu sanıyordum, ancak bunu destekleyen herhangi bir bağlantı bulamıyorum. –

+0

Günlük gönderim için "Destek" bir hooey yüküdür. Herhangi bir sürümde T-SQL betikleri ile yapabilirsiniz, böylece Microsoft da bunu destekledi ve Standard'ın da desteklenen bir özelliği haline getirdi. –

1

Listenize iki teknik eklerim.

  • Yaz T-SQL komut ... INSERT sizi doğrudan
  • veritabanının tam yedeğini oluşturun verileri SEÇ ve büyük bir veritabanı varsa yeni bir sunucuya

üzerine geri ve Bunu sık sık yapmayacağım, o zaman yedekleme ve geri yükleme seçeneği için giderdim. Bu işin çoğunu sizin için yapar ve tüm nesneleri kopyalamak için garanti edilir.

Sync Framework kullanan herhangi birini duymadım, bu yüzden herkesin başarıyla kullandığını duymak isterim.

+0

Gecelik tam/diferansiyel geri yüklerimizi, böyle "raporlama" senaryolarımızın çoğu için kullanıyoruz. – BradC