Как получить дату последнего изменения на Sql Server 2005? - PullRequest
1 голос
/ 04 августа 2009

Есть ли способ получить дату и время последнего изменения таблицы на Sql Server 2005? Желательно без создания триггеров ..

А для баз данных?

РЕДАКТИРОВАТЬ Решение этого вопроса предполагает только CREATE и ALTER модификации. Для вставки, обновления и удаления, пожалуйста, посмотрите мой следующий вопрос

Ответы [ 2 ]

1 голос
/ 04 августа 2009
Решение

KM покажет, когда таблица объект (определение таблицы) была в последний раз изменена. Не существует встроенного способа определить, когда данные в заданной строке были в последний раз обновлены (или вставлены, или, конечно, удалены). Единственный надежный способ на 99%, который я когда-либо нашел, это сделать с помощью триггеров, при этом пропущенный 1% представляет, когда какой-то нарушитель спокойствия отключает триггер.

1 голос
/ 04 августа 2009

здесь будут перечислены все типы объектов от самых последних изменений до самых старых, вы можете легко изменить их при необходимости ...

DECLARE @SearchParams   varchar(500)
SET @SearchParams='yourObjectName'

SELECT
    CONVERT(varchar(23),modify_date,121) AS modify_date
        ,type_desc
        ,name
    FROM sys.objects
    WHERE is_ms_shipped=0 AND name LIKE '%'+@SearchParams+'%'
    ORDER BY modify_date DESC

если вам нужны таблицы, попробуйте:

DECLARE @SearchParams   varchar(500)
SET @SearchParams='YourTableName'
SELECT
    CONVERT(varchar(23),modify_date,121) AS modify_date
        ,type_desc
        ,name
    FROM sys.objects
    WHERE type='U'
        AND name LIKE '%'+@SearchParams+'%' --can use "=@SearchParams" if you have the entire table name
    ORDER BY modify_date DESC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...