Определите дату последнего использования связанного сервера

dba.stackexchange https://dba.stackexchange.com/questions/5519

  •  16-10-2019
  •  | 
  •  

Вопрос

У нас есть тонна связанных серверов на нашем сервере баз данных, которые мы хотели бы очистить.

Можно ли определить последнюю дату, когда использовался связанный сервер? Например, в последний раз, когда запрос был выполнен через него.

Это было полезно?

Решение

Вам придется настроить SQL Profiler для мониторинга запросов, которые используют связанный сервер. Там нет DMV, который вы можете легко отслеживать для использования.

Другие советы

Ты мощь иметь возможность посмотреть на DMV SYS.DM_EXEC_SQL_TEXT, чтобы посмотреть, где в последнее время использовалось имя священного сервера.

set transaction isolation level read uncommitted

SELECT
    (SELECT TOP 1 SUBSTRING(s2.text,statement_start_offset / 2+1 , 
      ( (CASE WHEN statement_end_offset = -1 
         THEN (LEN(CONVERT(nvarchar(max),s2.text)) * 2) 
         ELSE statement_end_offset END)  - statement_start_offset) / 2+1)) 
        AS sql_statement,
    last_execution_time
FROM sys.dm_exec_query_stats AS s1 
    CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s2  
WHERE 
    s2.text like '%LinkedServerName%' 
    and last_execution_time > convert(datetime, '2011-01-01 00:00:00.000', 121)
ORDER BY 
    s1.sql_handle, s1.statement_start_offset, s1.statement_end_offset

Много предостережений для этого:

  • Если связанный сервер используется через представление/функцию, он может не отображаться в вашем наборе результатов
  • Он будет включать только любой SQL, который находится в кэше плана
    • Кэш плана очищается при перезапуске
    • SQL Server очистит старые планы из кэша после достижения пределов его размера

Примечание: Если вы сделаете настроение и заработаете, пожалуйста, измените вышеуказанный SQL

Единственный способ, которым вы можете быть уверены, что он не используется, - это отбросить его. ;) Я контролировал связанные серверы в течение нескольких недель, а затем кто -то пожаловался в течение нескольких часов после его отказа.

Сначала вы должны скрепить это. Щелкните правой кнопкой мыши в Explorer объекта и выберите соответствующий вариант.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top