मेरे पास एक एसक्यूएल सर्वर डीबी की एक स्थानीय प्रतिलिपि एक एमडीएफ फ़ाइल के रूप में संग्रहीत है। क्या यह बताने का एक तरीका है कि उस फ़ाइल को बनाने के लिए SQL सर्वर के किस संस्करण का उपयोग किया गया था?
मेरे पास एक एसक्यूएल सर्वर डीबी की एक स्थानीय प्रतिलिपि एक एमडीएफ फ़ाइल के रूप में संग्रहीत है। क्या यह बताने का एक तरीका है कि उस फ़ाइल को बनाने के लिए SQL सर्वर के किस संस्करण का उपयोग किया गया था?
जवाबों:
आप ऑफसेट 0x12064 पर दो बाइट्स को देखकर किसी डेटाबेस की प्राथमिक एमडीएफ फ़ाइल का संस्करण निर्धारित कर सकते हैं। एक एमडीएफ फ़ाइल के डेटाबेस संस्करण का निर्धारण कैसे करें देखें ।
में .bak
फ़ाइलों को कम बाइट 0xEAC है और उच्च 0xEAD है।
आप यहाँ MS SQL के लिए सबसे आंतरिक डेटाबेस संस्करण संख्या पा सकते हैं ।
अधिक पढ़ें, उदा
RESTORE HEADERONLY FROM DISK = 'D:\whatever.bak'
आपको बहुत सारे कॉलम मिलेंगे, लेकिन रुचि रखने वाले सॉफ्टवेयरवर्जनमेजर, सॉफ्टवेयरवर्जनमाइनर और सॉफ्टवेयरवार्डबाइल्ड हैं, जो आपको SQL सर्वर का वर्जन नंबर देना चाहिए। हमारे सिस्टम पर, उदाहरण के लिए, ये 10, 0, और 4000 हैं, जिसका अर्थ 10.0.4000 (2008 SP2) है।
निश्चित नहीं है कि यदि आप बैकअप के साथ ऐसा करने का प्रयास करते हैं, तो सर्वर पर चल रहे संस्करण को बहाल करने के लिए बहुत पुराना है, हालांकि - आपको बस एक त्रुटि मिल सकती है और कोई जानकारी नहीं (हालांकि यह अपने आप में कम से कम कुछ सुराग प्रदान करेगा) संस्करण यह से है)।
एमडीएफ फ़ाइलों के लिए इस कमांड का प्रयास करें:
dbcc checkprimaryfile ('c:\MyApp\AppData\foo.mdf', 2)
यह उत्पादन मूल्यों के साथ 3 गुण होगा: Database name
, Database version
और Collation
।
वाक्यविन्यास निम्नलिखित है (कमांड अनिर्धारित है, इसलिए यहां अधिक जानकारी है ):
DBCC CHECKPRIMARYFILE ({'FileName'} [, opt = {0 | 1 | 3 | 3}])
FileName SQL सर्वर डेटाबेस प्राथमिक डेटा फ़ाइल .mdf फ़ाइल का वास्तविक पथ के अलावा कुछ भी नहीं है।
ऑप्ट = 0 - सत्यापित करता है कि फ़ाइल SQL सर्वर डेटाबेस प्राथमिक डेटा फ़ाइल (.mdf) है या नहीं।
Opt = 1 - डेटाबेस से जुड़ी सभी फाइलों का डाटाबेस का नाम, आकार, अधिकतम आकार, विकास, स्थिति और पथ।
ऑप्ट = 2 - डेटाबेस का नाम, संस्करण और टकराव की जानकारी देता है।
ऑप्ट = 3 - डेटाबेस से जुड़ी सभी फाइलों का नाम, स्थिति और पथ।
अच्छा प्रश्न! मैं ऐसा नहीं मानता, इसके अलावा ट्रायल एंड-एरर प्रोसेस - के अलावा - SQL Server 2005 R2 बैकअप फ़ाइल को SQL Server 2005 पर रिस्टोर करने की कोशिश कर रहा हूं। जाहिर है, यह काम नहीं करेगा। मुझे यह याद नहीं है कि क्या प्रबंधन स्टूडियो का उपयोग कर रहा हूं - और एक पुनर्स्थापना के लिए सामग्री बटन पर क्लिक करने से - आपको कुछ भी दिलचस्प दिखाई देगा।
मैंने उन्हें आज़माया नहीं है, लेकिन यह संभव है कि रेड गेट के वर्चुअल रिस्टोर जैसा कोई थर्ड पार्टी टूल आपको बताएगा - यह आपको बैकअप फ़ाइल के "डेटाबेस" को देखने की अनुमति देता है। http://www.red-gate.com/products/dba/sql-virtual-restore/
आप डेटाबेस के बूट पेज में जानकारी का उपयोग करके इसे पा सकते हैं। मैंने इसके बारे में http://sankarreddy.com/2010/05/database-internal-version-create-version-and-current-version/ पर लिखा था