sp_changearticle (Transact-SQL)
Bir işlem veya anlık görüntü yayın makale özelliklerini değiştirir.Bu saklı yordam, yayın veritabanı üzerinde yayımcı adresindeki yürütülür.
Sözdizimi
sp_changearticle [ [@publication= ] 'publication' ]
[ , [ @article= ] 'article' ]
[ , [ @property= ] 'property' ]
[ , [ @value= ] 'value' ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ , [ @publisher = ] 'publisher' ]
Bağımsız değişkenler
[ @publication=] 'publication'
Is the name of the publication that contains the article.publication is sysname, with a default of NULL.[ @article=] 'article'
Is the name of the article whose property is to be changed.article is sysname, with a default of NULL.[ @property=] 'property'
Is an article property to change.property is nvarchar(100).[ @value=] 'value'
Is the new value of the article property.value is nvarchar(255).Bu tablo makaleleri ve bu özelliklerin değerlerini özelliklerini açıklar.
Özellik
Değerler
Açıklama
creation_script
Yolunu ve adını bir makale hedef tablo oluşturmak için kullanılan şema komut dosyası.Varsayılan değer null olur.
del_cmd
delete deyim yürütmek; Aksi halde, onu günlük oluşturulur.
Açıklama
Makale için yeni tanımlayıcı girdisi.
dest_object
Geriye dönük uyumluluk için sağlanır.Use dest_table.
dest_table
Yeni hedef tablo.
destination_owner
Hedef nesnenin sahibi adı.
filtre
Filtre uygulamak için kullanılacak yeni bir saklı yordam tablo (yatay süzme).Varsayılan değer null olur.Yayınlar, eşler arası çoğaltma için değiştirilemez.
fire_triggers_on_snapshot
TRUE
Çoğaltılmış kullanıcı Tetikleyiciler yürütülen ne zaman ilk anlık görüntü uygulanır.
NotTetikleyici çoğaltılması bit maskesi değeri schema_option değerini içermelidir 0x100.yanlış
Kullanıcı Tetikleyiciler çoğaltılan ne zaman Yürütülmeyen ilk anlık görüntü uygulanır.
identity_range
Denetimleri Abone tarafında atanan kimlik aralığı boyutunu atanmış.Eşler arası çoğaltma için desteklenmiyor.
ins_cmd
INSERT deyim yürütmek; Aksi halde, onu günlük oluşturulur.
pre_creation_cmd
Bırakın, silmek veya eşitleme uygulanmadan önce hedef tablo kesecek pre-creation komut.
Yok
Bir komut kullanın.
bırak
Hedef Tablo düşünceye.
Sil
Hedef Tablo siler.
Kes
Hedef Tablo keser.
pub_identity_range
Denetimleri Abone tarafında atanan kimlik aralığı boyutunu atanmış.Eşler arası çoğaltma için desteklenmiyor.
schema_option
Specifies the bitmap of the schema generation option for the given article.schema_option is binary(8).Daha fazla bilgi için bu konunun ilerisinde açıklamalar bölümüne bakın.
0x00
komut dosyası kullanan kullanan kullanan dosyası Snapshot Aracısı tarafından devre dışı bırakır.
0x01
Nesne oluşturma (create table, create procedure vb.) oluşturur.
0x02
Tanımlanan makale değişiklikleri yaymak saklı yordamlar oluşturur.
0x04
Kimlik sütunları kullanarak kimlik özellik vermeyecekleri.
0x08
Çoğaltma timestamp sütunlar.Aksi takdirde küme, timestamp sütun olarak çoğaltılmasını binary.
0x10
Karşılık gelen kümelenmiş dizin oluşturur.
0x20 değerli
Temel abone adresindeki veri türleri dönüştürür kullanıcı tanımlı veri türleri (udt).udt sütun parçası ise bir udt sütunundaki onay veya varsayılan kısıtlama olduğunda bu seçenek kullanılamaz birincil anahtar, veya hesaplanan sütun udt sütun başvuruyorsa.Oracle yayımcılar için desteklenmiyor.
0x40
Karşılık gelen kümelenmemiş dizinler oluşturur.
0x80
İçerir bildirilen bilgi tutarlılığına bütünlük birincil anahtarlar üzerinde.
0x100
Kullanıcı Tetikleyiciler üzerinde bir tablo makale tanımlanmışsa çoğaltır.
0x200
YABANCI anahtar kısıtlamaları çoğaltır.Başvurulan tabloyu yayın bir parçası ise, tüm yabancı anahtar kısıtlamaları yayımlanmış bir tablo çoğaltılmaz.
0x400
Denetim kısıtlamalarını çoğaltır.
0x800
Varsayılanları çoğaltır.
0x1000
Sütun - çoğaltırdüzey harmanlama.
0x2000
Genişletilmiş özellikler yayımlanmış makale ile ilişkili çoğaltır kaynak nesne.
0x4000
Benzersiz anahtarlar bir tablo makale tanımlanmışsa çoğaltır.
0x8000
Birincil anahtar ve benzersiz tablo makale tuşlar alter table Deyimleri kullanarak kısıtlamaları olarak çoğaltır.
NotBu seçenek kalmıştır.Use 0x80 ve 0x4000 onun yerine.ile
Böylece eşitleme sırasında kısıtlamalar zorlandığı çoğaltma için değil denetim kısıtlamalarını çoğaltır.
0x20000
Böylece eşitleme sırasında kısıtlamalar zorlandığı çoğaltma için değil yabancı anahtar kısıtlamalarını çoğaltır.
0x40000
Bölümlenmiş tablo veya dizin ile ilişkili filegroups çoğaltır.
0x80000
Çoğaltır bölümleme düzeni bölümlenmiş tablo için.
0x100000
Çoğaltır bölümleme düzeni bölümlenmiş dizin için.
0x200000
Çoğaltır tablo istatistikleri.
0x400000
Varsayılan bağlar
0x800000
Kural bağlar
0x1000000
Tam metin dizini
0x2000000
xml şema koleksiyonları bağlı xml sütunlar yinelenmez.
0x4000000
Dizinler üzerinde çoğaltır xml sütunlar.
0x8000000
Zaten mevcut tüm şemalar üzerinde abone oluşturun.
0x10000000
Dönüştürür xml sütun ntext abone.
0x20000000
Dönüştürür büyük nesne veri türleri (nvarchar(max), varchar(max), ve varbinary(max))'de sunulan SQL Server 2005 üzerinde desteklenen veri türleri için SQL Server 2000.Bu türleri ile nasıl eşleştirildikleri hakkında daha fazla bilgi için bkz: "eşleme yeni veri türleri için önceki sürümler" Bölüm'de sql Server birden çok sürümünü kullanarak bir çoğaltma topolojisi içinde.
0x40000000
İzinleri çoğaltır.
0x80000000
yayın bir parçası olan nesneleri bağımlılıkları bırakma girişimi.
0x100000000
FILESTREAM öznitelik üzerinde belirtilmişse çoğaltmak için bu seçeneği kullanın varbinary(max) sütunlar.Tablolara çoğaltıyorsanız bu seçenek belirtmek SQL Server 2005 aboneleri.FILESTREAM sütunları olan tablo çoğaltma SQL Server 2000 aboneleri desteklenmiyor, olsun nasıl bu şema seçenek küme.
İlgili seçeneği görmek 0x800000000.
0x200000000
Tarih ve saat veri türleri dönüştürür (date, time, datetimeoffset, ve datetime2)'de sunulan SQL Server 2008 önceki sürümlerinde desteklenen veri türleri için SQL Server.Bu türleri ile nasıl eşleştirildikleri hakkında daha fazla bilgi için bkz: "eşleme yeni veri türleri için önceki sürümler" Bölüm'de sql Server birden çok sürümünü kullanarak bir çoğaltma topolojisi içinde.
0x400000000
Veri ve dizinler için sıkıştırma seçeneği çoğaltır.Daha fazla bilgi için bkz: Sıkıştırılmış tablolar ve dizinler oluşturma.
0x800000000
Abone adresindeki kendi dosya grubu üzerinde FILESTREAM verileri saklamak için bu seçeneği ayarlayın.Bu seçenek ise küme, FILESTREAM veri varsayılan dosya grubu üzerinde saklanır.Çoğaltma, dosya gruplarını oluşturun; Bu nedenle, sizin küme anlık görüntü abone adresindeki uygulamadan önce bu seçeneği, dosya grubu oluşturmanız gerekir.anlık görüntü görüntüsünü uygulamadan önce nesneleri oluşturma hakkında daha fazla bilgi için bkz: Önce ve sonra bir Snapshot uygulanan komut dosyalarını çalıştırma.
İlgili seçeneği görmek 0x100000000.
0x1000000000
Ortak dil çalışma zamanı (clr) kullanıcı tanımlı türler (UDTs) için 8000 bayttan daha büyük dönüştürür varbinary(max) türü udt sütunları çoğaltılan çalıştıran aboneleri için böylece SQL Server 2005.
0x2000000000
Dönüştürür hierarchyid veri türü varbinary(max) böylece türündeki sütunlar hierarchyid çoğaltılan çalıştıran aboneleri için SQL Server 2005.Nasıl kullanılacağı hakkında daha fazla bilgi için hierarchyid sütunları Çoğaltılan tablolarda görmek hierarchyid (Transact-SQL).
0x4000000000
Herhangi bir filtre uygulanmış dizinler üzerinde çoğaltır tablo.Filtre uygulanmış dizinler hakkında daha fazla bilgi için bkz: Filtre uygulanmış dizin tasarım yönergeleri.
0x8000000000
Dönüştürür geography ve geometry veri türleri varbinary(max) sütunların bu türleri çoğaltılan çalıştıran aboneleri için böylece SQL Server 2005.
0x10000000000
Türü sütun dizinlerde çoğaltır geography ve geometry.
0x20000000000
sparse öznitelik sütunları için çoğaltır.Bu öznitelik hakkında daha fazla bilgi için bkz: Seyrek sütunlar kullanma.
Durum
Yeni özellik durumunu belirtir.
DTS yatay bölümleri
Yalnızca bilgi amaçlı olarak belirtilmiştir. Desteklenmez. Gelecekteki uyumluluk garanti edilmez.
sütun adlarını içerir
Sütun adları çoğaltılmış INSERT dahil deyim.
hiçbir sütun adları
Sütun adları değil çoğaltılmış INSERT dahil deyim.
dts yatay bölümleri olmayan
Makale yatay bölüm transformable abonelik tarafından tanımlanır.
Yok
Tüm durum seçenekleri temizler sysarticles tablo ve makale etkin değil olarak işaretler.
parametreler
Parametreleştirilmiş komutları kullanarak abone değişiklikler yayılır.Yeni bir makale için varsayılan ayar budur.
dize hazır bilgileri
Dize hazır bilgi değerleri kullanarak abone değişiklikler yayılır.
sync_object
Tablo veya Görünüm eşitleme çıktı dosyası üretmek için kullanılan adı.Varsayılan değer null olur.Oracle yayımcılar için desteklenmiyor.
tablo alanı
Oracle veritabanından yayımlanan bir makale için günlüğe kaydetme tablo tarafından kullanılan tablo alanı tanımlar.Daha fazla bilgi için bkz: Oracle açabilmek yönetme.
Eşik
Ne zaman Dağıtım Aracısı yeni bir kimlik aralık atar denetleyen yüzde değeri.Eşler arası çoğaltma için desteklenmiyor.
type
Oracle yayımcılar için desteklenmiyor.
logbased
Günlük tabanlı makale.
logbased manualboth
El ile filtre ve el ile görünümü ile günlük tabanlı makale.Bu seçenek gerektiren sync_object ve filter de özellikleri küme.Oracle yayımcılar için desteklenmiyor.
logbased manualfilter
El ile filtre ile günlük tabanlı makale.Bu seçenek gerektiren sync_object ve filter de özellikleri küme.Oracle yayımcılar için desteklenmiyor.
logbased manualview
El ile görünümü ile günlük tabanlı makale.Bu seçenek gerektiren sync_object de özellik küme.Oracle yayımcılar için desteklenmiyor.
indexed viewlogbased
dizinli görünüm günlük tabanlı makale.Oracle yayımcılar için desteklenmiyor.Bu makale türü için temel tablo ayrı olarak yayımlanmasına gerek yoktur.
indexed viewlogbased manualboth
El ile filtre ve el ile görünümü ile günlük tabanlı dizinli görünüm makale.Bu seçenek gerektiren sync_object ve filter de özellikleri küme.Bu makale türü için temel tablo ayrı olarak yayımlanmasına gerek yoktur.Oracle yayımcılar için desteklenmiyor.
indexed viewlogbased manualfilter
El ile filtre ile dizinli görünüm günlük tabanlı makale.Bu seçenek gerektirir sync_object ve filter de özellikleri küme.Bu makale türü için temel tablo ayrı olarak yayımlanmasına gerek yoktur.Oracle yayımcılar için desteklenmiyor.
indexed viewlogbased manualview
El ile görünümü ile günlük tabanlı dizinli görünüm makale.Bu seçenek gerektiren sync_object de özellik küme.Bu makale türü için temel tablo ayrı olarak yayımlanmasına gerek yoktur.Oracle yayımcılar için desteklenmiyor.
upd_cmd
update deyim yürütmek; Aksi halde, onu günlük oluşturulur.
NULL
NULL
Değiştirilebilir makale özelliklerini listesini döndürür.
[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Acknowledges that the action taken by this stored procedure may invalidate an existing snapshot.force_invalidate_snapshot is a bit, with a default of 0.0 , değişiklikleri belirtir makale anlık görüntü geçersiz olarak neden olmaz.Saklı yordam, yeni bir anlık görüntü gerektirecek bir değişiklik algılarsa, bir hata oluşur ve değişiklik yapılmaz.
1 , geçersiz olduğu anlık makale değişiklikler neden olabilir ve yeni bir anlık görüntü gerektirecek varolan abonelikleri varsa varolan anlık görüntü geçersiz olarak işaretlenmesi için izin verir ve yeni bir anlık görüntü oluşturulan belirtir.
Özellikleri için açıklamalar bölümüne bakın, değiştirildi, yeni bir anlık görüntü oluşturulmasını gerektirir.
[ **@force_reinit_subscription=]**force_reinit_subscription
Acknowledges that the action taken by this stored procedure may require existing subscriptions to be reinitialized.force_reinit_subscription is a bit with a default of 0.0 makale değişiklikleri abonelik yeniden neden belirtir.Saklı yordam yeniden için varolan abonelikleri değişikliği gerektirecek algılarsa, bir hata oluşur ve değişiklik yapılmaz.
1 , değişiklikleri belirtir makale yeniden, varolan abonelikleri neden ve gerçekleşmesi abonelik reinitialization izni verir.
Özellikleri için açıklamalar bölümüne bakın, değiştirilen, varolan tüm abonelikler yeniden gerektirir.
[ @ publisher =] 'publisher'
Specifies a non-SQL Server Publisher.publisher is sysname, with a default of NULL.Not
publisherüzerinde makale özelliklerini değiştirirken kullanılmamalıdır bir SQL Server Yayımcı.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (başarısız)
Açıklamalar
sp_changearticle anlık görüntü çoğaltması çoğaltması çoğaltma ve işlem çoğaltma kullanılır.
Bir makale eşler arası işlem çoğaltma destekleyen bir yayın ait olduğunda, yalnızca değiştirebileceğiniz Açıklama, ins_cmd, upd_cmd, ve del_cmd özellikleri.
Aşağıdaki özelliklerden herhangi birini değiştirmek için yeni bir anlık görüntü oluşturulan ve değeri belirtmeniz gerekir 1 için force_invalidate_snapshot parametresi:
del_cmd
dest_table
destination_owner
ins_cmd
pre_creation_cmd
schema_options
upd_cmd
Aşağıdaki özelliklerden herhangi birini değiştirmek varolan gerektirir abonelikleri yeniden, ve değeri belirtmeniz gerekir 1 için force_reinit_subscription parametresi.
del_cmd
dest_table
destination_owner
filtre
ins_cmd
Durum
upd_cmd
İçinde var olan bir yayın, siz sp_changearticle bırakın ve tüm yeniden oluşturmak zorunda kalmadan bir makale değiştirmek için yayın.
Not
Değerini değiştirirken schema_option, sistem gerçekleştirme bitwise bir güncelleştirme.Yani, o zaman, küme schema_option kullanarak sp_changearticle, varolan bit kümetings kapalı.Varolan ayarları korumak için gerçekleştirmeniz & (Bitsel ve) , ayarlamakta olduğunuz geçerli değeri arasındaki, schema_option, hangi belirlenen çalıştırarak sp_helparticle.
Geçerli şema seçenekleri
Aşağıdaki tablo izin verilen değerleri açıklar schema_option (üst boyunca gösterilen) çoğaltma türü ve (ilk sütun boyunca gösterilen) makale türü temel.
Makale türü |
Çoğaltma türü |
|
---|---|---|
|
İşlem |
Anlık görüntü |
logbased |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
logbased manualfilter |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
logbased manualview |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
dizinli görünüm logbased |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
dizinli görünüm logbased manualfilter |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
dizinli görünüm logbased manualview |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
dizinli görünüm logbase manualboth |
Tüm seçenekler |
Tüm seçenekler ancak 0x02 |
yordam exec |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
seri hale getirilebilir yordam exec |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
proc şema |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
Yalnızca Görünüm şema |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000 |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000 |
işlev şema |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
0x01, 0x20 değerli, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, ve 0x80000000 |
dizinli görünüm şema |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000 |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000 |
Not
Kuyruğa alınmış güncelleştirme yayınlar için schema_option değeri 0x80 etkinleştirilmiş olması gerekir.Desteklenen schema_option için değer olmayan-SQL Server yayınları şunlardır: 0x01, 0x02, 0x10, 0x40, 0x80, 0x1000 and 0x4000.
Örnek
DECLARE @publication AS sysname;
DECLARE @article AS sysname;
DECLARE @option AS int;
SET @publication = N'AdvWorksProductTran';
SET @article = N'Product';
SET @option = (SELECT CAST(0x0000000002030073 AS int));
-- Change the schema options to replicate schema with XML.
USE [AdventureWorks2008R2]
EXEC sp_changearticle
@publication = @publication,
@article = @article,
@property = N'schema_option',
@value = @option,
@force_invalidate_snapshot = 1;
GO
İzinler
Yalnızca üyeleri sysadmin sabit sunucu rolü veya db_owner sabit veritabanı rolü olabilir yürütmek sp_changearticle.
Ayrıca bkz.