Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server Azure SQL Yönetilen Örneği
Çoğaltma işlevlerini kullanan bir uygulama geliştirmeden önce, şu genel planlama adımlarını izleyin:
Replikasyon topolojinizi tanımlayın.
Uygulama işlevselliğini tanımlayın.
Güvenlik için plan yapın.
Bir geliştirme ortamı seçin.
Uygun replikasyon programlama arayüzünü seçin.
Bu makalenin geri kalanı bu adımları daha ayrıntılı olarak anlatmaktadır. Planlama sürecini göstermek için bir örnek yer almaktadır.
Çoğaltma topolojisinin tanımlanması
Programlama çoğaltmasında ilk adım, uygulamanız için replikasyon topolojisini tanımlamaktır. Mevcut bir replikasyon topolojisini kullanan bir uygulama yazıyorsanız, örneğin mevcut bir abonede veriye erişen bir istemci uygulaması, bir sonraki adıma geçin.
Note
Bazı durumlarda, çoğaltma topolojisini dağıtmak uygulamanın tek amacıdır.
Tanımladığınız replikasyon topolojisi, aşağıdakiler dahil olmak üzere birçok faktöre bağlıdır:
Çoğaltılan verinin güncellenip gerekmediği ve kim tarafından güncellenmesi gerekiyor.
Veri dağıtımınız tutarlılık, özerklik ve gecikme açısından ihtiyaçlarıdır.
Çoğaltma ortamı, iş kullanıcıları, teknik altyapı, ağ ve güvenlik ile veri özellikleri dahil.
Çoğaltma ve çoğaltma seçenekleri türleri.
Çoğaltma topolojileri ve bunların çoğaltma türleriyle nasıl uyum sağladığı.
Microsoft SQL Server replikasyonuna yeniyseniz, Replikasyon Türleri bölümüne bakınız.
Uygulama işlevselliğini tanımlama
Çoğaltma topolojisini tanımladıktan sonra, uygulamanızın sunduğu işlevlere karar verin. Bu işlevler, aboneliği senkronize eden bir betikten kullanıcı arayüzüne sahip bir uygulamaya kadar çoğaltmayı yapılandırmak için değişebilir. Çoğaltma aşağıdaki genel programlama görevlerini destekler:
Çoğaltmayı kurmak.
Aboneleri Senkronize Ediyorum.
Bir replikasyon topolojisini korumak.
Bir çoğaltma topolojisini izlemek.
Çoğaltma sorunlarını gidermek.
Uygulamanızı SQL Server'ın sağladığı diğer işlevlerle replikasyon işlevlerini birleştirerek genişletmek de yaygındır. Aşağıdaki tablo, çoğaltma uygulamanızda sunabileceğiniz bazı genişletilmiş işlevleri vurgulamaktadır.
| Functionality | Example |
|---|---|
| SQL Server Yönetim Nesneleri (SMO) kullanılarak sunucu yönetimi | Bir yöneticinin, bir veritabanını bir çoğaltma topolojisinde bir Publisher olarak bağlayıp yapılandırmasını sağlayan bir uygulama. |
| ADO.NET kullanılarak veri erişimi | Kullanıcıların çevrimdışıyken yerel bir Abone veritabanında çoğaltılan satış verilerine programatik olarak erişmelerini ve değiştirebilmelerini, ardından bir düğme seçerek çekme aboneliğini bağlayıp senkronize etmelerini sağlayan bir uygulama. |
Güvenlik için planlama
Güvenlik her uygulamada önemlidir ve herhangi bir kod yazmadan önce güvenlik için plan yapmalısınız. Uygulama güvenliği üç ana bölüme ayrılabilir: veritabanının güvenliği, çoğaltmanın güvenliği ve güvenli kod yazma.
Aşağıdaki makaleler güvenlik hakkında bilgi vermektedir:
Geliştirme ortamı seçimi
Bir çoğaltma uygulaması geliştirirken, bu üç temel geliştirme ortamını göz önünde bulundurun. Her geliştirme ortamı, bazı istisnalar dışında aynı çoğaltma işlevlerine erişim sağlar. Aşağıdaki ortamların her birinde replikasyon uygulamaları geliştirebilirsiniz.
Yönetilen kod
.NET Framework programlamasının ve .NET ortak dil çalışma zamanının (CLR) avantajlarından yararlanan nesne yönelimli geliştirme ortamı. Yönetilen kod, hem .NET geliştirme hem de SQL Server uygulamaları için önerilen programlama ortamıdır. Yönetilen çoğaltma arayüzleri, Transact-SQL'i bilmeden nesne odaklı bir şekilde replikasyon yönetimini programlamanızı sağlar. Ayrıca, betiklerden elde edilmeyen replikasyon ajanları çalıştırıldığında bazı geri çağrı işlevleri de sağlar. Yönetilen kod, yeniden kullanılabilir bileşenler ve kullanıcı arayüzü uygulamaları geliştirmek için en iyi ortamdır.
Scripting
Bir dizi komutu replikasyon sistemi olarak çalıştıran basit uygulamalar, prosedürleri Transact-SQL betiklerde veya toplu dosyalarda komutlar kaydediyor. SQL Server süreç içi yönetilen sağlayıcıyı kullanarak yönetilen bir ortamda script çalıştırabilirsiniz, ancak aynı işlevselliği yönetilen çoğaltma arayüzleri kullanarak elde edebilirsiniz; bu arayüzler aynı zamanda geri çağırma fonksiyonları sağlar. Scripting, sadece birkaç kez çalışan ve geri çağırma işlevleri gerektirmeyen görevleri yürütmek için en iyi ortamdır; örneğin bir replikasyon sunucusu kurmak.
Yerel kod
Sisteme veya COM nesnelerine doğrudan erişim sağlayan nesne yönelimli geliştirme ortamı, kodun CLR tarafından yönetilmediği bir şekilde. Yerel kod çoğaltma arayüzleri kullanımdan kaldırılmıştır veya üretimi durdurulur. Daha fazla bilgi için, SQL Server Replikasyonu'nda Kullanımdan Çıkmış Özellikler veya Replikasyon Geriye Uyumluluğu bölümlerine bakınız.
Uygun replikasyon programlama arayüzünü seçin
Son planlama adımı, seçilen geliştirme ortamı için istenen çoğaltma işlevselliğini uygulayan uygun replikasyon programlama arayüzünü seçmektir. Aşağıdaki tablo, mevcut replikasyon programlama arayüzlerini göstermektedir.
| Arayüz | Environment | Kullanımlar |
|---|---|---|
| Çoğaltma Yönetimi Nesneleri Kavramları |
Yönetilen kod | Uygulama, izleme ve senkronizasyon. |
| Microsoft.SqlServer.Replication | Yönetilen kod | Senkronizasyon. |
| Microsoft.SqlServer.Replication.BusinessLogicSupport | Yönetilen kod | Birleştirme senkronizasyon süreciyle özel mantığı entegre etmek için iş mantığı işleyicilerinin oluşturulması. |
| Replikasyon Depolanmış İşlemler (Transact-SQL) | Scripting | Yönetim ve izleme. |
| Çoğaltma Aracısı Programları Kavramları | Scripting | Senkronizasyon. |
Example
Adventure Works'te, dünya genelindeki 200 satış temsilcisi için verilerin yayımlanması gerekiyor. Satış temsilcileri sık sık seyahat ediyor ve müşteri verilerini değiştirmek ve yeni siparişler eklemek için dizüstü bilgisayarlar veya kişisel dijital asistanlar (PDA) kullanmak zorunda kalıyor. Satış temsilcileri, dizüstü bilgisayarı ağa bağlarken değişiklikleri Publisher ile senkronize etmeleri gerekiyor.
Bu başvuru için planlama adımları şu şekilde görünebilir:
Bu uygulama için replikasyon topolojisi zaten mevcuttur. Ancak, istemci tarafından yeni bir pull aboneliği oluşturmanız gerekir. Her satış temsilcisine benzersiz bir veri seti çoğaltmak için yayında parametrize filtreler kullanın.
Bir satış uygulaması için gereken tipik veri erişiminin yanı sıra, bu uygulama bir satış temsilcisinin talep üzerine çekme aboneliğini bir düğmeye tıklayarak senkronize etmesini sağlamalıdır. Bir satış temsilcisi uygulamayı kurup çalıştırdığı için, aboneliği yapılandırabilmesi ve ilk anlık görüntüyü istemciye uygulayabilmesi gerekir. Isteğe bağlı olarak, uygulama kablosuz bağlantıyı algılamak için Windows tarafından sağlanan altyapıyı kullanarak bir bağlantı tespit edildiğinde aboneliği otomatik olarak senkronize eder.
Publisher'a bağlanırken Windows Kimlik Doğrulama ve sanal özel ağ (VPN) kullanmak dahil olmak üzere çoğaltma için tüm güvenlik yönergelerine uyun. Web senkronizasyonu uygularsanız, Taşıma Katmanı Güvenliği (TLS), önceden Güvenli Soketler Katmanı (SSL) olarak bilinen bir bağlantı kullanın. Daha fazla bilgi için bkz. Web Senkronizasyonunu Yapılandır.
.NET Framework'ün özelliklerinden yararlanmak için, uygulamayı yönetilen bir kod dili kullanarak geliştirin.
Bu gereksinimlere dayanarak, Replikasyon Yönetim Nesneleri (RMO) tarafından yönetilen arayüz, bu uygulama için gerekli tüm replikasyon fonksiyonlarını sağlayabilir.
Bu örnek senaryoyu uygulayan AdventureWorks örnek uygulamasını SQL Server'dan indirebilirsiniz.