मेरे पास एक ऐसी स्थिति है जिसका पता लगाना आसान नहीं है, और मैंने सोचा कि मैं इस मंच पर पूछूंगा कि क्या दूसरों के सुझाव हो सकते हैं।
मैं Windows Server 2008R2 एंटरप्राइज़ पर SQL Server 2008 R2 मानक SP3 चला रहा हूं।
एक डेटाबेस को कुछ रखरखाव की आवश्यकता थी, और इस तथ्य के बाद मुझे दूसरे सर्वर पर पुनर्स्थापित करने की आवश्यकता थी। मैं एक पूर्ण DB बैकअप COPY_ONLY प्लस 4 tlog बैकअप का एक सेट के साथ किया है।
- शुरू करने से पहले, tlogbackup1 बनाएं
- से बदलने
FULL
के लिएBULK_LOGGED
वसूली मॉडल - नया फ़ाइल समूह जोड़ें
- newfilegroup में फ़ाइल जोड़ें
- डिफ़ॉल्ट होने के लिए newfilegroup सेट करें
- तालिका में चयन करें (newfilegroup पर)
- मूल तालिका छोड़ें
- मूल फ़ाइल हटाएं
- मूल फ़ाइल समूह हटाएं
- मूल तालिका से मिलान करने के लिए नई तालिका का नाम बदलें
- मूल फ़ाइल समूह से मेल करने के लिए newfilegroup का फ़ाइल नाम बदलें
- मूल फ़ाइल नाम से मिलान करने के लिए कैटलॉग में फ़ाइल का नाम बदलें
- मूल फ़ाइल नाम से मिलान करने के लिए OS स्तर पर फ़ाइल नाम बदलें
- मूल होने के लिए डिफ़ॉल्ट फ़ाइल समूह सेट करें
- ऑनलाइन DB लाओ
- से बदलने
BULK_LOGGED
के लिएFULL
वसूली मॉडल - सभी चरणों के पूरा होने के बाद, tlogbackup2 बनाएं
पुनर्स्थापना सर्वर पर ड्राइव अक्षर परिवर्तन के कारण सभी बैकअप के पुनर्स्थापना को MOVE के साथ उपयोग करना चाहिए।
पुनर्प्राप्ति चरण:
RESTORE database SomeDB FROM DISK = 'D:\REPRO\SomeDB.bak'
WITH
MOVE 'SystemData' TO 'D:\SQLDATA\SomeDB.mdf'
,MOVE 'SystemDataPDS' TO 'D:\SqlData\SomeDB.ndf'
,MOVE 'SystemData_log' TO 'D:\SQLLogs\SomeDB.LDF'
,NORECOVERY
,stats = 1
RESTORE LOG SomeDB FROM DISK = 'D:\REPRO\tlogbackup1.trn'
WITH
MOVE 'SystemData' TO 'D:\SQLDATA\SomeDB.mdf'
,MOVE 'SystemDataPDS' TO 'D:\SqlData\SomeDB.ndf'
,MOVE 'SystemData_log' TO 'D:\SQLLogs\SomeDB.LDF'
,NORECOVERY
,stats = 1
RESTORE LOG SomeDB FROM DISK = 'D:\REPRO\tlogbackup2.trn'
WITH
MOVE 'SystemData' TO 'D:\SQLDATA\SomeDB.mdf'
,MOVE 'SystemDataPDS' TO 'D:\SqlData\SomeDB.ndf'
,MOVE 'SystemData_log' TO 'D:\SQLLogs\SomeDB.LDF'
,NORECOVERY
,stats = 1
अंतिम टाल बहाल करने के लिए 100% हो जाता है और फिर त्रुटि 3456 के साथ विफल हो जाता है:
डेटाबेस 'SomeDB' के लिए 368 पृष्ठों की प्रक्रिया, फ़ाइल 1 पर 'SystemData' फ़ाइल।
डेटाबेस 'SomeDB' के लिए 7656520 पेज प्रोसेस किए गए, फ़ाइल 1 पर 'SystemDataPDS' फ़ाइल।
डेटाबेस 'SomeDB' के लिए 172430 पृष्ठों की प्रक्रिया, फ़ाइल 1 पर 'SystemData_log' फ़ाइल।
Msg 3456, स्तर 16, राज्य 1, पंक्ति 1
लेन-देन आईडी रिकॉर्ड (210388: 123648: 232), लेनदेन आईडी (0: 1016710921) के लिए, पृष्ठ (4: 8088) पर, डेटाबेस 'SomeDB (डेटाबेस आईडी 6) नहीं कर सका। । पेज: LSN = (0: 0: 1), टाइप = 11. लॉग: OpCode = 4, संदर्भ 11, PrevPLSLSN: (210388: 122007: 1)। डेटाबेस के बैकअप से पुनर्स्थापित करें, या डेटाबेस की मरम्मत करें। Msg 3013, लेवल 16, स्टेट 1, लाइन 1 RESTORE लॉग असामान्य रूप से समाप्त हो रहा है।
बस यह सत्यापित करने के लिए कि पूर्ण डीबी बैकअप ठीक था, मैंने इसे फिर से चालू किया CHECKDB
, और इसमें कोई त्रुटि नहीं थी।
सभी प्रतिक्रिया का स्वागत किया।
अग्रिम में धन्यवाद,
नेड ओटर