Data Backup হল ডেটাবেসের একটি কপি তৈরি করার প্রক্রিয়া, যা ডেটাবেসের ডেটা হারানো বা ক্ষতিগ্রস্ত হওয়ার ক্ষেত্রে পুনরুদ্ধার করা যায়। SQL Server ডেটাবেসের জন্য বিভিন্ন ধরনের ব্যাকআপ মেথড রয়েছে, যেমন Full Backup, Differential Backup, Transaction Log Backup ইত্যাদি।
ডেটাবেস ব্যাকআপগুলি Data Recovery বা Disaster Recovery পরিকল্পনার জন্য অত্যন্ত গুরুত্বপূর্ণ, কারণ এগুলি ডেটাবেস সিস্টেমের তথ্য পুনরুদ্ধার করতে সাহায্য করে যখন কিছু ভুল বা দুর্ঘটনা ঘটে।
SQL Server এর ব্যাকআপ প্রকারসমূহ
- Full Backup:
- Full Backup ডেটাবেসের পুরো কপি তৈরি করে। এটি সব টেবিল, ইনডেক্স, ট্রিগার, এবং অন্যান্য অবজেক্ট অন্তর্ভুক্ত করে।
- Differential Backup:
- Differential Backup হল Full Backup নেওয়ার পর, পরিবর্তিত ডেটার কপি তৈরি করা। এটি শুধুমাত্র সেই ডেটা ব্যাকআপ করে যা শেষ Full Backup পরবর্তী সময়ে পরিবর্তিত হয়েছে।
- Transaction Log Backup:
- Transaction Log Backup হল ডেটাবেসের transaction log এর কপি তৈরি করা, যা ডেটাবেসের পরিবর্তনের ইতিহাস রাখে। এটি বিশেষভাবে প্রয়োজনীয় যখন আপনি point-in-time recovery করতে চান।
- File and Filegroup Backup:
- File/ Filegroup Backup এমন একটি ব্যাকআপ যা শুধু ডেটাবেসের নির্দিষ্ট ফাইল বা ফাইলগ্রুপের কপি তৈরি করে। এটি বড় ডেটাবেসের ক্ষেত্রে কার্যকরী।
১. Full Backup নেওয়া
Full Backup একটি ডেটাবেসের পূর্ণ কপি তৈরি করে এবং এটি পুনরুদ্ধারের জন্য সবচেয়ে সাধারণ এবং প্রয়োজনীয় ব্যাকআপ পদ্ধতি।
সিনট্যাক্স:
BACKUP DATABASE [DatabaseName]
TO DISK = 'C:\Backup\YourDatabase.bak'
WITH FORMAT;
উদাহরণ:
BACKUP DATABASE [MyDatabase]
TO DISK = 'C:\Backup\MyDatabase_Full.bak'
WITH INIT;
এখানে:
- [MyDatabase] হল আপনার ব্যাকআপ নিতে চাওয়া ডেটাবেসের নাম।
- DISK = 'C:\Backup\MyDatabase_Full.bak': ব্যাকআপ ফাইলটি যেখানে সংরক্ষিত হবে সেই লোকেশন এবং ফাইলের নাম।
- WITH INIT: ব্যাকআপ ফাইলের মধ্যে পুরনো ব্যাকআপ ডাটা ওভাররাইট করবে।
২. Differential Backup নেওয়া
Differential Backup সাধারণত একটি Full Backup নেওয়ার পর থেকে পরবর্তী পরিবর্তনগুলোর কপি তৈরি করে। এটি ছোট এবং দ্রুত ব্যাকআপ হতে পারে কারণ এটি শুধুমাত্র পরিবর্তিত ডেটা ব্যাকআপ করে।
সিনট্যাক্স:
BACKUP DATABASE [DatabaseName]
TO DISK = 'C:\Backup\YourDatabase_Diff.bak'
WITH DIFFERENTIAL;
উদাহরণ:
BACKUP DATABASE [MyDatabase]
TO DISK = 'C:\Backup\MyDatabase_Diff.bak'
WITH DIFFERENTIAL;
এখানে:
- WITH DIFFERENTIAL: এটি ডিফারেনশিয়াল ব্যাকআপ তৈরি করতে বলে, যা শুধুমাত্র Full Backup পরবর্তী পরিবর্তিত ডেটা ব্যাকআপ করে।
৩. Transaction Log Backup নেওয়া
Transaction Log Backup SQL Server-এ সমস্ত ট্রানজেকশন লগকে ব্যাকআপ করে, যা ডেটাবেসের প্রতিটি পরিবর্তন ট্র্যাক করে। এটি সাধারণত Full Backup এবং Differential Backup এর পর একাধিক বার নেওয়া হয়।
সিনট্যাক্স:
BACKUP LOG [DatabaseName]
TO DISK = 'C:\Backup\YourDatabase_Log.trn';
উদাহরণ:
BACKUP LOG [MyDatabase]
TO DISK = 'C:\Backup\MyDatabase_Log.trn';
এখানে:
- [MyDatabase]: ডেটাবেসের নাম।
- TO DISK = 'C:\Backup\MyDatabase_Log.trn': লোগ ফাইলটির লোকেশন এবং নাম।
Transaction Log Backup আপনাকে point-in-time recovery করতে সক্ষম করে, অর্থাৎ, ডেটাবেস একটি নির্দিষ্ট সময়ের মধ্যে ফিরিয়ে আনা যায়।
৪. File and Filegroup Backup নেওয়া
এটি এমন একটি ব্যাকআপ যা পুরো ডেটাবেসের পরিবর্তে নির্দিষ্ট ফাইল বা ফাইলগ্রুপ এর ব্যাকআপ নেয়।
সিনট্যাক্স:
BACKUP DATABASE [DatabaseName]
FILE = 'FileName'
TO DISK = 'C:\Backup\YourDatabase_File.bak';
উদাহরণ:
BACKUP DATABASE [MyDatabase]
FILE = 'MyDatabaseFile'
TO DISK = 'C:\Backup\MyDatabase_File.bak';
এখানে:
- FILE = 'MyDatabaseFile': এটি MyDatabase ডেটাবেসের নির্দিষ্ট ফাইলের ব্যাকআপ নেবে।
৫. Backup Verification (ব্যাকআপ যাচাই করা)
ব্যাকআপ নেওয়ার পর, নিশ্চিত হওয়া উচিত যে ব্যাকআপটি সঠিকভাবে তৈরি হয়েছে। আপনি RESTORE VERIFYONLY কমান্ড ব্যবহার করে ব্যাকআপ ফাইল যাচাই করতে পারেন।
সিনট্যাক্স:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backup\YourDatabase.bak';
উদাহরণ:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backup\MyDatabase_Full.bak';
এটি ব্যাকআপ ফাইলের সঠিকতা যাচাই করবে এবং নিশ্চিত করবে যে ব্যাকআপটি পুনরুদ্ধারযোগ্য।
৬. ব্যাকআপের স্কিডিউলিং (Scheduling Backups)
SQL Server Management Studio (SSMS) ব্যবহার করে আপনি ব্যাকআপের জন্য একটি স্কিডিউল তৈরি করতে পারেন, যাতে ব্যাকআপ স্বয়ংক্রিয়ভাবে নিয়মিত সময়ের মধ্যে নেওয়া হয়।
উদাহরণ:
- SQL Server Agent ব্যবহার করে একটি ব্যাকআপ টাস্ক তৈরি করুন।
- প্রতিদিন বা প্রতি সপ্তাহে ব্যাকআপ স্কিডিউল করতে পারেন।
সারাংশ
SQL Server এ Data Backup নেওয়া অত্যন্ত গুরুত্বপূর্ণ ডেটাবেসের সুরক্ষা নিশ্চিত করার জন্য। বিভিন্ন ধরনের ব্যাকআপ যেমন Full Backup, Differential Backup, এবং Transaction Log Backup আপনার ডেটাবেসের নির্দিষ্ট প্রয়োজন অনুযায়ী নেওয়া যেতে পারে। ব্যাকআপের মাধ্যমে আপনি ডেটা হারানো বা সিস্টেম ক্র্যাশের পর ডেটাবেস পুনরুদ্ধার করতে সক্ষম হবেন।
- Full Backup: সম্পূর্ণ ডেটাবেসের ব্যাকআপ নেয়।
- Differential Backup: শেষ Full Backup পরবর্তী পরিবর্তিত ডেটার ব্যাকআপ নেয়।
- Transaction Log Backup: ডেটাবেসের লোগ ফাইলের ব্যাকআপ নেয়।
এই ব্যাকআপগুলি point-in-time recovery এবং Disaster Recovery পরিকল্পনার জন্য অত্যন্ত গুরুত্বপূর্ণ।
Read more