Ответ 1
Да:
SELECT *
FROM sys.tables
WHERE is_replicated = 1
Из MSDN для поля is_replicated:
1 = Таблица публикуется с использованием моментального снимка репликация или транзакционная репликации.
Мне нужно получить список всех таблиц, которые публикуются для репликации из баз данных MS-SQL. Есть ли системная хранимая процедура или запрос, который я мог бы запустить, чтобы создать такой список?
Да:
SELECT *
FROM sys.tables
WHERE is_replicated = 1
Из MSDN для поля is_replicated:
1 = Таблица публикуется с использованием моментального снимка репликация или транзакционная репликации.
Можно запросить базу данных 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];