2015-01-13 7 views
0

На сервере MYSQL, просмотрев значение для «second behind master», можно узнать, насколько подчиненный сервер отстает от своего хозяина. Итак, есть ли что-то подобное в MSSQL, так что можно узнать, как подчиненный сервер отстает от своего хозяина?Как найти отставание репликации в SQL Server?

+0

Я думаю, вам будет больше повезло [Администратор базы данных StackExchange] (http://dba.stackexchange.com/help/on-topic). Вы можете попросить модераторов перенести ваш вопрос, отметив его «внимание модератора». – Pred

ответ

0

Существует несколько разногласий по этому вопросу, но мне нравится использовать регулярно размещенные маркеры трассировщика. То есть вы вызываете процедуру sp_posttracertoken в издателе, и он будет отправлять маркер полностью через абонента. Вы можете просмотреть историю всех токенов в базе данных дистрибьютора. Я написал следующее представление, чтобы сделать данные немного легче обращал внимания:

create view [dbo].[tokens] as 
select 
    ps.name as [publisher], 
    p.publisher_db, 
    p.publication, 
    ss.name as [subscriber], 
    da.subscriber_db, 
    t.publisher_commit, 
    t.distributor_commit, 
    h.subscriber_commit, 
    datediff(second, t.publisher_commit, t.distributor_commit) as [pub to dist (s)], 
    datediff(second, t.distributor_commit ,h.subscriber_commit) as [dist to sub (s)], 
    datediff(second, t.publisher_commit, h.subscriber_commit) as [total latency (s)] 
from mstracer_tokens t 
inner join MStracer_history h 
    on t.tracer_id = h.parent_tracer_id 
inner join mspublications p 
    on p.publication_id = t.publication_id 
inner join sys.servers ps 
    on p.publisher_id = ps.server_id 
inner join msdistribution_agents da 
    on h.agent_id = da.id 
inner join sys.servers ss 
    on da.subscriber_id = ss.server_id 

Другой подход заключается в использовании того, что обычно называют канарейка стол. Идея состоит в том, что у вас есть таблица специально для мониторинга репликации, которая обычно имеет только одну строку с полем datetime. Вы обновляете столбец издателя, а затем отслеживаете, насколько далеко позади абонента, видя, что значение этого столбца у абонента.

Наконец, есть некоторые счетчики перфоманса, на которые вы можете смотреть. По моему опыту, они не так велики; количество выдающихся команд - точное число, но измерение латентности как продолжительности, как правило, очень неточно.

Смежные вопросы