有沒有辦法在Sql Server 2005上獲取表的最後修改日期時間?最好不要創建觸發器。如何獲取Sql Server 2005上的最後修改日期時間?
對於數據庫?
編輯此問題的解決方案只考慮CREATE和ALTER修改。對於INSERT,UPDATE和DELETE請看my next question
有沒有辦法在Sql Server 2005上獲取表的最後修改日期時間?最好不要創建觸發器。如何獲取Sql Server 2005上的最後修改日期時間?
對於數據庫?
編輯此問題的解決方案只考慮CREATE和ALTER修改。對於INSERT,UPDATE和DELETE請看my next question
這將列出最近改變所有對象類型最古老的,你可以很容易地根據需要修改......
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 '%'[email protected]+'%'
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 '%'[email protected]+'%' --can use "[email protected]" if you have the entire table name
ORDER BY modify_date DESC
KM的解決方案將示出了當一個表對象(表定義)的最後修改。沒有內置的方式來確定給定行內的數據何時最後更新(或插入或當然,刪除)。我發現的唯一99%可靠的方法就是觸發器,缺少1%的代表當一些麻煩製造者禁用觸發器時。
雖然它的工作,它不是我所期望的。我會重申這個問題。 – 2009-08-04 13:57:43
從OP的問題中改寫並鏈接了問題主體 – 2009-08-04 14:02:02