यदि आप TRUNCATE का उपयोग करने में सक्षम नहीं हैं, तो मैं आपके डिलीट किए गए सुझावों को बैचने के सुझावों से सहमत हूं और मुझे इसकी मौलिकता के लिए ड्रॉप / क्रिएट सुझाव पसंद है, लेकिन मैं आपके प्रश्न में निम्नलिखित टिप्पणी के बारे में उत्सुक हूं:
यह मूल रूप से TRUNCATE TABLE स्टेटमेंट के बराबर है - सिवाय इसके कि मुझे TRUNCATE का उपयोग करने की अनुमति नहीं है
मैं अनुमान लगा रहा हूं कि इस प्रतिबंध का कारण उस सुरक्षा से है, जिसे सीधे तौर पर एक टेबल को अलग करने की अनुमति दी जानी चाहिए और इस तथ्य से कि यह आपको उस तालिका से अलग करने की अनुमति देगा जिसके साथ आप चिंतित हैं।
यह मानते हुए कि मैं सोच रहा हूं कि क्या एक संग्रहीत प्रक्रिया बनाई गई है जो TRUNCATE TABLE का उपयोग करती है और "EXECUTE AS" का उपयोग करती है, सीधे तालिका को छोटा करने के लिए आवश्यक सुरक्षा अधिकार देने के लिए एक व्यवहार्य विकल्प माना जाएगा।
उम्मीद है, इससे आपको सुरक्षा संबंधी चिंताओं को दूर करने के साथ-साथ आपको वह गति भी मिलेगी, जो आपकी कंपनी को अपने खाते को db_ddladmin भूमिका में जोड़ने से हो सकती है।
इस तरह संग्रहीत प्रक्रिया का उपयोग करने का एक और लाभ यह है कि संग्रहीत प्रक्रिया को स्वयं बंद किया जा सकता है ताकि केवल विशिष्ट खाते (खातों) को ही इसका उपयोग करने की अनुमति दी जाए।
यदि किसी कारण से यह स्वीकार्य समाधान नहीं है और आपके द्वारा हटाए गए इस तालिका में डेटा होना आवश्यक है, तो यह एक ऐसा काम है जो दिन / घंटे / दिन में एक बार किया जाना चाहिए, मैं अनुरोध करूंगा कि तालिका को कम करने के लिए एक SQL एजेंट नौकरी बनाई गई थी प्रत्येक दिन एक निर्धारित समय पर।
उम्मीद है की यह मदद करेगा!