কম্পিউটার

MSSQL সার্ভারে অপারেশন অডিটিং ছেঁটে দিন এবং মুছুন

এই ব্লগটি MSSQL সার্ভারের সারণী থেকে ডেটা ছেঁটে ফেলা এবং অপসারণের জন্য দায়ী ব্যবহারকারী নির্ধারণের পদক্ষেপগুলি নিয়ে আলোচনা করে এবং দায়ী সত্তাকে চিহ্নিত করে৷

উদাহরণস্বরূপ:কখন টেবিলটি কাটা হয়েছিল এবং কখন টেবিল থেকে ডেটা সরানো হয়েছিল? কে টেবিলটি ছেঁটেছে এবং টেবিল থেকে ডেটা সরিয়েছে?

এই তথ্য সংগ্রহ করার কারণ

কেউ ইচ্ছাকৃতভাবে বা দুর্ঘটনাক্রমে ডেটা মুছে ফেলেছে কিনা তা দেখতে, যাতে আমরা ব্যক্তিটিকে ট্র্যাক করতে এবং প্রতিরোধমূলক ব্যবস্থা নিতে পারি। আমরা এই তথ্যের সন্ধানকারী গ্রাহকদের কাছ থেকে কিছু অনুরোধ পাই৷ যখন আমরা ডেটা পরিষ্কার করার সঠিক সময় জানি তখন আমরা লগ ব্যাকআপ অপারেশন চলাকালীন স্টপ অ্যাট ক্লজ সহ সহজেই ডেটা পুনরুদ্ধার করতে পারি৷

সমস্যার সারাংশ

নিম্নলিখিত বিভাগগুলি GitOps-এর জন্য চারটি মূল নীতি বর্ণনা করে:

বিকাল ৫টার মধ্যে এবং 7 p.m. 5 জানুয়ারী, 2020-এ, "ডাম্প ট্রাঙ্কেট" টেবিলটি ছেঁটে ফেলা হয়েছিল এবং "ডাম্প ডিলিট" টেবিলের ডেটা "ট্রাঙ্কেট টেস্ট" ডিবি থেকে সরানো হয়েছিল। যে সম্ভাব্য প্রশ্নগুলির সমাধান করা দরকার তার মধ্যে রয়েছে:

  • আপনাকে বুঝতে হবে সমস্যাটা কি।
  • কে "ডাম্প_ডিলিট" টেবিল থেকে ডেটা সরিয়েছে?
  • “ডাম্প ডিলিট” টেবিল থেকে কতটি সারি মুছে ফেলা হয়েছে?
  • কে "ডাম্প_ট্রাঙ্কেট" টেবিলটি কেটেছে?
  • কখন এই টেবিলগুলিকে ছাঁটাই এবং মুছে ফেলা হয়েছিল?
  • সার্ভারে, বর্তমান ব্যাকআপ সময়সূচীটি নিম্নরূপ:
  • প্রতি সপ্তাহে রবিবার, সম্পূর্ণ ব্যাকআপ নেওয়া হয়৷
  • প্রতিদিন দুপুর ১ টায়, ডিফ ব্যাকআপ
  • লগের ব্যাকআপ প্রতি 15 মিনিটে তৈরি হয়।

পূর্বশর্ত:

  • ডিবি সম্পূর্ণ পুনরুদ্ধার মোডে থাকা উচিত।
  • সম্পূর্ণ, পার্থক্য এবং লগ ব্যাকআপ পাওয়া উচিত।

উচ্চ স্তরে পন্থা:

  1. কোন লগ ব্যাকআপে ডিলিট এবং ট্র্যাঙ্কেট অপারেশন রয়েছে তা সনাক্ত করুন৷
  2. লগ ব্যাকআপ ব্যবহার করে ছেঁটে ফেলা এবং মুছে ফেলার ক্রিয়াকলাপগুলির বিবরণ সনাক্ত করুন৷

নির্ণয় করুন কোন লগ ব্যাকআপে ডিলিট এবং ট্র্যাঙ্কেট অপারেশন রয়েছে:

দ্রষ্টব্য :আমরা DB এর একটি নতুন অনুলিপি তৈরি করে এই পদক্ষেপগুলি সম্পাদন করেছি৷

  1. স্ট্যান্ডবাই মোড সহ ২রা জানুয়ারী রবিবার সম্পূর্ণ ব্যাকআপ পুনরুদ্ধার করুন৷

  2. স্ট্যান্ডবাই মোড সহ 5ম জানুয়ারী ডিফ ব্যাকআপ পুনরুদ্ধার করুন

  3. স্ট্যান্ডবাই মোড দিয়ে লগ ব্যাকআপ পুনরুদ্ধার করুন। প্রতিটি লগ পুনরুদ্ধারের পরে টেবিলের সংখ্যা পরীক্ষা করে দেখুন কোন লগ ব্যাকআপটি ছেঁটে এবং অপারেশন লগগুলিকে মুছে দেয়।

যখন আমরা 6 PM থেকে লগ ব্যাকআপ পুনরুদ্ধার করি, তখন "ডাম্প ট্রাঙ্কেট" টেবিলটি খালি ছিল এবং "ডাম্প মুছে ফেলা" টেবিলের এন্ট্রিগুলি অনুপস্থিত ছিল। ফলস্বরূপ, এটি বোঝায়:

5:45 PM এবং 6 PM-এর মধ্যে, "ডাম্প ট্রাঙ্কেট" টেবিলটি ছেঁটে ফেলা হয়েছিল, এবং "ডাম্প মুছে ফেলা" টেবিলের ডেটা একই সময়ে মুছে ফেলা হয়েছিল৷

আপনাকে নিম্নলিখিত পুনরুদ্ধার কমান্ডগুলি চালাতে হবে:

লগ ব্যাকআপ ব্যবহার করে ছেঁটে ফেলা এবং মুছে ফেলার ক্রিয়াকলাপগুলির বিবরণ সনাক্ত করুন:

পদক্ষেপ 1:5:45 এবং 6 p.m. এর মধ্যে ঘটে যাওয়া সমস্ত ছেঁটে ফেলা এবং মুছে ফেলার জন্য লেনদেন আইডি সংগ্রহ করুন৷

প্রশ্নঃ

আমরা আবিষ্কার করেছি যে দুটি অপারেশন, ডিলিট এবং ট্র্যাঙ্কেট, বিকাল 5:50 এ সম্পাদিত হয়েছিল, এবং এই অপারেশনগুলি RP দেব লগইন দ্বারা সম্পাদিত হয়েছিল৷

ধাপ 2:লেনদেন আইডির সাথে যুক্ত টেবিলের নামগুলি খুঁজুন৷

মুছে ফেলার ক্রিয়াকলাপের তথ্য পেতে, নীচের পদক্ষেপগুলি অনুসরণ করুন:

I) ডিলিট অপারেশনের অবজেক্ট আইডি এবং পার্টিশন আইডি নির্ধারণ করুন।

এই আউটপুট থেকে, আমরা নিম্নলিখিত তথ্যগুলি বের করতে পারি:বিবরণ এবং লেনদেনের নাম কলাম:ডিলিট অপারেশন সঞ্চালিত হয়েছিল

  • শুরু করার সময়:ডিলিট অপারেশন শুরু হয়েছিল 2022/01/05 17:50:22:493 এ
  • লগইন_নাম:RP_DEV ডিলিট অপারেশন চালায়।
  • লক তথ্য:"HoBt" উপসর্গ দিয়ে শুরু হওয়া প্রতিটি সারি মোট 7টি সারির জন্য একটি সারি মুছে ফেলার প্রতিনিধিত্ব করে৷
  • টেবিলের সাথে সম্পর্কিত অবজেক্ট আইডি যেখান থেকে ডেটা সরিয়ে দেওয়া হয়েছিল।
  • পার্টিশন আইডি:বস্তুর পার্টিশন আইডি যেখান থেকে ডেটা মুছে ফেলা হয়েছিল

II) অবজেক্ট আইডি এবং পার্টিশন আইডি ধারণ করে এমন একটি টেবিল সনাক্ত করুন৷

প্রশ্নঃ

এখন আমরা অনুমান করতে পারি যে "ডাম্প ডিলিট" থেকে ডেটা RP DEV ব্যবহারকারী 5:50 PM-এ ট্রানজ্যাকশন আইডি '0000:00016a96'-এর অধীনে সরিয়ে দিয়েছিলেন এবং মোট 7টি সারি মুছে ফেলা হয়েছিল৷

ছাঁটা অপারেশন সম্পর্কে তথ্য পেতে, নীচের পদক্ষেপগুলি অনুসরণ করুন:

I) ট্রাঙ্কেট অপারেশনের অবজেক্ট আইডি এবং পার্টিশন আইডি নির্ধারণ করুন।

আউটপুট:

এখন আমরা অনুমান করতে পারি যে "ডাম্প ডিলিট" থেকে ডেটা RP DEV ব্যবহারকারী 5:50 PM-এ ট্রানজ্যাকশন আইডি '0000:00016a96'-এর অধীনে সরিয়ে দিয়েছিলেন এবং মোট 7টি সারি মুছে ফেলা হয়েছিল৷

ছাঁটা অপারেশন সম্পর্কে তথ্য পেতে, নীচের পদক্ষেপগুলি অনুসরণ করুন:

I) ট্রাঙ্কেট অপারেশনের অবজেক্ট আইডি এবং পার্টিশন আইডি নির্ধারণ করুন।

প্রশ্নঃ

আউটপুট

ছেঁটে ফেলা অপারেশনের আউটপুট ডিলিট অপারেশনের থেকে কিছুটা আলাদা।

পার্টিশন আইডি কলাম:এটি সঠিক পার্টিশন আইডি প্রদর্শন করছে না। আপনি বিবরণ কলামে এই তথ্য খুঁজে পেতে পারেন. পার্টিশন আইডি হাইলাইট করা হয়েছে। পার্টিশন আইডি হল 72057594043564032 এবং 72057594043629568

লক বর্ণনা: সর্বদা SCH_M_OBJECT সারি লক বিবরণে সঠিক অবজেক্ট আইডি দেখায়। অবজেক্ট আইডি হল:885578193

অবজেক্ট আইডি এবং পার্টিশন আইডি

রয়েছে এমন একটি টেবিলের সন্ধান করুন

প্রশ্নঃ

আউটপুট

আমরা এখন প্রতিষ্ঠিত করতে পারি যে "ডাম্প ট্রাঙ্কেট" থেকে 5:50 PM তে RP_DEV ব্যবহারকারী লেনদেন ID'0000:00016a95'-এর অধীনে ছেঁটেছেন।

উপসংহার

অডিটিং ইতিমধ্যে সক্ষম না থাকা অবস্থায় এটি আবার ঘটতে এড়াতে কে ডেটাতে ছেঁটে ফেলা এবং মুছে ফেলার অপারেশন করেছে তা জানা দরকারী৷ ডিলিট অপারেশনের ক্ষেত্রে, ব্যবসার ধারণা থাকবে কতগুলি সারি সরানো হয়েছে৷ পুনরুদ্ধারের সঠিক সময় হবে ডেটা পুনরুদ্ধার করতে খুব সহায়ক৷ আরও তৃতীয় পক্ষের সরঞ্জামগুলি যেমন ApexSQL লগ এবং ApexSQL পুনরুদ্ধারগুলিও ডেটা পুনরুদ্ধার করতে ব্যবহার করা যেতে পারে৷ এই সরঞ্জামগুলি সম্পর্কে জ্ঞানের জন্য এই লিঙ্কটি পড়ুন:

আমাদের বিশেষজ্ঞদের আপনার পরবর্তী জেনার ডেটা প্ল্যাটফর্ম যাত্রায় আপনাকে গাইড করতে দিন।

কোনো মন্তব্য করতে বা প্রশ্ন জিজ্ঞাসা করতে প্রতিক্রিয়া ট্যাব ব্যবহার করুন। আপনি আমাদের সাথে একটি কথোপকথনও শুরু করতে পারেন৷


  1. মাইক্রোসফ্ট অ্যাক্সেসে কীভাবে একটি টেবিল সম্পর্ক তৈরি, সম্পাদনা এবং মুছবেন

  2. Oracle v12c Weblogic বৈশিষ্ট্য এবং পরিবর্তন

  3. Oracle Demantra এবং SPWA বুঝুন এবং ইনস্টল করুন

  4. কিভাবে এক্সেল টেবিল থেকে সারি এবং কলাম সন্নিবেশ বা মুছবেন