ট্রিগার ব্যবহার না করে বা কোনও উপায়ে ডাটাবেসের কাঠামো পরিবর্তন না করে কোনও টেবিলের পরিবর্তনের জন্য কীভাবে আমি এসকিউএল সার্ভার ডাটাবেস পর্যবেক্ষণ করতে পারি? আমার পছন্দের প্রোগ্রামিং পরিবেশটি নেট এবং সি #।
আমি যে কোনও এসকিউএল সার্ভার 2000 এসপি 4 বা আরও নতুন সমর্থন করতে সক্ষম হতে চাই । আমার অ্যাপ্লিকেশনটি হ'ল অন্য কোম্পানির পণ্যের জন্য ডেটা ভিজুয়ালাইজেশন olt আমাদের গ্রাহক বেস হাজারে, তাই আমি প্রতিটি ইনস্টলেশনটিতে তৃতীয় পক্ষের বিক্রেতার টেবিলটি সংশোধন করে প্রয়োজনীয়তা রাখতে চাই না।
দ্বারা "একটি টেবিল থেকে পরিবর্তন" আমি টেবিল ডেটাতে গড় পরিবর্তন, টেবিল কাঠামো পরিবর্তন না।
শেষ পর্যন্ত, আমি পরিবর্তনটি অন্তর সময়ে পরিবর্তনগুলি পরীক্ষা করার পরিবর্তে আমার অ্যাপ্লিকেশনটিতে একটি ইভেন্ট ট্রিগার করতে চাই।
আমার প্রয়োজনীয়তা (কোনও ট্রিগার বা স্কিমা পরিবর্তন নয়, এসকিউএল সার্ভার 2000 এবং 2005) প্রদত্ত কর্মের সর্বোত্তম কোর্সটি টি-এসকিউএল-তেBINARY_CHECKSUM
ফাংশনটি ব্যবহার করে বলে মনে হচ্ছে । আমি যেভাবে বাস্তবায়নের পরিকল্পনা করছি তা হ'ল:
প্রতি এক্স সেকেন্ডে নিম্নলিখিত কোয়েরিটি চালান:
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*))
FROM sample_table
WITH (NOLOCK);
এবং এটি সঞ্চিত মানের তুলনায় তুলনা করুন। মানটি যদি পরিবর্তিত হয়, সন্ধান করে টেবিলের সারিটি সারি দিয়ে ক্যোরিটি ব্যবহার করুন:
SELECT row_id, BINARY_CHECKSUM(*)
FROM sample_table
WITH (NOLOCK);
এবং সঞ্চিত মানের তুলনায় ফিরে আসা চেকসামগুলি তুলনা করুন।