खोज…


टिप्पणियों

एक डेटाबेस स्नैपशॉट एक SQL सर्वर डेटाबेस का केवल पढ़ने के लिए स्थिर दृष्टिकोण है, जो स्नैपशॉट के निर्माण के क्षण के रूप में स्रोत डेटाबेस के साथ Transactically संगत है।

एक डेटाबेस स्नैपशॉट हमेशा अपने सर्वर डेटाबेस के स्रोत के समान सर्वर उदाहरण पर रहता है। जैसे ही सोर्स डेटाबेस अपडेट होता है, डेटाबेस स्नैपशॉट अपडेट हो जाता है।

स्नैपशॉट बैकअप से भिन्न होता है क्योंकि स्नैपशॉट निर्माण की प्रक्रिया तात्कालिक होती है और स्नैपशॉट स्थान पर ही रह जाता है क्योंकि स्रोत डेटाबेस में परिवर्तन लागू होते हैं। दूसरी ओर एक बैकअप बैकअप निर्माण के समय के रूप में डेटा की एक पूरी प्रति संग्रहीत करता है।

इसके अतिरिक्त, एक स्नैपशॉट डेटाबेस की केवल एक त्वरित रीड कॉपी देता है, जबकि एक बैकअप को पठनीय होने के लिए एक सर्वर में पुनर्स्थापित किया जाना चाहिए (और एक बार बहाल होने के बाद भी लिखा जा सकता है)

डेटाबेस स्नैपशॉट केवल एंटरप्राइज़ और डेवलपर संस्करणों में उपलब्ध हैं।

एक डेटाबेस स्नैपशॉट बनाएँ

एक डेटाबेस स्नैपशॉट SQL सर्वर डेटाबेस (स्रोत डेटाबेस) का केवल-पढ़ने योग्य, स्थिर दृश्य है। यह बैकअप के समान है, लेकिन यह किसी भी अन्य डेटाबेस के रूप में उपलब्ध है ताकि क्लाइंट स्नैपशॉट डेटाबेस को क्वेरी कर सके।

CREATE DATABASE MyDatabase_morning -- name of the snapshot
ON (
     NAME=MyDatabase_data, -- logical name of the data file of the source database
     FILENAME='C:\SnapShots\MySnapshot_Data.ss' -- snapshot file; 
) 
AS SNAPSHOT OF MyDatabase; -- name of source database

आप कई फ़ाइलों के साथ डेटाबेस का स्नैपशॉट भी बना सकते हैं:

CREATE DATABASE MyMultiFileDBSnapshot ON
    (NAME=MyMultiFileDb_ft, FILENAME='C:\SnapShots\MyMultiFileDb_ft.ss'),
    (NAME=MyMultiFileDb_sys, FILENAME='C:\SnapShots\MyMultiFileDb_sys.ss'),
    (NAME=MyMultiFileDb_data, FILENAME='C:\SnapShots\MyMultiFileDb_data.ss'),
    (NAME=MyMultiFileDb_indx, FILENAME='C:\SnapShots\MyMultiFileDb_indx.ss')
AS SNAPSHOT OF MultiFileDb;

डेटाबेस स्नैपशॉट पुनर्स्थापित करें

यदि किसी स्रोत डेटाबेस में डेटा क्षतिग्रस्त हो जाता है या कुछ गलत डेटा डेटाबेस में लिखा जाता है, तो कुछ मामलों में, डेटाबेस को डेटाबेस स्नैपशॉट पर वापस लाना जो नुकसान से पहले डेटाबेस को बैकअप से पुनर्स्थापित करने के लिए एक उपयुक्त विकल्प हो सकता है।

RESTORE DATABASE MYDATABASE FROM DATABASE_SNAPSHOT='MyDatabase_morning';

चेतावनी: यह स्रोत डेटाबेस में किए गए सभी परिवर्तनों को हटा देगा क्योंकि स्नैपशॉट लिया गया था!

DELETE स्नैपशॉट

आप DELETE DATABASE स्टेटमेंट का उपयोग करके डेटाबेस के मौजूदा स्नैपशॉट को हटा सकते हैं:

DROP DATABASE Mydatabase_morning

इस कथन में आपको डेटाबेस के स्नैपशॉट का संदर्भ नाम देना चाहिए।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow