Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

T-SQL का उपयोग करके SQL सर्वर डेटाबेस के पुनर्प्राप्ति मॉडल को कैसे बदलें

SQL सर्वर में तीन पुनर्प्राप्ति मॉडल हैं; सरल, पूर्ण, और बल्क लॉग किया गया। प्रत्येक डेटाबेस इनमें से किसी एक सेटिंग का उपयोग करता है।

बैकअप और पुनर्स्थापना संचालन डेटाबेस के पुनर्प्राप्ति मॉडल के संदर्भ में होता है

आप ALTER DATABASE . का उपयोग करके डेटाबेस के पुनर्प्राप्ति मॉडल को बदल सकते हैं SET RECOVERY . के साथ स्टेटमेंट विकल्प।

ALTER DATABASE . का उपयोग करते समय उपलब्ध विकल्प पुनर्प्राप्ति मॉडल सेट करने के लिए हैं:

  • SIMPLE
  • FULL
  • BULK_LOGGED

आपको आवश्यकता होगी ALTER ऐसे परिवर्तन करने के लिए डेटाबेस पर अनुमतियाँ।

उदाहरण

मान लीजिए हमारे पास PetHotel . नामक एक डेटाबेस है .

हम sys.databases . को क्वेरी करके इसके वर्तमान पुनर्प्राप्ति मॉडल की जांच कर सकते हैं कैटलॉग व्यू:

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases
WHERE name = 'PetHotel';

परिणाम:

+----------+-----------------------+
| name     | recovery_model_desc   |
|----------+-----------------------|
| PetHotel | SIMPLE                |
+----------+-----------------------+

PetHotel डेटाबेस वर्तमान में सरल पुनर्प्राप्ति मॉडल का उपयोग करता है।

आइए इसे पूर्ण पुनर्प्राप्ति मॉडल में बदलें:

USE master;  
ALTER DATABASE PetHotel 
SET RECOVERY FULL;

हो गया।

अब रिजल्ट चेक करते हैं:

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases
WHERE name = 'PetHotel';

परिणाम:

+----------+-----------------------+
| name     | recovery_model_desc   |
|----------+-----------------------|
| PetHotel | FULL                  |
+----------+-----------------------+

पुनर्प्राप्ति मॉडल को निर्दिष्ट के अनुसार सफलतापूर्वक बदल दिया गया था।

महत्वपूर्ण विचार

साधारण पुनर्प्राप्ति मोड से दूसरे में स्विच करते समय, स्विच केवल पहले डेटा बैकअप के बाद ही प्रभावी होता है।

इसलिए, जैसे ही आप साधारण पुनर्प्राप्ति मोड से पूर्ण या थोक लॉग किए गए पुनर्प्राप्ति मॉडल में स्विच करते हैं, आपको लॉग श्रृंखला प्रारंभ करने के लिए एक पूर्ण या भिन्न डेटाबेस बैकअप लेना चाहिए।

अगर आप से पर स्विच करते हैं सरल पुनर्प्राप्ति मॉडल, फिर लेन-देन लॉग का बैकअप लेने के लिए किसी भी अनुसूचित कार्य को अक्षम करना सुनिश्चित करें (साधारण पुनर्प्राप्ति मॉडल लॉग बैकअप का उपयोग नहीं करता है)।

साथ ही, बल्क रिकवरी मॉडल विशेष रूप से बल्क ऑपरेशंस के लिए है। यदि आप इस उद्देश्य के लिए पूर्ण पुनर्प्राप्ति मॉडल से बल्क लॉगिंग मॉडल पर स्विच करते हैं, तो बल्क संचालन करने के बाद आपको पूर्ण पुनर्प्राप्ति मोड पर वापस स्विच करना चाहिए।

बल्क-लॉग किए गए पुनर्प्राप्ति मॉडल से वापस पूर्ण पुनर्प्राप्ति मॉडल पर स्विच करने के बाद, लॉग का बैकअप लेना सुनिश्चित करें।

प्रत्येक पुनर्प्राप्ति मॉडल के अवलोकन के लिए Microsoft वेबसाइट पर पुनर्प्राप्ति मॉडल देखें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में SA लॉगिन पर पासवर्ड बदलें (T-SQL उदाहरण)

  2. SQL सर्वर 2016:एक डेटाबेस का बैकअप लें

  3. Scope_Identity (), Identity (), @@ Identity, और Ident_Current () में क्या अंतर है?

  4. SQL सर्वर 2016 स्थापित करें

  5. SQL सर्वर में एक पहचान कॉलम का मूल बीज लौटाएं