2010-10-09 9 views
5

मैं एसक्यूएल में फ्रेशर हूं, मैं msdb.dbo.sysjobhistory से पिछले 24 घंटे के जॉब रिकॉर्ड प्राप्त करने के लिए एक प्रश्न लिखना चाहता हूं, लेकिन मुझे नहीं मिल सकता क्योंकि, run_date और run_time को संख्या की तरह प्राप्त करें। मैं run_date और run_time को डेटाटाइम में परिवर्तित कर दूंगा और अंतिम 24 घंटे का जॉब रिकॉर्ड प्राप्त करूंगा।अंतिम 24 घंटे का जॉब रिकॉर्ड फॉर्म प्राप्त करें msdb.dbo.sysjobhistory

मैं बाहर अग्रिम में 2000

धन्यवाद एसक्यूएल सर्वर का उपयोग कर रहा

+0

क्या आप अपनी संख्याओं के कुछ उदाहरण पोस्ट कर सकते हैं? या आप प्रारूप जानते हैं? वे युग सेकंड, मिलीसेकंड, या स्वरूपित 20101008123456 हो सकते हैं, या कुछ और - जो यह उत्तर को प्रभावित करेगा। –

+0

मैं replys.actually im folloing क्वेरी :: चयन sysjobs.job_id, sysjobs.name, sysjobhistory.step_name, sysjobhistory.message, sysjobhistory को क्रियान्वित करने के लिए धन्यवाद की तरह 20,100,628 प्रारूप में run_date हो और जैसे 192,649 –

उत्तर

9

चेक this post - यह दिखाता है कि sysjobhistory से "डिकोड" करने के लिए उन run_date कॉलम।

आप इस प्रकार का प्रश्न कुछ के साथ पिछले 24 घंटों से प्रविष्टियां प्राप्त करने के लिए सक्षम होना चाहिए:

SELECT 
    j.name as JobName, 
    LastRunDateTime = 
    CONVERT(DATETIME, CONVERT(CHAR(8), run_date, 112) + ' ' 
    + STUFF(STUFF(RIGHT('000000' + CONVERT(VARCHAR(8), run_time), 6), 5, 0, ':'), 3, 0, ':'), 121) 
FROM 
    msdb..sysjobs j 
INNER JOIN 
    msdb..sysjobhistory jh ON j.job_id = jh.job_id 
WHERE 
    CONVERT(DATETIME, CONVERT(CHAR(8), run_date, 112) + ' ' 
    + STUFF(STUFF(RIGHT('000000' + CONVERT(VARCHAR(8), run_time), 6), 5, 0, ':'), 3, 0, ':'), 121) > DATEADD(HOUR, -24, GETDATE()) 
+0

हाय run_time,। run_status, sysjobhistory.run_date, sysjobhistory.run_time, sysjobhistory.run_duration, sysjobs.date_created, sysjobs.date_modified, sysjobhistory इनर से sysjobs.version_number sysjobhistory.job_id = sysjobs.job_id पर sysjobs कैसे मैं datetime फिल्टर –

+0

के अनुसार रिकॉर्ड प्राप्त कर सकते हैं में शामिल होने के धन्यवाद "marc_s" इसका काम पूरी तरह से .... धन्यवाद फिर से –

+1

धन्यवाद मार्क यह बहुत मदद की – Ravia

3

2000 के बाद डेटाबेस के लिए, वहाँ msdb डेटाबेस में एक समारोह आपको लगता है कि कॉल कर सकते हैं वापस आ जाएगी है दिनांक:

msdb.dbo.agent_datetime(run_date, run_time) as 'RunDateTime' 

आप एसक्यूएल 2000 उपयोग कर रहे हैं, तो आप बाद के संस्करण से है कि समारोह के स्रोत कॉपी और 2000 के अपने उदाहरण मुझे लगता है मैं इस सब के लिए ऋण का ध्यान में रखना में यह बना सकते हैं, लेकिन मैं मूल रूप से इसे यहां मिला: mssqltips.com

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