You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过编程方式获取SQL Server中的本地发布列表?

获取SQL Server本地发布列表的编程方法

下面是几种直接获取SSMS中「Replication」文件夹里本地发布列表的实用方法,无需手动操作界面:

1. 查询系统视图

单发布数据库精准查询

如果知道具体的发布数据库,直接在该库中查询syspublications视图,筛选本地发布:

SELECT 
    name AS 发布名称,
    description AS 发布描述,
    publisher_db AS 关联数据库,
    -- 发布类型:0=事务发布,1=快照发布,2=合并发布
    publication_type AS 发布类型,
    -- 状态:0=非活动,1=活动
    status AS 发布状态
FROM syspublications
WHERE is_local = 1;

全局查询所有本地发布

如果要一次性获取服务器上所有本地发布,可连接到分发数据库(默认名为distribution),查询MSpublications视图:

USE distribution;
SELECT 
    publication AS 发布名称,
    publisher_db AS 关联数据库,
    description AS 发布描述,
    publication_type AS 发布类型,
    active AS 是否激活
FROM MSpublications;

2. 调用系统存储过程

SQL Server内置了专门的存储过程sp_helppublication,用于返回发布的详细信息,默认只展示本地发布:

EXEC sp_helppublication;

如果只想查看特定数据库的发布,可添加参数过滤:

-- 替换为你的目标数据库名称
EXEC sp_helppublication @publisher_db = 'YourDatabaseName';

权限说明

执行上述查询或存储过程,需要具备以下权限之一:

  • sysadmin固定服务器角色成员
  • 发布数据库的db_owner固定数据库角色成员
  • 对应发布的发布访问列表(PAL)成员

内容的提问来源于stack exchange,提问作者Dmitriy Ryabin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 01:42:14