指定項(xiàng)目中使用的列。使用 sp_articlecolumn 垂直篩選表中的數(shù)據(jù)。此存儲(chǔ)過(guò)程在發(fā)布服務(wù)器的發(fā)布數(shù)據(jù)庫(kù)上執(zhí)行。
sp_articlecolumn [ @publication = ] 'publication'
, [ @article = ] 'article'
[ , [ @column = ] 'column' ]
[ , [ @operation = ] 'operation' ]
[ , [ @refresh_synctran_procs = ] refresh_synctran_procs ]
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @change_active = ] change_actve ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[@publication =] 'publication'
是包含該項(xiàng)目的發(fā)布名。publication 的數(shù)據(jù)類型為 sysname,沒(méi)有默認(rèn)設(shè)置。
[@article = ]'article'
是項(xiàng)目名。article 的數(shù)據(jù)類型為 sysname,沒(méi)有默認(rèn)設(shè)置。
[@column =] 'column'
是要添加或除去的列名。column 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 NULL。如果是 NULL,則表示發(fā)布所有的列。
[@operation =] 'operation'
是復(fù)制狀態(tài)。operation 的數(shù)據(jù)類型為 nvarchar(4),默認(rèn)設(shè)置為 add。add 標(biāo)記要復(fù)制的列。drop 去除該列的標(biāo)記。
[@refresh_synctran_procs =] refresh_synctran_procs
指定是否添加或除去項(xiàng)目中的列。refresh_synctran_procs 的數(shù)據(jù)類型為 bit,默認(rèn)設(shè)置為 1。如果是 1,則表示重新生成支持同步事務(wù)的存儲(chǔ)過(guò)程以匹配復(fù)制的列數(shù)。
[@ignore_distributor =] ignore_distributor
表示是否在不連接到分發(fā)服務(wù)器的情況下執(zhí)行此存儲(chǔ)過(guò)程。ignore_distributor 的數(shù)據(jù)類型為 bit,默認(rèn)設(shè)置為 0。如果是 0,則表示必須為發(fā)布啟用數(shù)據(jù)庫(kù),而且應(yīng)刷新項(xiàng)目高速緩存以反映項(xiàng)目所復(fù)制的新列。如果是 1,則表示允許為駐留在未發(fā)布數(shù)據(jù)庫(kù)中的項(xiàng)目除去項(xiàng)目列;應(yīng)該僅在恢復(fù)情況下使用該設(shè)置。
[@change_active = ] change_active
允許修改帶有訂閱的發(fā)布中的列。change_active 的數(shù)據(jù)類型為 int,默認(rèn)設(shè)置為 0。如果是 0,則表示將不修改列。如果是 1,則表示可以從有訂閱的活動(dòng)項(xiàng)目中添加或除去列。
[@force_invalidate_snapshot = ] force_invalidate_snapshot
確認(rèn)此存儲(chǔ)過(guò)程采取的操作可能使現(xiàn)有快照無(wú)效。force_invalidate_snapshot 的數(shù)據(jù)類型為 bit,默認(rèn)設(shè)置為 0。0 指定對(duì)項(xiàng)目的更改不會(huì)導(dǎo)致快照無(wú)效。如果存儲(chǔ)過(guò)程檢測(cè)到更改確實(shí)需要新快照,則會(huì)發(fā)生錯(cuò)誤,且不會(huì)進(jìn)行任何更改。而 1 指定對(duì)項(xiàng)目所做的更改可能導(dǎo)致快照無(wú)效,而且如果現(xiàn)有訂閱需要新的快照,則提供適當(dāng)?shù)臋?quán)限,使現(xiàn)有快照被標(biāo)記為廢棄并生成新快照。
[@force_reinit_subscription = ] force_reinit_subscription
確認(rèn)此存儲(chǔ)過(guò)程采取的操作可能要求重新初始化現(xiàn)有的訂閱。force_reinit_subscription 的數(shù)據(jù)類型為 bit,默認(rèn)設(shè)置為 0。0 指定對(duì)項(xiàng)目的更改不會(huì)導(dǎo)致重新初始化訂閱。如果存儲(chǔ)過(guò)程檢測(cè)到更改需要重新初始化訂閱,則會(huì)發(fā)生錯(cuò)誤,且不會(huì)進(jìn)行任何更改。而 1 指定對(duì)項(xiàng)目的更改將導(dǎo)致重新初始化現(xiàn)有的訂閱,且提供使訂閱重新初始化發(fā)生的權(quán)限。
0(成功)或 1(失敗)
sp_articlecolumn 用于快照復(fù)制和事務(wù)復(fù)制。
sp_articlecolumn 在 sysarticles 內(nèi)設(shè)置 bit。用 sp_articlecolumn 只能篩選一個(gè)未訂閱項(xiàng)目。
只有 sysadmin 固定服務(wù)器角色成員或 db_owner 固定數(shù)據(jù)庫(kù)角色成員才能執(zhí)行 sp_articlecolumn。
相關(guān)文章