मैं एक एक्सटस्टिंग डेटाबेस के FamilyGUID को कैसे ढूँढ सकता हूँ


9

एक RESTOREकमांड निष्पादित करते समय , मैं समझता हूं कि SQL सर्वर यह सुनिश्चित करता है कि एक मौजूदा डेटाबेस को एक अलग डेटाबेस द्वारा अधिलेखित नहीं किया जा रहा है। इस चेक का उपयोग करके बाईपास किया जा सकता है REPLACE

मैं समझता हूं कि SQL सर्वर बैकअप फ़ाइल का उपयोग यह FamilyGUIDनिर्धारित करने के लिए करता है कि क्या डेटाबेस को पुनर्स्थापित किया जा रहा है, डेटाबेस अधिलेखित होने के समान है। क्या ये सही है?

मैं समझता हूं कि FamilyGUIDबैकअप फ़ाइल का उपयोग करके निर्धारित किया जा सकता है

RESTORE headeronly FROM DISK = N'Q:\MyBackup.bak'

लेकिन जिस डेटाबेस को ओवरराइट किया जा रहा है, उसका फ़ैमिलीग्यूड कैसे पा सकता हूँ?

जवाबों:


9

आप कैटलॉग दृश्य का उपयोग कर सकते हैं - sys.database_recovery_status

SELECT DB_NAME(database_id) as DatabaseName, database_guid, family_guid
FROM master.sys.database_recovery_status

आप family_guidबैकअप फ़ाइल और डेटाबेस को पुनर्स्थापित करने की तुलना करके अपनी पुनर्स्थापना प्रक्रिया को और अधिक परिष्कृत बना सकते हैं ।

बस RESTORE headeronlyएक अस्थायी तालिका में जानकारी डंप करें और तुलना करने के लिए क्वेरी से ऊपर का उपयोग करें। अगर वे अलग हैं तो एक समस्या है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.