पिछली बार तालिका को अपडेट किया गया था


17

पूछताछ:

SELECT 
    name AS TableName, 
    create_date AS CreatedDate, 
    modify_date as ModifyDate 
FROM sys.tables 
order by ModifyDate;

... मुझे बताएगा कि पिछली बार एक तालिका बनाई गई थी और संशोधित की गई थी (एक डीडीएल परिप्रेक्ष्य से)। लेकिन मैं जानना चाहता हूं कि आखिरी बार वास्तविक डेटा या तो डाला गया था या टेबल से हटा दिया गया था। क्या SQL Server में इसे प्राप्त करना संभव है?

जवाबों:


22

आप इससे अंदाजा लगा सकते हैं

SELECT last_user_update
FROM   sys.dm_db_index_usage_stats us
       JOIN sys.tables t
         ON t.object_id = us.object_id
WHERE  database_id = db_id()
       AND t.object_id = object_id('dbo.YourTable') 

लेकिन डेटा वहाँ सेवा पुनरारंभ के पार नहीं है और आपकी आवश्यकताओं के लिए सटीक नहीं हो सकता है (जैसे चल रहे DELETE FROM T WHERE 1=0समय को अपडेट करेगा भले ही कोई पंक्तियाँ वास्तव में नष्ट न हुई हों)


क्या कोई तरीका है कि मैं एक ही समय में एक तालिका के बजाय डेटाबेस में सभी तालिकाओं के लिए इसे चला सकता हूं? धन्यवाद
SQLBoy

3
@ SQLBoySELECT last_user_update, t.name FROM sys.dm_db_index_usage_stats us JOIN sys.tables t ON t.object_id = us.object_id WHERE database_id = db_id()
मार्टिन स्मिथ

Last_user_update दिनांक को अद्वितीय अनुक्रमणिका उल्लंघन अपवाद से भी अद्यतन किया जाता है। क्या इसके आसपास कोई रास्ता है?
Алена Алыкова
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.