2011-06-20 13 views
7

एसक्यूएल 2008 चेंज ट्रैकिंग का उपयोग करते समय ट्रैकिंग टेबल मैन्युअल रूप से साफ करने का कोई तरीका है?एसक्यूएल चेंजट्रैकिंग टेबल साफ़ करें

मुझे CHANGE_RETENTION और AUTO_CLEANUP गुणों के बारे में पता है लेकिन सफाई पर अधिक नियंत्रण डालेगा।

उत्तर

6

असल में इन परिवर्तन ट्रैकिंग जानकारी आंतरिक टेबल्स में संग्रहीत हैं और मैन्युअल रूप से साफ़ करने का कोई विकल्प नहीं है। लेकिन फिर भी हम एक टेबल के लिए परिवर्तन ट्रैकिंग अक्षम/सक्षम करके साफ़ कर सकते हैं।

alter table <tableName> disable change_tracking 
alter table <tableName> enable change_tracking 

यह आदेश विशिष्ट तालिका से संबंधित सभी परिवर्तन ट्रैकिंग को साफ़ कर देगा।

+0

Sql सीटी के साथ एमएस सिंक के संदर्भ में। – Brent

1

आप सभी तालिकाओं के लिए परिवर्तन टैकिंग अक्षम करना चाहते हैं: यह काम नहीं करता

EXEC sp_msforeachtable "ALTER TABLE ? DISABLE CHANGE_TRACKING" 
    , @whereand=" and exists (
    select null 
    from sys.change_tracking_tables ctt 
    where ctt.object_id = o.id 
) 
" 
संबंधित मुद्दे