Aracılığıyla paylaş


sp_replcmds (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL Yönetilen Örneği

Çoğaltma için işaretlenmiş işlemlerin komutlarını döndürür. Bu saklı yordam yayın veritabanındaki Publisher'da yürütülür.

Önemli

sp_replcmds yordamı yalnızca çoğaltmayla ilgili sorunları gidermek için çalıştırılmalıdır.

Transact-SQL söz dizimi kuralları

Sözdizimi

sp_replcmds [ @maxtrans = ] maxtrans
[ ; ]

Bağımsız değişken

Önemli

Genişletilmiş saklı yordamlar için bağımsız değişkenler, Sözdizimi bölümünde açıklandığı gibi belirli bir sırada girilmelidir. Parametreler sıra dışı girilirse bir hata iletisi oluşur.

[ @maxtrans = ] maxtrans

Hakkında bilgi döndürülecek işlem sayısı. @maxtrans int , varsayılan olarak 1değeridir ve dağıtım için bekleyen sonraki işlemi belirtir.

Sonuç kümesi

Sütun adı Veri tipi Açıklama
article id int Makalenin kimliği.
partial_command bit Bu komutun kısmi bir komut olup olmadığını gösterir.
command varbinary(1024) Komut değeri.
xactid ikili (10) İşlem Kimliği.
xact_seqno varbinary(16) İşlem sırası numarası.
publication_id int Yayının kimliği.
command_id int MSrepl_commandsiçindeki komutun kimliği.
command_type int Komut türü.
originator_srvname sysname İşlemin kaynaklandığı sunucu.
originator_db sysname İşlemin kaynaklandığı veritabanı.
pkHash int Yalnızca iç kullanım.
originator_publication_id int İşlemin kaynaklandığı yayının kimliği.
originator_db_version int İşlemin kaynaklandığı veritabanının sürümü.
originator_lsn varbinary(16) Kaynak yayındaki komutun günlük dizisi numarasını (LSN) tanımlar.

Açıklamalar

sp_replcmds işlem çoğaltmasında günlük okuyucu işlemi tarafından kullanılır.

Çoğaltma, belirli bir veritabanında sp_replcmds çalıştıran ilk istemciyi günlük okuyucusu olarak değerlendirir.

Bu yordam, sahip tarafından nitelenmiş tablolar için komutlar oluşturabilir veya tablo adını (varsayılan) nitelemez. Nitelenmiş tablo adları eklemek, bir veritabanındaki belirli bir kullanıcının sahip olduğu tablolardaki verilerin başka bir veritabanındaki aynı kullanıcının sahip olduğu tablolara çoğaltılmasına olanak tanır.

Kaynak veritabanındaki tablo adı sahip adıyla nitelendiğinden, hedef veritabanındaki tablonun sahibi aynı sahip adı olmalıdır.

aynı veritabanında sp_replcmds çalıştırmaya çalışan istemciler, ilk istemci bağlantısı kesilene kadar 18752 hatasını alır. İlk istemcinin bağlantısı kesildikten sonra, başka bir istemci sp_replcmdsçalıştırabilir ve yeni günlük okuyucusu olur.

sp_replcmds aynı işlemde metin işaretçisi alınmadığından bir metin komutunu çoğaltamıyorsa, hem SQL Server hata günlüğüne hem de Microsoft Windows uygulama günlüğüne 18759 numaralı bir uyarı iletisi eklenir.

İzinler

yalnızca sysadmin sabit sunucu rolünün veya db_owner sabit veritabanı rolünün üyeleri sp_replcmdsyürütebilir.