Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Roust_m Member Откуда: Сидней Сообщений: 1169 |
Добрый день, Мне нужно получить статистику по командам, которые сидят в данный момент в базе Distribution в следующем виде: "Имя базы данных", "Имя таблицы", "Тип команды (INSERT, DELETE, UPDATE), Количество. Как это лучше всего сделать? Я пробовал запустить sp_browsereplcommands с выводом результатов во временную таблицу, чтобы потом эти данные сформатировать в нужном виде, но получается очень долго. Есть другие варианты? Спасибо. |
13 сен 17, 08:17 [20791729] Ответить | Цитировать Сообщить модератору |
invm Member Откуда: Москва Сообщений: 9683 |
Команды, относящиеся к конкретной публикации в БД:use distribution; declare @publisher_db sysname = N'...', @publication sysname = N'...'; select d.publisher_db, p.publication, a.article, cast(c.command as nvarchar(4000)), c.* from dbo.MSpublisher_databases d join dbo.MSrepl_commands c on c.publisher_database_id = d.id join dbo.MSarticles a on a.publisher_db = d.publisher_db and a.publisher_id = d.publisher_id and a.article_id = c.article_id join dbo.MSPublications p on p.publisher_id = d.publisher_id and p.publisher_db = d.publisher_db and p.publication_id = a.publication_id where d.publisher_db = @publisher_db and p.publication = @publication and c.command_id = 1; Получить нужный вам результат - дело техники. |
13 сен 17, 12:22 [20792405] Ответить | Цитировать Сообщить модератору |
Roust_m Member Откуда: Сидней Сообщений: 1169 |
Вместо команды получается: "ö" Было бы неплохо еще и тип команды: insert, update или delete |
||
15 сен 17, 05:04 [20797590] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |