আমি একটি একক প্যাকেজ সমন্বিত 2012 ডিপ্লোয়মেন্ট মডেল ব্যবহার করে একটি এসএসআইএস প্রকল্প তৈরি করেছি। সেই প্যাকেজে আমি একটি ওএল ডিবি সংযোগ ব্যবস্থাপক যুক্ত করেছি, এটি টেম্পডবিতে নির্দেশ করে একটি স্ক্রিপ্ট টাস্ক ক্যানভাসে ফেলেছি। আমি সেই OLE DB সংযোগ ব্যবস্থাপকটি ব্যবহার করে সুস্পষ্ট লগিংটি চালু করে OnInformation
ইভেন্টটি ক্যাপচার করেছি ।
এসসিআর ফায়ার তথ্য
আমি দখল করতে আমার স্ক্রিপ্ট কাজের কনফিগার দুটি প্যারামিটার: System::ExecutionInstanceGUID
এবং System::ServerExecutionID
আমি এই সময়ে সত্য বলিয়া স্বীকার করা হবে, আমি ছিল না মারিয়ান এর উত্তর পর্যন্ত দ্বিতীয় পরিবর্তনশীল লক্ষ্য। কাজের অভ্যন্তরে আমি 2 টি তথ্য ইভেন্ট উত্থাপন করি যাতে আমি মানগুলি রেকর্ড করতে পারি। এটি সুস্পষ্ট সারণী (dbo.sysssislog) এবং "ফ্রি" লগিং (ক্যাটালগ.অপশন_মেসেজ) উভয়ই লগ ইন করা উচিত।
public void Main()
{
bool fireAgain = true;
string description = string.Empty;
string variable = string.Empty;
string value = string.Empty;
variable = "System::ServerExecutionID";
value = Dts.Variables[variable].Value.ToString();
description = string.Format("{0}: {1}", variable, value);
Dts.Events.FireInformation(0, "Reporting", description, string.Empty, 0, ref fireAgain);
variable = "System::ExecutionInstanceGUID";
value = Dts.Variables[variable].Value.ToString();
description = string.Format("{0}: {1}", variable, value);
Dts.Events.FireInformation(0, "Reporting", description, string.Empty, 0, ref fireAgain);
Dts.TaskResult = (int)ScriptResults.Success;
}
মোতায়েন করুন এবং কার্যকর করুন
আমি তারপরে আমার প্রকল্পটি একটি সার্ভারে স্থাপন করেছি এবং এটি সম্পাদন করেছি।
আমি অপারেশনস রিপোর্টটি খুললাম এবং SCR Fire info
টাস্কের বিশদটিতে ক্লিক করেছি ।
লাল বৃত্তাকার আইটেমটি দেখায় যে আমরা অপারেশন 8 এর বিশদটি প্রত্যাশার সাথে দেখছি। হাইলাইট করা লাইনগুলি হ'ল OnInformation
ইভেন্টগুলি যা সেই দুটি সিস্টেমের ভেরিয়েবলের মানগুলিকে বুদ্বুদ করেছিল। প্রত্যাশিত হিসাবে, System::ServerExecutionID
প্রতিবেদনে যা ছিল তার সাথে মিলে যাওয়ার মান । এর মানটি System::ExecutionInstanceGUID
বরাবরই অর্থহীন তবে এটি উপস্থিত ছিল {3F515780-8062-40AA-B9EC-C320CBAC5EFD}}
সব একসাথে বেঁধে রাখা
আমার এখন দুটি আলাদা লগ ছিল যা আমি একসাথে বেঁধে রাখতে চাই।
sysssislog ক্যোয়ারী
এই কোয়েরিটি চালানো পুরানো-স্কুল লগিং সারণি থেকে প্রাসঙ্গিক সারিগুলি ফিরিয়ে নিয়েছে।
SELECT
L.event
, L.source
, L.message
FROM
dbo.sysssislog AS L
WHERE
L.executionid = '{3F515780-8062-40AA-B9EC-C320CBAC5EFD}'
ORDER BY
L.id ASC;
ফলাফলগুলি দেখে মনে হয়েছিল
event source message
PackageStart ParameterTest Beginning of package execution.
OnInformation SCR Fire info System::ServerExecutionID: 8
OnInformation ParameterTest System::ServerExecutionID: 8
OnInformation SCR Fire info System::ExecutionInstanceGUID: {3F515780-8062-40AA-B9EC-C320CBAC5EFD}
OnInformation ParameterTest System::ExecutionInstanceGUID: {3F515780-8062-40AA-B9EC-C320CBAC5EFD}
PackageEnd ParameterTest End of package execution.
ক্যাটালগ
SSISDB ক্যাটালগ বিরুদ্ধে এই প্রশ্নের সাথে চলমান সকল বার্তা উপরে প্রতিবেদনে য়েত এবং নিশ্চিত আমি মান লিঙ্ক পারে দেখিয়েছেন message
করার operation_id
পাশাপাশি তার বেশি বয়সের জন্যdbo.sysssislog.executionid
SELECT
OM.*
FROM
catalog.operation_messages AS OM
WHERE
OM.operation_id = 8;
ফলাফল ছিল
operation_message_id operation_id message_time message_type message_source_type message extended_info_id
30 8 2013-04-02 21:02:34.1418917 -05:00 10 30 ParameterTest:Validation has started. NULL
31 8 2013-04-02 21:02:34.1738922 -05:00 10 40 SCR Fire info:Validation has started. NULL
32 8 2013-04-02 21:02:34.1768872 -05:00 20 40 SCR Fire info:Validation is complete. NULL
33 8 2013-04-02 21:02:34.1788903 -05:00 20 30 ParameterTest:Validation is complete. NULL
34 8 2013-04-02 21:02:34.3349188 -05:00 30 30 ParameterTest:Start, 9:02:34 PM. NULL
35 8 2013-04-02 21:02:34.4009253 -05:00 30 40 SCR Fire info:Start, 9:02:34 PM. NULL
36 8 2013-04-02 21:02:34.4009253 -05:00 10 40 SCR Fire info:Validation has started. NULL
37 8 2013-04-02 21:02:34.4019251 -05:00 20 40 SCR Fire info:Validation is complete. NULL
38 8 2013-04-02 21:02:34.4219283 -05:00 70 40 SCR Fire info:Information: System::ServerExecutionID: 8 NULL
39 8 2013-04-02 21:02:34.4259295 -05:00 70 40 SCR Fire info:Information: System::ExecutionInstanceGUID: {3F515780-8062-40AA-B9EC-C320CBAC5EFD} NULL
40 8 2013-04-02 21:02:34.4409316 -05:00 40 40 SCR Fire info:Finished, 9:02:34 PM, Elapsed time: 00:00:00.031. NULL
41 8 2013-04-02 21:02:34.4419388 -05:00 40 30 ParameterTest:Finished, 9:02:34 PM, Elapsed time: 00:00:00.125. NULL
শেষ করি
যখন প্যাকেজটি এসআইএসআইএসডিবি ক্যাটালগের প্রেক্ষাপটের বাইরে নির্বাহ করা হয় (এসএসডিটি-বিআই বা একটি .ispac কমান্ড লাইন মাধ্যমে) এর মান System::ServerExecutionID
0 হবে। এটি বোধগম্য হয় তবে ভবিষ্যতে পাঠকরা হয় একটি বাম আউটর জয়েন ব্যবহার করেন আপনি যদি প্যাকেজের সমস্ত ফাঁসী ধরতে চান তবে ক্যাটালগ.অপশন_মেসেজগুলিতে সিসিসলোগ যুক্ত করার সময় ।
হাট টিপ, আমার আন্তরিক ধন্যবাদ এবং উত্তর ক্রেডিট আমাকে সঠিক ট্র্যাকে রাখার জন্য মারিয়ানের কাছে যায়। আমার সংক্ষিপ্ততর লগিং টেবিলটিতে একটি জিইউইডি (16 বাইট) এবং বিগিন্ট (8 বাইট) সঞ্চয় করার মধ্যে পছন্দটি দেওয়া, এটি আমার পক্ষে কোনও ব্রেইনার নয়: দয়া করে একঘেয়েভাবে বড় ইন্টিজার বাড়িয়ে দিন please