Из вашего вопроса непонятно, что вы подразумеваете под "задержкой" - вы имеете в виду дополнительную задержку, вносимую зеркалированием для транзакции, выполняемой на главном сервере, или время, прошедшее до того, как транзакция, примененная на главном сервере, была применена к зеркалу?
В этом ответе предполагается, что вы имеете в виду вторую из этих опций.
Если вы используете синхронное зеркалирование (TRANSACTION SAFETY = ON
- единственная версия, доступная в SQL 2005 Standard Edition), то никаких задержек нет -транзакция не фиксируется на главном сервере до тех пор, пока не будет подтверждена успешная запись в зеркало - поэтому обе базы данных всегда синхронизированы.
Асинхронное зеркалирование (TRANSACTION SAFETY = OFF
) доступно только в версии Enterprise Edition и выше - самый простой способ отслеживать задержку - использовать монитор зеркального отображения базы данных.
Существует также несколько счетчиков системного монитора.который можно использовать для получения информации о зеркалировании см. http://msdn.microsoft.com/en-us/library/ms189931%28v=SQL.90%29.aspx