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
Yayın oluştururken, yayımlamak istediğiniz tabloları ve diğer veritabanı nesnelerini seçersiniz. Çoğaltmayı kullanarak aşağıdaki veritabanı nesnelerini yayımlayabilirsiniz.
| Veritabanı nesnesi | Anlık görüntü çoğaltma ve işlemsel çoğaltma | Birleştirme replikasyonu |
|---|---|---|
| Tables | X | X |
| Bölümlenmiş Tablolar | X | X |
| Saklı Yordamlar – Tanım (Transact-SQL ve CLR) | X | X |
| Saklı Yordamlar – Yürütme (Transact-SQL ve CLR) | X | no |
| Views | X | X |
| Dizine Alınan Görünümler | X | X |
| Tablo Olarak Dizinlenmiş Görünümler | X | no |
| Kullanıcı Tanımlı Türler (CLR) | X | X |
| Kullanıcı Tanımlı İşlevler (Transact-SQL ve CLR) | X | X |
| Takma Ad Veri Türleri | X | X |
| Tam metin dizinleri | X | X |
| Şema Nesneleri (kısıtlamalar, dizinler, kullanıcı DML tetikleyicileri, genişletilmiş özellikler ve harmanlama) | X | X |
Yayın oluşturma
Yayın oluşturmak için aşağıdaki bilgileri sağlayın:
- Dağıtımcı.
- Anlık görüntü dosyalarının konumu.
- Yayın veritabanı.
- Oluşturulacak yayın türü (anlık görüntü, işlem, güncelleştirilebilir aboneliklerle işlem veya birleştirme).
- Yayına eklenecek veri ve veritabanı nesneleri (makaleler).
- Tüm yayın türleri için statik satır filtreleri ve sütun filtreleri ile birleştirme yayınları için parametreli satır filtreleri ve birleştirme filtreleri.
- Snapshot Agent zamanlaması.
- Aşağıdaki aracıların çalışacağı hesaplar: tüm yayınlar için Snapshot Agent; tüm işlemsel yayınlar için Log Reader Agent; güncelleştirilebilir aboneliklere izin veren işlemsel yayınlar için Queue Reader Agent.
- Yayın için bir ad ve açıklama.
Yayınlarla çalışma hakkında bilgi için aşağıdaki konulara bakın:
- Yayın Oluşturma
- Makale Tanımlama
- Yayın Özelliklerini Görüntüleme ve Değiştirme
- Makale Özelliklerini Görüntüleme ve Değiştirme
- Yayını Silme
- Makale Silme
Note
Bir makalenin veya yayının silinmesi aboneden nesne kaldırmaz.
Yayımlama Tabloları
En yaygın yayımlanan nesne bir tablodur. Aşağıdaki bağlantılar, tabloları yayımlamayla ilgili alanlar hakkında ek bilgi sağlar:
- Yayımlanan Verileri Filtrele
- İşlemsel Çoğaltma Seçenekleri
- Birleştirme Çoğaltması için Makale Seçenekleri
- Kimlik Sütunlarını Çoğalt
Çoğaltma için bir tablo yayımlarken, bildirilen bilgi tutarlılığı (birincil anahtar kısıtlamaları, başvuru kısıtlamaları, benzersiz kısıtlamalar), dizinler, kullanıcı DML tetikleyicileri (DDL tetikleyicileri çoğaltılamaz), genişletilmiş özellikler ve harmanlama gibi hangi şema nesnelerinin Aboneye kopyalanması gerektiğini belirtebilirsiniz. Genişletilmiş özellikler yalnızca Yayımcı ile Abone arasındaki ilk eşitlemede çoğaltılır. İlk eşitlemeden sonra genişletilmiş bir özellik eklerseniz veya değiştirirseniz, bu değişiklik yansıtılmaz.
Şema seçeneklerini belirtmek için bkz. Şema Seçeneklerini Belirtme veya SchemaOption.
Bölümlenmiş Tablolar ve Dizinler
Çoğaltma, bölümlenmiş tabloların ve dizinlerin yayımlanmasını destekler. Destek düzeyi, kullanılan çoğaltma türüne ve yayın için belirttiğiniz seçeneklere ve bölümlenmiş tablolarla ilişkili makalelere bağlıdır. Daha fazla bilgi için bkz . Bölümlenmiş Tabloları ve Dizinleri Çoğaltma.
Saklı Yordamları Yayımlama
Tüm çoğaltma türleri saklı yordam tanımlarını çoğaltmanıza olanak sağlar: CREATE PROCEDURE her aboneye kopyalanır. Ortak dil çalışma zamanı (CLR) saklı yordamları söz konusu olduğunda, ilişkili derleme de kopyalanır. Yordamlarda yapılan değişiklikler Abonelere çoğaltılır; ilişkili derlemelerde yapılan değişiklikler çoğaltılmaz.
saklı yordamın tanımını çoğaltmaya ek olarak, işlem çoğaltması saklı yordamların yürütülmesini çoğaltmanızı sağlar. Bu, büyük miktarda veriyi etkileyen bakım amaçlı saklı yordamların sonuçlarını tekrarlamada kullanışlıdır. Daha fazla bilgi için bkz. Saklı Yordam Yürütümünü İşlem Çoğaltmasında Yayınlama.
Yayımlama Görünümleri
Tüm çoğaltma türleri görünümleri çoğaltmanıza olanak sağlar. Görünüm (ve buna eşlik eden dizin, dizinli bir görünümse) Aboneye kopyalanabilir, ancak temel tablo da çoğaltılmalıdır.
dizinli görünümler için işlem çoğaltması, dizinlenmiş görünümü görünüm yerine tablo olarak çoğaltmanıza da olanak sağlayarak temel tabloyu çoğaltma gereksinimini ortadan kaldırır. Bunu yapmak için, sp_addarticle (Transact-SQL) öğesinin @type parametresinde "indexed view logbased" seçeneklerinden birini belirtin. sp_addarticle kullanma hakkında daha fazla bilgi için bkz. Makale Tanımlama.
Kullanıcı Tanımlı İşlevleri Yayımlama
CLR işlevleri ve Transact-SQL işlevleri için CREATE FUNCTION ifadeleri her bir Aboneye kopyalanır. CLR işlevleri söz konusu olduğunda, ilişkili derleme de kopyalanır. İşlevlerde yapılan değişiklikler Abonelere çoğaltılır; ilişkili derlemelerde yapılan değişiklikler çoğaltılmaz.
Kullanıcı Tanımlı Türlerin ve Takma Ad Veri Türlerinin Yayımlanması
Kullanıcı tanımlı türler veya diğer ad veri türleri kullanan sütunlar, diğer sütunlar gibi Abonelere çoğaltılır. CREATE TYPEÇoğaltılan her tür için ifade, tablo oluşturulmadan önce Abone'de yürütülür. Kullanıcı tanımlı türler söz konusu olduğunda, ilişkili derleme de her aboneye kopyalanır. Kullanıcı tanımlı türlerde ve diğer ad veri türlerinde yapılan değişiklikler Abonelere çoğaltılmaz.
Bir tür veritabanında tanımlanmışsa ancak yayın oluşturulduğunda hiçbir sütunda başvurulmuyorsa, tür Abonelere kopyalanmaz. Daha sonrasında veritabanında bu türde bir sütun oluşturur ve bunu çoğaltmak isterseniz, önce türü (ve kullanıcı tanımlı bir tür için ilgili derlemeyi) her Aboneye el ile kopyalamanız gerekir.
Tam Metin Dizinlerini Yayımlama
CREATE FULLTEXT INDEX deyimi her Abone’ye kopyalanır ve tam metin indeksi Abone’de oluşturulur. ALTER FULLTEXT INDEX kullanılarak tam metin dizinlerinde yapılan değişiklikler çoğaltılmaz.
Yayımlanan Nesnelerde Şema Değişiklikleri Yapma
Çoğaltma, yayımlanan nesnelerde çok çeşitli şema değişikliklerini destekler. Bir SQL Server Publisher uygun yayımlanan nesnede aşağıdaki şema değişikliklerinden herhangi birini yaptığınızda, bu değişiklik varsayılan olarak tüm SQL Server Abonelerine yayılır:
ALTER TABLE
ALTER VIEW
ALTER PROCEDURE
ALTER FUNCTION
ALTER TRIGGER
Daha fazla bilgi için bkz. Yayın Veritabanlarında Şema Değişiklikleri Yapma.
Yayımlamayla İlgili Dikkat Edilmesi Gerekenler
Veritabanı nesnelerini yayımlarken aşağıdaki sorunları göz önünde bulundurun:
Yayımın ve başlangıç anlık görüntüsünün oluşturulması sırasında kullanıcılar veritabanına erişebilir, ancak yayımların Publisher’da etkinliğin daha düşük olduğu zamanlarda oluşturulması önerilir.
Bir yayın oluşturulduktan sonra veritabanı yeniden adlandırılamaz. Yeniden adlandırmak için önce veritabanından çoğaltmayı kaldırmanız gerekir.
Bir veya daha fazla veritabanı nesnesine bağımlı bir veritabanı nesnesi yayımlıyorsanız, başvuruda bulunan tüm nesneleri yayımlamanız gerekir. Örneğin, tabloya bağlı bir görünüm yayımlarsanız, tabloyu da yayımlamanız gerekir.
Note
Birleştirme yayınına makale eklerseniz ve var olan bir makale yeni makaleye bağımlıysa, sp_addmergearticle vesp_changemergearticle @processing_order parametresini kullanarak her iki makale için de bir işlem sırası belirtmeniz gerekir. Aşağıdaki senaryoyu göz önünde bulundurun: bir tablo yayımlarsınız ancak tablonun başvurduğunu bir işlev yayımlamazsınız. İşlevi yayımlamazsanız, tablo Abone'de oluşturulamaz. İşlevi yayına eklediğinizde: sp_addmergearticle @processing_order parametresi için1 değerini belirtin; ve sp_changemergearticle @processing_order parametresi için 2 değerini belirtin ve parametre@article için tablo adını belirtin. Bu işleme sırası, Abone üzerinde, ona bağımlı olan tablodan önce fonksiyonu oluşturmanızı sağlar. İşlevin sayısı tablonun sayısından düşük olduğu sürece her makale için farklı sayılar kullanabilirsiniz.
Yayın adları şu karakterleri içeremez: % * [ ] | : " ? \ / <>.
Nesnelerin Yayımlanması Sınırlamaları
Yayımlanacak en fazla makale ve sütun sayısı yayın türüne göre farklılık gösterir. Daha fazla bilgi için, SQL Server için Maksimum Kapasite Belirtimleri'nin "Çoğaltma Nesneleri" bölümüne bakın.
WITH ENCRYPTION olarak tanımlanan saklı yordamlar, görünümler, tetikleyiciler ve kullanıcı tanımlı işlevler SQL Server çoğaltmasının bir parçası olarak yayımlanamaz.
XML şema koleksiyonları çoğaltılabilir, ancak değişiklikler ilk anlık görüntüden sonra çoğaltılmaz.
İşlem çoğaltması için yayımlanan tabloların birincil anahtarı olmalıdır. Tablo bir işlem çoğaltma yayınındaysa, birincil anahtar sütunlarıyla ilişkili dizinleri devre dışı bırakamazsınız. Bu dizinler çoğaltma için gereklidir. Bir dizini devre dışı bırakmak için önce tabloyu yayından çıkarmanız gerekir.
sp_bindefault (Transact-SQL) ile oluşturulan bağlı varsayılanlar çoğaltılmaz (bağlı varsayılanlar, DEFAULTALTER TABLE veya CREATE TABLE anahtar sözcüğüyle oluşturulan varsayılanlar lehine kullanım dışı bırakılmıştır).
Dizinlenmiş görünümlerde NOEXPAND ipucunu içeren işlevler, dağıtım aracısının bunları teslim etme sırası nedeniyle başvurulan tablolar ve dizinlenmiş görünümlerle aynı yayında yayımlanamaz. Bu sorunu geçici olarak çözmek için, tablo ve dizinli görünüm oluşturma işlemini ilk yayına yerleştirin ve ilk yayın tamamlandıktan sonra yayımladığınız ikinci bir yayına dizinlenmiş görünümlerde NOEXPAND ipucunu içeren işlevler ekleyin. Veya bu işlevler için betikler oluşturun ve betiği sp_addpublication öğesinin @post_snapshot_script parametresini kullanarak sağlayın.
Şemalar ve Nesne Sahipliği
Çoğaltma, Şemalar ve nesne sahipliği bakımından Yeni Yayın Sihirbazı'nda aşağıdaki varsayılan davranışa sahiptir:
Uyumluluk düzeyi 90 veya daha yüksek olan birleştirme yayınlarındaki makaleler, anlık görüntü yayınları ve işlem yayınları için: Varsayılan olarak, Abone'deki nesne sahibi Yayımcı'daki ilgili nesnenin sahibiyle aynıdır. Nesneleri olan şemalar Abone'de yoksa, bunlar otomatik olarak oluşturulur.
Uyumluluk düzeyi 90'dan düşük olan birleştirme yayınlarındaki makaleler için varsayılan olarak sahip alanı boş bırakılır ve abone sisteminde nesne oluşturulurken dbo olarak belirtilir.
Oracle yayınlarındaki makaleler için: varsayılan olarak sahibi dbo olarak belirtilir.
Varsayılan olarak, karakter modu anlık görüntüleri kullanan yayınlardaki makalelerin sahibi boş bırakılır (SQL Server Aboneleri olmayanlar ve SQL Server Compact Aboneleri için kullanılır). Hesap sahibi, Dağıtım Aracısı veya Birleştirme Aracısı'nın aboneye bağlanmak için kullandığı hesapla ilişkilendirilmiş olarak varsayılan değere ayarlanır.
Nesne sahibi, Makale Özellikleri - <Makale> iletişim kutusu aracılığıyla ve aşağıdaki saklı yordamlar aracılığıyla değiştirilebilir: sp_addarticle, sp_addmergearticle, sp_changearticle ve sp_changemergearticle. Daha fazla bilgi için bkz. Yayın Özelliklerini Görüntüleme ve Değiştirme, Makale Tanımlama ve Makale Özelliklerini Görüntüleme ve Değiştirme.
SQL Server'un Önceki Sürümlerini Çalıştıran Abonelere Veri Yayımlama
önceki bir SQL Server sürümünü çalıştıran bir Aboneye yayımlıyorsanız, hem çoğaltmaya özgü işlevsellik hem de ürünün bir bütün olarak işlevselliği açısından bu sürümün işlevselliğiyle sınırlıdır.
Birleştirme yayınları, bir yayında hangi özelliklerin kullanılabileceğini belirleyen ve önceki SQL Server sürümlerini çalıştıran aboneleri desteklemenizi sağlayan bir uyumluluk düzeyi kullanır.
Birden Çok Yayında Tablo Yayımlama
Çoğaltma, aşağıdaki kısıtlamalarla birden çok yayında makale yayımlamayı (verileri yeniden yayımlama dahil) destekler:
Bir makale işlem yayınında ve birleştirme yayınında yayımlanıyorsa, birleştirme makalesi için @published_in_tran_pub özelliğinin TRUE olarak ayarlandığından emin olun. Özellikleri ayarlama hakkında daha fazla bilgi için bkz. Yayın Özelliklerini Görüntüleme ve Değiştirme ve Makale Özelliklerini Görüntüleme ve Değiştirme.
Ayrıca bir makale işlem aboneliğinin parçasıysa ve birleştirme yayınına dahilse @published_in_tran_pub özelliğini ayarlamanız gerekir. Bu durumda, varsayılan olarak işlemsel çoğaltmanın abone tarafındaki tabloların salt okunur olarak ele alınmasını beklediğini unutmayın; birleştirme çoğaltması, işlemsel bir abonelikteki tabloda veri değişiklikleri yaparsa veriler yakınsamayabilir. Bu olasılığı önlemek için, birleştirme yayınında bu tür tabloların yalnızca indirme olarak belirtilmesini öneririz. Bu, birleştirme Abonesinin tabloya veri değişikliklerini yüklemesini engeller. Daha fazla bilgi için bkz. Yalnızca İndirme Amaçlı Maddelerle Birleştirme Çoğaltma Performansını İyileştirme.
Bir makale, hem bir birleştirme yayınında hem de kuyruğa alınmış güncelleştirme aboneliklerine sahip bir işlemsel yayında yayımlanamaz.
Aboneliklerin güncelleştirilmesini destekleyen işlem yayınlarına dahil edilen makaleler yeniden yayımlanamaz.
Bir makale, kuyruğa alınmış güncelleştirme aboneliklerini destekleyen birden fazla işlem yayınında yayımlanıyorsa, aşağıdaki özelliklerin tüm yayınlarda makale için aynı değere sahip olması gerekir:
Mülkiyet sp_addarticle parametresi Kimlik aralığı yönetimi @auto_identity_range (kullanım dışı) ve @identityrangemangementoption Yayıncı kimlik aralığı @pub_identity_range Kimlik aralığı @identity_range Kimlik aralığı eşiği @threshold Bu parametreler hakkında daha fazla bilgi için bkz. sp_addarticle (Transact-SQL).
Bir makale birden fazla birleştirme yayınında yayımlanıyorsa, aşağıdaki özelliklerin tüm yayınlarda makale için aynı değere sahip olması gerekir:
Mülkiyet sp_addmergearticle içindeki parametre Sütun takibi @column_tracking Şema seçenekleri @schema_option Sütun filtreleme @vertical_partition Abone yükleme seçenekleri @subscriber_upload_options Koşullu silme izleme @delete_tracking Hata kompanzasyonu @compensate_for_errors Kimlik aralığı yönetimi @auto_identity_range (kullanım dışı) ve @identityrangemangementoption Yayıncı Kimlik Aralığı @pub_identity_range Kimlik aralığı @identity_range Kimlik aralığı eşiği @threshold Bölüm seçenekleri @partition_options Blob sütun akışı @stream_blob_columns Filtre türü @filter_type ( sp_addmergefilter parametresi) Bu parametreler hakkında daha fazla bilgi için bkz. sp_addmergearticle (Transact-SQL) ve sp_addmergefilter (Transact-SQL).
İşlemsel çoğaltma ve filtre uygulanmamış birleştirme çoğaltması, bir tablonun birden fazla yayında yayımlanmasını ve ardından abonelik veritabanındaki tek bir tabloda buna abone olunmasını destekler (bu durum genellikle roll-up senaryosu olarak adlandırılır). Roll up, genellikle birden çok konumdaki veri alt kümelerini merkezi bir Abonedeki tek bir tabloda toplamak için kullanılır. Filtrelenmiş birleştirme yayınları merkezi Abone senaryolarını desteklemez. Birleştirme çoğaltması için, toplu işlem genellikle parametreli satır filtreleri içeren tek bir yayın aracılığıyla uygulanır. Daha fazla bilgi için bkz. Parametreli Satır Filtreleri.