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ınlar yaratmak
Bir yayın oluşturmak için aşağıdaki bilgileri verin:
- 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 ajanların çalıştığı hesaplar: tüm yayınlar için Snapshot Agent; tüm işlem amaçlı yayınlar için Log Reader Agent; aboneliklerin güncellenmesine izin veren işlemsel yayınlar için Queue Reader Agent.
- Yayın için bir ad ve açıklama.
Yayınlarla nasıl çalışılacağına dair bilgi için aşağıdaki makalelere bakınız:
- 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 makale veya yayını silmek, Aboneden nesneleri kaldırmaz.
Yayın tabloları
En yaygın yayımlanan nesne bir tablodur. Aşağıdaki bağlantılar tabloların yayınlanması hakkında daha fazla 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
Bir tablo çoğaltma için yayınladığınızda, hangi şema nesnelerinin Aboneye kopyalanacağını belirtebilirsiniz; örneğin ilan edilmiş referans bütünlüğü (birincil anahtar kısıtlamaları, referans kısıtlamaları, benzersiz kısıtlamalar), indeksler, kullanıcı DML tetikleyicileri (DDL tetikleyicileri çoğaltılamaz), genişletilmiş özellikler ve derleme. 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, değişiklik çoğaltı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 ve indekslerin yayımlanmasını destekler. Destek seviyesi, kullandığınız çoğaltma türüne ve yayın ile bölümlenmiş tablolarla ilişkili makaleler için belirttiğiniz seçeneklere bağlıdır. Daha fazla bilgi için bkz . Bölümlenmiş Tabloları ve Dizinleri Çoğaltma.
Saklı yordamları yayımlama
Tüm replikasyon türleri saklanan prosedür tanımlarını çoğaltmanıza izin verir: ifade 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. Prosedürlerdeki değişiklikler Abonelere yansıtılır; ilgili montajlardaki değişiklikler ise kopyalanmaz.
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 özellik, büyük miktarda veriyi etkileyen bakım odaklı depolanmış prosedürlerin sonuçlarını çoğaltmak için faydalı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 ona eşlik eden indeks (eğer indeksli görünümse) Aboneye kopyalayabilirsiniz, ancak aynı zamanda temel tabloyu da çoğaltmanız gerekir.
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ı fonksiyonların yayınlanması
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. Fonksiyonlardaki değişiklikler abonelere çoğaltılır; ilişkili derlemelerdeki değişiklikler çoğaltılmaz.
Kullanıcı Tanımlı Türlerin ve Takma Ad Veri Türlerinin Yayımlanması
Çoğaltma, kullanıcı tanımlı tipleri veya takma ad veri tiplerini kullanan sütunları diğer sütunlar gibi ele alır ve bunları Abonelere çoğaltır. İşlem, tabloyu oluşturmadan önce Abonede çoğaltılan her tür için CREATE TYPE ifadesini çalıştırır. Kullanıcı tanımlı türler için replikasyon, ilişkili derlemeyi de her Aboneye kopyalar. Replikasyon, kullanıcı tanımlı tiplerdeki değişiklikleri ve alias veri tiplerini Abonelere çoğaltmaz.
Bir veritabanında bir tür tanımlarsanız ancak bir yayın oluştururken hiçbir sütunda bu türü kullanmazsanız, replikasyon bu türü Abonelere kopyalamaz. Daha sonra 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. Uygun yayınlanmış nesnede bir SQL Server Publisher içinde aşağıdaki şema değişikliklerinden herhangi birini yaptığınızda, varsayılan olarak replikasyon bu değişikliği tüm SQL Server abonelerine yayar:
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ıncılıkla ilgili Hususlar
Veritabanı nesnelerini yayınlarken aşağıdaki hususları aklınızda bulundurun:
Kullanıcılar, yayın oluşturulurken ve ilk anlık görüntü sırasında veritabanına erişebilirler, ancak Publisher'da daha düşük faaliyet zamanlarında yayın oluşturmak en iyisidir.
Bir veritabanında bir yayın oluşturduktan sonra yeniden adlandıramazsınız. Veritabanını yeniden adlandırmak için önce veritabanından replikasyonu kaldırmanız gerekir.
Bir veya daha fazla başka veritabanı nesnesine bağımlı olan bir veritabanı nesnesini yayımlıyorsanız, başvurulan tüm nesneleri de yayımlamanız gerekir. Örneğin, tabloya bağlı bir görünüm yayımlarsanız, tabloyu da yayımlamanız gerekir.
Note
Bir makaleyi birleştirme yayınına eklerseniz ve mevcut bir makale yeni makaleye bağlıysa, her iki makale için de sp_addmergearticle ve sp_changemergearticle @processing_order parametreleri kullanılarak işlem sırasını belirtmeniz gerekir. Aşağıdaki senaryoyu düşünün: Bir tablo yayınlarsınız ama tablonun referans verdiği bir fonksiyonu yayınlamıyorsunuz. Fonksiyonu yayınlamazsanı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ında aşağıdaki karakterler yer alamaz: % * [ ] | : " ? \ / <>.
Nesnelerin yayımlanmasına ilişkin kısıtlamalar
Yayımlayabileceğiniz maksimum makale ve köşe sayısı yayın türüne göre değişir. Daha fazla bilgi için, SQL Server için Maksimum Kapasite Belirtimleri'nin "Çoğaltma Nesneleri" bölümüne bakın.
SQL Server çoğaltmasının bir parçası olarak şifreyle tanımlanan depolanmış prosedürleri, görünümleri, tetikleyicileri ve kullanıcı tanımlı fonksiyonları yayımlayamazsınız.
XML şema koleksiyonlarını çoğaltabilirsiniz ama 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. Bir tablo işlemsel bir çoğaltma yayınında yer alıyorsa, birincil anahtar sütunlarıyla ilişkili olan hiçbir dizini 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, DEFAULT veya ALTER TABLE öğesinin CREATE TABLE anahtar sözcüğüyle oluşturulan varsayılanların tercih edilmesi nedeniyle kullanımdan kaldırılmıştır).
NOEXPAND ipucunu içeren işlevleri, dağıtım aracısının bunları teslim ettiği sıra nedeniyle, başvurulan tablolar ve indekslenmiş görünümlerle aynı yayında yayımlayamazsınız. 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 sahibini Makale Özellikleri - <Makale> iletişim kutusu üzerinden ve aşağıdaki saklanan prosedürler aracılığıyla değiştirebilirsiniz: 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
Eğer önceki SQL Server sürümünü çalıştıran bir aboneye yayın yapıyorsanız, o sürümün işlevselliğiyle sınırlısınız. Bu sınırlama hem çoğaltmaya özgü işlevsellik hem de ürünün genel işlevselliği için geçerlidir.
Merge yayınları, bir yayında hangi özellikleri kullanabileceğinizi belirleyen ve önceki SQL Server sürümlerini çalıştıran aboneleri desteklemenize olanak tanıyan bir uyumluluk seviyesi kullanır.
Birden fazla yayında tablo yayımlanması
Çoğaltma, aşağıdaki kısıtlamalarla birden fazla yayında makale yayımlamayı destekler; verilerin yeniden yayımlanması dahildir:
Bir makaleyi hem işlem amaçlı yayında hem de birleştirme yayınında yayımlıyorsanız, birleştirme makalesi için @published_in_tran_pub özelliğini TRUE olarak ayarlayın. Ö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.
Bir makale işlemsel aboneliğin parçasa ve birleşme yayınına dahil ediliyorsa @published_in_tran_pub özelliğini ayarlayın. Varsayılan olarak, işlemsel çoğaltma Abone'deki tabloların yalnızca okunabilir olmasını bekler. Eğer birleştirme çoğaltısı, işlemsel abonelikte bir tabloda veri değişiklikleri yaparsa, veri yakınsamaması gerçekleşebilir. Bu sorunu önlemek için, birleştirme yayınında herhangi bir tabloyu sadece indirme olarak belirtin. Bu ayar, merge abonesinin veri değişikliklerini tabloya yüklemesini engeller. Daha fazla bilgi için bkz. Yalnızca İndirme Amaçlı Maddelerle Birleştirme Çoğaltma Performansını İyileştirme.
Kuyruğa alınmış güncelleştirme aboneliklerine sahip hem bir birleştirme yayımında hem de bir işlemsel yayımda bir makale yayımlayamazsınız.
Abonelikleri güncellemeyi destekleyen işlemsel yayınlarda yer alan makaleleri yeniden yayımlayamazsınız.
Bir makaleyi birden fazla işlemsel yayında yayımlarsanız ve kuyruklu güncelleme aboneliklerini destekliyorsanız, makale tüm yayınlarda aşağıdaki özellikler için aynı değere sahip olmalıdır:
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).
Birden fazla birleşme yayınında bir makale yayımlarsanız, makale tüm yayınlarda aşağıdaki özellikler için aynı değere sahip olmalıdır:
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 filtresiz birleştirme çoğaltması, bir tablonun birden çok yayında yayımlanmasını ve ardından abonelik veritabanındaki tek bir tabloda buna abone olunmasını destekler (genellikle rollup senaryosu olarak adlandırılır). Rollup, genellikle merkezi bir abonede birden fazla konumdan gelen veri alt kümelerini tek bir tabloda toplamak için kullanılır. Filtrelenmiş birleştirme yayınları merkezi Abone senaryosunu desteklemez. Birleştirme çoğaltmasında rollup genellikle parametreli satır filtrelerine sahip tek bir yayın üzerinden uygulanır. Daha fazla bilgi için bkz. Parametreli Satır Filtreleri.