2013-03-13 5 views
10

मैं एक नौकरी बनाना चाहता हूं जो समय बीतने के बाद डेटाबेस से रिकॉर्ड हटा देता है। उदाहरण के लिए मेरे पास समाचार तालिका Time Stamp में एक फ़ील्ड है और प्रत्येक महीने एक SQL क्वेरी मेरे डेटाबेस के विरुद्ध अनुसूचित नौकरी की तरह चलता है और समाचार स्टैंप दो महीने पुराना है। आम तौर पर मैं 2 महीने पहले और बूढ़े के लिए समाचार हटाना चाहता हूं ताकि मेरी टेबल एक बड़ी टेबल न बन जाए। मैं यह कैसे हासिल कर सकता हूं?टी-एसक्यूएल के माध्यम से एसक्यूएल सर्वर 2008 में अनुसूचित नौकरी कैसे बनाएं?

उत्तर

13

आपको चाहिए create a job एसक्यूएल में नीचे है एक नमूना T-SQL एसक्यूएल एजेंट के माध्यम से कार्य बनाने के लिए

USE msdb ; 
GO 
EXEC dbo.sp_add_job 
    @job_name = N'Weekly Sales Data Backup' ; 
GO 
EXEC sp_add_jobstep 
    @job_name = N'Weekly Sales Data Backup', 
    @step_name = N'Set database to read only', 
    @subsystem = N'TSQL', 
    @command = N'ALTER DATABASE SALES SET READ_ONLY', 
    @retry_attempts = 5, 
    @retry_interval = 5 ; 
GO 
EXEC dbo.sp_add_schedule 
    @schedule_name = N'RunOnce', 
    @freq_type = 1, 
    @active_start_time = 233000 ; 
USE msdb ; 
GO 
EXEC sp_attach_schedule 
    @job_name = N'Weekly Sales Data Backup', 
    @schedule_name = N'RunOnce'; 
GO 
EXEC dbo.sp_add_jobserver 
    @job_name = N'Weekly Sales Data Backup'; 
GO 
+0

@xyz '= एन में एन के प्रयोजन के '...'' – xyz

+0

क्या है टेक्स्ट मान के सामने एन इंगित करता है कि निम्न पाठ वर्चर के बजाय nvarchar प्रकार है। उन दो डेटा प्रकारों के बीच अंतर के लिए, यहां देखें: [लिंक] (http://stackoverflow.com/questions/144283/what-is-the-difference-between-varchar-and-nvarchar) –

0

आपको समय-समय पर चलाने के लिए नौकरी निर्धारित करने के लिए SQL Agent Job बनाना होगा। यदि आप टी-एसक्यूएल के साथ नौकरी बनाना चाहते हैं, तो How to: Create a SQL Server Agent Job (Transact-SQL) देखें।

संबंधित मुद्दे