Узнайте, сколько таблиц изменено на определенную дату в базе данных в SQL Server 2005

У меня есть база данных с 40 таблицами в нем. Поэтому я хочу найти таблицы, которые изменены на конкретную дату, как

  • Сколько таблиц было изменено на 20 Aug 2011 в моей базе данных?

ОБНОВИТЬ
обратите внимание, что мне нужно имя таблицы, а не идентификатор записи

как имена таблицы, содержание которой было изменено на 20 Aug 2011

2 ответа

Отредактировано:@Damien_The_Unbeliever имеет хорошее замечание в своем комментарии. Мой ответ касается только структуры таблицы, а не внутренних данных. Если вы хотите проверить, когда данные были изменены, вам нужно добавить updated_date столбец, чтобы вы могли запросить его и найти, когда был изменен.

Используйте представления каталога, в частности sys.tables

DECLARE @auxDate datetime = '20120820 00:00:00'
SELECT tbl.name
  FROM sys.tables tbl
 WHERE modify_date = @auxDate

Изменено, чтобы показать имена таблиц. я имел WHERE modify_date >= @auxDate но вы хотите, чтобы имена таблиц изменялись в определенный день, поэтому обновите WHERE пункт, чтобы показать один день

В случае модификации данных,

Alter table tablename add datemodified timestamp

select count(*) from tablename where datemodified = @yourdate
Другие вопросы по тегам