Pregunta

necesito para obtener una lista de todas las tablas que se publican para la replicación de bases de datos MS-SQL. ¿Existe un procedimiento almacenado del sistema o una consulta que podría correr para generar una lista de este tipo?

¿Fue útil?

Solución

Sí:

SELECT *
FROM sys.tables
WHERE is_replicated = 1

MSDN para el campo is_replicated:

  

1 = Tabla se publica usando instantánea   replicación o transaccional   replicación.

Otros consejos

Es posible consultar la base de datos distribution para ver qué artículos (tablas / views / objetos ...) se publican y cuáles publicación son.

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];
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top