列出当前为复制MS-SQL发布的所有表

Sco*_*ski 24 t-sql sql-server replication publish-subscribe

我需要获取从MS-SQL数据库发布以进行复制的所有表的列表.是否有系统存储过程或我可以运行的查询来生成这样的列表?

Ada*_*Dev 35

是:

SELECT *
FROM sys.tables
WHERE is_replicated = 1
Run Code Online (Sandbox Code Playgroud)

MSDN for is_replicated字段:

1 =使用快照复制或事务复制发布表.


Aer*_*roX 16

可以查询distribution数据库以查看发布了哪些文章(表/视图/对象...)以及它们来自哪个出版物.

SELECT
     P.[publication]   AS [Publication Name]
    ,A.[publisher_db]  AS [Database Name]
    ,A.[article]       AS [Article Name]
    ,A.[source_owner]  AS [Schema]
    ,A.[source_object] AS [Object]
FROM
    [distribution].[dbo].[MSarticles] AS A
    INNER JOIN [distribution].[dbo].[MSpublications] AS P
        ON (A.[publication_id] = P.[publication_id])
ORDER BY
    P.[publication], A.[article];
Run Code Online (Sandbox Code Playgroud)