मैं इस लेख में SQL सर्वर एक्सप्रेस बैकअप डेटाबेस शेड्यूल और स्वचालित SQL सर्वर एक्सप्रेस बैकअप की व्याख्या करूँगा।
SQL सर्वर एक्सप्रेस बैकअप
SQL सर्वर एक्सप्रेस एक मुफ़्त संस्करण है और कई प्रतिबंधों के साथ उपलब्ध है। उदाहरण के लिए; आपके डेटाबेस का आकार 10GB से अधिक नहीं होना चाहिए और कुछ प्रतिबंध हैं, जैसे SQL सर्वर एजेंट अक्षम है, ऑटो कार्य अक्षम हैं। SQL सर्वर संस्करणों के बारे में अधिक जानकारी के लिए, निम्न आलेख पढ़ें।
SQL सर्वर नवीनतम संस्करण, संस्करण और SQL सर्वर इतिहास
एसक्यूएल सर्वर एक्सप्रेस बैकअप शेड्यूल और स्वचालित करें
SQL सर्वर एजेंट स्वचालित बैकअप कार्य, एंटरप्राइज़ में रखरखाव कार्य, मानक, आदि संस्करण प्रदान करता है और हमारे कार्य चलाता है। चूंकि हम एक्सप्रेस में इसका उपयोग नहीं कर सकते हैं, हम विंडोज शेड्यूलर का उपयोग करके स्वचालित बैकअप प्रदान कर सकते हैं।
विंडोज टास्क शेड्यूलर खोलें और न्यू शेड्यूलर टास्क पर क्लिक करें और टास्क का नाम और अन्य सेटिंग्स जैसे निम्नलिखित टाइप करें।
शेड्यूलर निर्दिष्ट करें और यह इस चरण में कब ट्रिगर होगा।
इस चरण में, निर्दिष्ट करें कि कार्य अनुसूचक क्या चलेगा। हम बैकअपडीबी.बैट नाम की एक फाइल को ट्रिगर करेंगे और बैकअपडीबी.बैट डेलीबैकअप.एसक्यूएल को कॉल करके चलाएगा।
जब कार्य चल रहा होता है, तो यह हर रात 02:00 बजे बैकअप लेता है और 4 बैकअप रखता है और 4 दिनों से पुराने बैकअप को इस प्रकार मिटाता है।
BackupDB.bat की सामग्री इस प्रकार है।
echo off sqlcmd -S "INSTANCE_NAME" -i "C:\Backup\DailyBackup.sql" forfiles -p "C:\Backup" -s -m *.bak* /D -4 /C "cmd /c del @path"
DailyBackup.sql की सामग्री निम्नलिखित की तरह है।
DECLARE @pathName NVARCHAR(512) SET @pathName = 'C:\Backup\DB_BACKUP_' + replace(convert(varchar, getdate(),111),'/','') + replace(convert(varchar, getdate(),108),':','') + '.bak' BACKUP DATABASE DB_NAME TO DISK = @pathName WITH NOFORMAT, NOINIT, NAME = N'db_backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
टास्क शेड्यूलर रात 02:00 बजे BackupDB.bat फ़ाइल को ट्रिगर करने जा रहा है। यह फ़ाइल DailyBackup.sql भी क्रियान्वित कर रही है। जॉब डेटाबेस बैकअप लेगा और SQL सर्वर एक्सप्रेस संस्करण में पुराने बैकअप को शुद्ध करेगा।