web-dev-qa-db-ja.com

レプリケーションMS-SQLに現在パブリッシュされているすべてのテーブルを一覧表示します

MS-SQLデータベースからレプリケーション用にパブリッシュされるすべてのテーブルのリストを取得する必要があります。そのようなリストを生成するために実行できるシステムストアドプロシージャまたはクエリはありますか?

25
Scott Vercuski

はい:

SELECT *
FROM sys.tables
WHERE is_replicated = 1

From [〜#〜] msdn [〜#〜] is_replicatedフィールド:

1 =テーブルは、スナップショットレプリケーションまたはトランザクションレプリケーションを使用してパブリッシュされます。

37
AdaTheDev

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];
17
AeroX