ডেটা ক্যাপচার পরিবর্তন করুন - কীভাবে পরিবর্তন করবেন তা কীভাবে জানবেন?


10

সিডিসি দ্বারা চিহ্নিত কে পরিবর্তন করেছে তা অনুসরণ করা হচ্ছে।

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

আমি স্ট্যাক-ওভারফ্লোতে একই ধরণের প্রশ্ন পেয়েছি তবে সামনের প্রান্ত থেকে বা ট্রিগারের মাধ্যমে পরিবর্তনগুলি ট্র্যাক করা ব্যতীত অন্য কোনও উত্তর ছাড়াই সিডিসি ব্যবহারের উদ্দেশ্যকে পরাভূত বলে মনে হচ্ছে। আমি পুনরায় পোস্ট করব না তবে যেহেতু মূলটি স্ট্যাকওভারফ্লোতে ছিল আমি ভেবেছিলাম যে আমি এটি এখানে চেষ্টা করে দেখব বিশেষত যদি আর 2 বা 2012 আরও ভাল উপায় চালু করে।

সুতরাং, সংক্ষেপে: আমি কীভাবে জানব যে পরিবর্তন সংক্রান্ত তথ্য ক্যাপচারের পরিবর্তনটি কে করেছে?

উত্তর:


7

আমি এ সম্পর্কে একটি ত্রুটি দায়ের করেছি, তবে এটি "নকশা অনুসারে" বন্ধ করে দেওয়া হয়েছিল।

http://connect.microsoft.com/SQLServer/feedback/details/283707/cdc-options-to-capture-more-data-username-date-time-etc

দুর্ভাগ্যক্রমে আপনাকে এই তথ্যটি পেতে আরও একটি কৌশল (যেমন এসকিউএল অডিট বা একটি ট্রিগার) ব্যবহার করতে হবে (এবং সিডিসির ডেটার সাথে এটি যতটা সম্ভব পারস্পরিক সম্পর্কযুক্ত করার চেষ্টা করার জন্য কিছু কাস্টম কোড)। এই অভাব সম্পর্কে আমি আমার এসকিউএল সার্ভার এমভিপি ডিপ ডাইভস (ভলিউম 1) বইয়ের "এসকিউএল সার্ভার অডিট, পরিবর্তন ট্র্যাকিং এবং পরিবর্তন ডেটা ক্যাপচার" অধ্যায়টিতেও লিখেছি ।

আমি দুঃখিত যে আমার কাছে আপনার পক্ষে আরও ভাল কাজ করার দরকার নেই তবে সিডিসির অন্তর্নির্মিত ক্ষমতাগুলি কেবল আপনার প্রয়োজনীয়তাগুলি পূরণ করতে যাচ্ছে না। :-(


@ আর থমাস আপনি এখনও আইটেমগুলি বন্ধ থাকা সত্ত্বেও ভোট দিতে পারেন - এগুলি মাঝে মাঝে পুনরায় দেখা হয়। ভোটদানের চেয়েও বেশি দরকারী হ'ল ব্যবসায়ের প্রয়োজনীয়তার বিবরণ উল্লেখ করে একটি মন্তব্য যুক্ত করা যা এই তথ্যকে দরকারী করে তুলবে, হারিয়ে যাওয়া কার্যকারিতাটি ঘিরে কাজ করার জন্য রিফ্যাক্টরিংয়ের জিনিসগুলির ব্যয় সহ। গুণগত তথ্য কীভাবে পরিমাণগত তথ্যকে ছাড়িয়ে যেতে পারে সে সম্পর্কে আমি কিছুটা লিখেছিলাম ...
অ্যারন বারট্রান্ড

জেনে রাখা ভাল, আমি ভেবেছিলাম ক্লোজড মানে ভোটগ্রহণ বন্ধ ছিল closed আমি আমার মন্তব্যে উল্লেখ করেছি যে ওরাকল তাদের সিডিসি বাস্তবায়নে এটি প্রস্তাব করে। এটা বাছাই যৌক্তিক বলে মনে হচ্ছে। docs.oracle.com/cd/A91202_01/901_doc/server.901/a90237/…
থমাস

6

আপনি কলামটি যুক্ত করতে পারেন এবং সারণী / আপডেট / মুছতে এবং সিডিসিতে ব্যবহারকারীকে পপ করতে টেবিলে একটি ট্রিগার রাখতে পারেন এবং এটি তখন সংরক্ষণ করতে পারে। আপনি প্রসঙ্গ তথ্য ব্যবহার করে ব্যবহারকারীর নামটি ব্যবহার করে বা আসল সেশন থেকে ইউআই থেকে ব্যবহারকারী নামটি দখল করতে পারেন

SET @CapturedBy = CAST(REPLACE(CAST(CONTEXT_INFO() AS VARCHAR(10)),CHAR(0),'''''''') AS INT)

IF(@CapturedBy) IS NULL
    BEGIN
       SELECT @CapturedBy = P.[Code]
       FROM sys.dm_exec_sessions AS S
         INNER JOIN [dbo].[Person] AS P
          ON S.[login_name] = P.[User_Name]
       WHERE S.[session_id] = @@spid
    END

0

আপনি কি প্রধান টেবিলের আপডেটডাই ক্ষেত্রটি যুক্ত করতে পারেন, এটি SUSER_NAME () বা ORIGINAL_LOGIN () এ ডিফল্ট হিসাবে সেট করতে পারেন এবং সেই ডেটা সিডিসিতে পপুলেশন করতে পারেন? আমি বিশ্বাস করি যে এটি আপনি অনুসন্ধান করছেন একই তথ্য দেবে।


এটি কেবল আপনাকে এসডিসি অ্যাকাউন্ট / সিডিসির মালিক হিসাবে পেয়েছে, আপনি খেয়াল করতে পারেন যে আমি সেগুলি চেষ্টা করেছিলাম এবং ফেব্রুয়ারিতে আমার মূল প্রশ্নে ফলাফলগুলি নথিভুক্ত করেছি
আরটিহমস

আপনার মন্তব্য বলেছেন যে আপনি এটিকে চেঞ্জডেটা টেবিলটিতে যুক্ত করেছেন। আমি চেঞ্জডেটা টেবিলের ভিত্তিতে মূল টেবিলটির কথা বলছি। তবে আমি বুঝতে পেরেছিলাম যে এটি পোস্ট করার পরে এটি কেবল সন্নিবেশগুলির জন্য কাজ করবে
শেফ

আহহহ্, তা ধরেনি। তোমার এখন যা বলছে আমি তা পেয়েছি।
টমাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.