sp_helppublication (Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例

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

Transact-SQL 语法约定

语法

sp_helppublication_snapshot
    [ @publication = ] N'publication'
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

参数

[ @publication = ] N'publication'

要查看的发布的名称。 @publicationsysname,默认值 %为 ,返回有关所有发布的信息。

[ @publisher = ] N'publisher'

指定非 SQL Server 发布服务器。 @publisher为 sysname,默认值为 NULL.

注意

从 SQL Server 发布服务器请求发布信息时,不应指定发布 服务器。

结果集

列名称 数据类型 说明
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_快照_folder指定的备用位置。 如果1存在快照文件,则可以在默认文件夹中找到。
alt_snapshot_folder nvarchar(255) 指定快照的备用文件夹的位置。
pre_snapshot_script nvarchar(255) 指定指向文件位置的 .sql 指针。 在订阅服务器上应用快照时,分发代理将在运行任何复制的对象脚本之前运行快照前脚本。
post_snapshot_script nvarchar(255) 指定指向文件位置的 .sql 指针。 在初始同步期间应用所有其他副本 (replica)对象脚本和数据后,分发代理将运行快照后脚本。
compress_snapshot bit 指定写入alt_快照_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 数据库兼容性级别,可以是以下值之一:

90 = SQL Server 2005 (9.x)
100 = Microsoft SQL Server 2008 (10.0.x)
publish_to_AD bit 指定发布是否在 Microsoft Active Directory 中发布。 指示 1 它已发布的值,值 0 指示它未发布。
allow_initialize_from_backup bit 指示订阅服务器是否能够从备份而不是从初始快照来初始化对此发布的订阅。 1 表示可以从备份初始化订阅,并且 0 意味着订阅无法初始化。 有关详细信息,请参阅在没有快照的情况下初始化事务订阅,而不初始化事务订阅服务器。
replicate_ddl int 指示发布是否支持架构副本 (replica)。 1指示发布服务器上执行的数据定义语言 (DDL) 语句副本 (replica),并0指示 DDL 语句不会副本 (replica)。 有关详细信息,请参阅对发布数据库进行架构更改
enabled_for_p2p int 指定是否可以在对等副本 (replica)拓扑中使用发布。 1指示发布支持对等副本 (replica)。 有关详细信息,请参阅 对等 - 事务复制
publish_local_changes_only int 标识为仅供参考。 不支持。 不保证以后的兼容性。
enabled_for_het_sub int 指定发布是否支持非 SQL Server 订阅服务器。 表示支持非 SQL Server 订阅服务器的值 1 。 一个值 0 ,表示仅支持 SQL Server 订阅服务器。 有关详细信息,请参阅 Non-SQL Server Subscribers
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 的节点中的冲突行来聚合拓扑中的数据。 此方法不能保证收敛。 您应确保检测到冲突之后拓扑保持一致。 有关详细信息,请参阅对等复制中的 “处理冲突” - 对等复制中的冲突检测。
allow_partition_switch int 指定是否可以 ALTER TABLE...SWITCH 对已发布的数据库执行语句。 有关详细信息,请参阅复制已分区表和索引
replicate_partition_switch int 指定是否ALTER TABLE...SWITCH应将针对已发布数据库执行的语句副本 (replica)到订阅服务器。 仅当此选项设置为 1allow_partition_switch,此选项才有效。
enabled_for_p2p_lastwriter_conflictdetection int 指定分发代理是否检测为为对等副本 (replica)启用的发布配置上一个编写器冲突检测和解决冲突。 1一个值,表示检测到最后一个编写器冲突。

适用于: SQL Server 2019 (15.x) CU 13 及更高版本。

返回代码值

0(成功)或 1(失败)。

注解

sp_helppublication用于快照和事务副本 (replica)。

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

示例

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

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

权限

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

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