एसक्यूएल सर्वर नौकरियां/अनुसूचियों अमेरिका - अमेरिका बनाम ब्रिटेन डेलाइट सेविंग समायोजनएसक्यूएल सर्वर नौकरियां/अनुसूचियों - बनाम ब्रिटेन डेलाइट सेविंग समायोजन
हम एक ब्रिटेन आधारित सर्वर जो 16 पर किसी SQL एजेंट नौकरी चलाने की आवश्यकता है: 30 (यूएस सेंट्रल टाइम - यह अजीब लग सकता है लेकिन यह कुछ डेटा की उपलब्धता के कारण)। आम तौर पर यह एक समस्या नहीं होगा ब्रिटेन और अमेरिका के बीच समय अंतर 6 घंटे है क्योंकि इसलिए हम 22:30 के लिए हमारा काम अनुसूची।
लेकिन चूंकि ब्रिटेन और अमेरिका मार्च और नवंबर में डेलाइट बचत के लिए अलग-अलग समय में अपने घड़ियों को समायोजित करते हैं, इसलिए 2 सप्ताह की अवधि होती है जब ब्रिटेन और अमेरिका के बीच का समय 5 घंटे होता है।
मैं एक जिस तरह एसक्यूएल सर्वर समय अंतर का यह परिवर्तन की पहचान कर सकता है और उसके बाद काम यह sp_update_schedule की तरह कुछ का उपयोग कर स्वयं है फिर से अनुसूची को लागू करना चाहते हैं।
एक दृष्टिकोण मैं एक अमेरिका आधारित सर्वर पर वर्तमान टाइमस्टैम्प प्राप्त करने के लिए और उसके बाद वर्तमान ब्रिटेन समय के साथ कि तुलना है। समय अंतर 5 घंटे है तो, 21:30 तक काम को पुनर्निर्धारित अगर समय अंतर 6 घंटे तो 22:30 तक काम को पुनर्निर्धारित है।
लेकिन वैसे भी एक और समाधान सुझा सकता है, शायद एक जो यूएस आधारित सर्वर पर वर्तमान टाइमस्टैंप प्राप्त नहीं करेगा और आदर्श रूप से किसी तालिका में डेलाइट बचत समायोजन तिथियों की सूची को स्टोर नहीं करना है। कुछ और गतिशील हो सकता है?
एसक्यूएल के 'GETUTCDATE' उपयोगी हो सकता है – Paddy