sp_helppublication (Transact-SQL)

返回有关发布的信息。对于 MicrosoftSQL Server 发布,此存储过程在发布服务器的发布数据库中执行。对于 Oracle 发布,此存储过程在分发服务器的任何数据库中执行。

主题链接图标Transact-SQL 语法约定

语法

sp_helppublication [ [ @publication = ] 'publication' ]
    [ , [ @found=] found OUTPUT]
    [ , [ @publisher = ] 'publisher' ]

参数

  • [ @publication = ] 'publication'
    要查看的发布的名称。publication 的数据类型为 sysname,默认值为 %,该值表示返回有关所有发布的信息。

  • [ @found = ] **'found'**OUTPUT
    指示返回行的标志。found的数据类型为 int 而且是 OUTPUT 参数,默认值为 234561 指示已找到发布。0 指示未找到发布。

  • [ @publisher = ] 'publisher'
    指定一个非 SQL Server 发布服务器。publisher 的数据类型为 sysname,默认值为 NULL。

    注意注意

    当请求 SQL Server 发布服务器中的发布信息时,不应指定 publisher。

结果集

列名

数据类型

说明

pubid

int

发布 ID。

name

sysname

发布的名称。

restricted

int

标识为仅供参考。 不提供支持。 不保证以后的兼容性。

status

tinyint

发布的当前状态。

0 = 不活动。

1 = 活动。

task

 

用于保持向后兼容性。

replication frequency

tinyint

复制频率的类型:

0 = 事务

1 = 快照

synchronization method

tinyint

同步模式:

0 = 本机大容量复制程序(bcp 实用工具)

1 = 字符大容量复制

3 = 并发,表示在快照期间使用本机大容量复制(bcp实用工具),但不锁定表

4 = Concurrent_c,表示在快照期间使用字符大容量复制但不锁定表

description

nvarchar(255)

发布的可选说明。

immediate_sync

bit

表示是否在每次快照代理运行时创建或重新创建同步文件。

enabled_for_internet

bit

表示是否通过文件传输协议 (FTP) 和其他服务将发布的同步文件在 Internet 上公开。

allow_push

bit

表示是否允许对发布使用推送订阅。

allow_pull

bit

表示是否允许对发布使用请求订阅。

allow_anonymous

bit

表示是否允许对发布使用匿名订阅。

independent_agent

bit

表示是否有用于该发布的独立分发代理。

immediate_sync_ready

bit

表示快照代理是否生成了准备由新订阅使用的快照。只有当发布被设置为始终有可用于新订阅或重新初始化订阅的快照,才定义此参数。

allow_sync_tran

bit

表示是否允许对发布使用立即更新订阅。

autogen_sync_procs

bit

表示是否自动生成存储过程以支持立即更新订阅。

snapshot_jobid

binary(16)

已计划任务 ID。

retention

int

为给定的发布保存的更改量(小时)。

has subscription

bit

表示发布是否具有活动订阅。1 表示发布具有活动订阅,0 表示发布没有订阅。

allow_queued_tran

bit

指定是否已启用在订阅服务器上禁用更改排队直到这些更改可以应用到发布服务器。如果为 0,则不对订阅服务器上的更改进行排队。

snapshot_in_defaultfolder

bit

指定是否在默认文件夹中存储快照文件。如果为 0,则表示快照文件已存储在 alternate_snapshot_folder 所指定的备用位置。如果为 1,则可以在默认文件夹中找到快照文件。

alt_snapshot_folder

nvarchar(255)

指定快照的备用文件夹的位置。

pre_snapshot_script

nvarchar(255)

指定指向 .sql 文件位置的指针。在订阅服务器上应用快照时,分发代理将在运行任何复制的对象脚本之前运行快照前脚本。

post_snapshot_script

nvarchar(255)

指定指向 .sql 文件位置的指针。分发代理将在初始同步过程中已应用所有其他复制的对象脚本和数据之后才运行快照后脚本。

compress_snapshot

bit

指定将写入 alt_snapshot_folder 位置的快照压缩为 Microsoft CAB 格式。0 指定不压缩快照。

ftp_address

sysname

分发服务器的 FTP 服务的网络地址。指定供订阅服务器的分发代理或合并代理拾取的发布快照文件的位置。

ftp_port

int

分发服务器的 FTP 服务的端口号。

ftp_subdirectory

nvarchar(255)

指定供订阅服务器的分发代理或合并代理拾取的快照文件的位置(如果发布支持使用 FTP 传播快照)。

ftp_login

sysname

用于连接到 FTP 服务的用户名。

allow_dts

bit

指定发布允许数据转换。0 指定不允许 DTS 转换。

allow_subscription_copy

bit

指定是否已启用复制订阅该发布的订阅数据库的功能。0 表示不允许复制。

centralized_conflicts

bit

指定冲突记录是否存储在发布服务器上:

0 = 在导致冲突的发布服务器和订阅服务器上均存储冲突记录。

1 = 在发布服务器上存储冲突记录。

conflict_retention

int

指定冲突保持期(天)。

conflict_policy

int

指定使用排队更新订阅服务器选项时遵循的冲突解决策略。可以是下列值之一:

1 = 发布服务器入选冲突。

2 = 订阅服务器入选冲突。

3 = 重新初始化订阅。

queue_type

 

指定所使用的队列类型。可以是下列值之一:

msmq = 使用 Microsoft 消息队列存储事务。

sql = 使用 SQL Server 存储事务。

注意注意
已经不再支持消息队列。

backward_comp_level

 

数据库兼容级别,可以为下列值之一:

10 = MicrosoftSQL Server 7.0

20 = SQL Server 7.0 Service Pack 1

30 = SQL Server 7.0 Service Pack 2

35 = SQL Server 7.0 Service Pack 3

40 = MicrosoftSQL Server 2000

50 = SQL Server 2000 Service Pack 1

60 = SQL Server 2000 Service Pack 3

90 = MicrosoftSQL Server 2005

100 = MicrosoftSQL Server 2008

publish_to_AD

bit

指定发布是否已发布在 Microsoft Active Directory™ 中。值 1 指示已发布,值 0 指示尚未发布。

allow_initialize_from_backup

bit

指示订阅服务器是否能够从备份而不是从初始快照来初始化对此发布的订阅。1 表示订阅可以从备份进行初始化,0 表示不能。有关详细信息,请参阅初始化事务订阅(不使用快照)不带快照的事务订阅服务器。

replicate_ddl

int

指示发布是否支持架构复制。1 表示已复制在发布服务器上执行的数据定义语言 (DDL) 语句,0 表示未复制 DDL 语句。有关详细信息,请参阅对发布数据库进行架构更改

enabled_for_p2p

int

表示发布是否可用于对等复制拓扑。1 指示发布支持对等复制。有关详细信息,请参阅对等事务复制

publish_local_changes_only

int

标识为仅供参考。 不提供支持。 不保证以后的兼容性。

enabled_for_het_sub

int

指定发布是否支持非 SQL Server 订阅服务器。值 1 表示支持非 SQL Server 订阅服务器。值 0 表示仅支持 SQL Server 订阅服务器。有关详细信息,请参阅非 SQL Server 订阅服务器

enabled_for_p2p_conflictdetection

int

指定分发代理是否为针对对等复制启用的发布检测冲突。值为 1 表示进行冲突检测。有关详细信息,请参阅对等复制中的冲突检测

originator_id

int

指定对等拓扑中某个节点的 ID。如果 enabled_for_p2p_conflictdetection 设置为 1,则此 ID 用于冲突检测。有关已经使用过的 ID 的列表,请查询 Mspeer_originatorid_history 系统表。

p2p_continue_onconflict

int

指定检测到冲突时分发代理是否继续处理更改。值 1 表示代理将继续处理更改。

注意事项注意
建议使用默认值 0。如果此选项设置为 1,分发代理将尝试应用来自具有最高发起方 ID 的节点的冲突行来收敛拓扑中的数据。此方法不保证将会收敛。您应确保检测到冲突之后拓扑保持一致。有关详细信息,请参阅对等复制中的冲突检测中的“处理冲突”。

alllow_partition_switch

int

指定是否对已发布的数据库执行 ALTER TABLE…SWITCH 语句。有关详细信息,请参阅复制已分区表和索引

replicate_partition_switch

int

指定是否应将对已发布的数据库执行的 ALTER TABLE…SWITCH 语句复制到订阅服务器。仅在 allow_partition_switch 设置为 1 时,此选项才有效。

返回代码值

0(成功)或 1(失败)

注释

sp_helppublication 用于快照复制和事务复制。

sp_helppublication 将返回执行此过程的用户所拥有的所有发布的信息。

示例

DECLARE @myTranPub AS sysname
SET @myTranPub = N'AdvWorksProductTran' 

USE [AdventureWorks]
EXEC sp_helppublication @publication = @myTranPub
GO

权限

只有发布服务器上的 sysadmin 固定服务器角色成员或发布数据库上的 db_owner 固定数据库角色成员,或者发布访问列表 (PAL) 中的用户才能执行 sp_helppublication。

对于非 SQL Server 发布服务器,只有分发服务器上的 sysadmin 固定服务器角色成员或分发数据库上的 db_owner 固定数据库角色成员,或者 PAL 中的用户才能执行 sp_helppublication。