كيف تقوم بعمل مراقبة Audit على ال SQl

السلام عليكم ورحمة الله وبركاته , واجهتنا هذه المشكلة فى المؤسسة التى اعمل بها حيث يوجد برنامج لم نقم ببرمجته ويعمل على قاعدة بيانات ولكننا ليس لدينا المصدر Source Code  لنقوم بتعديله , فى الحالات العادية حينما نقوم بتطوير برنامج فاننا نهتم باضافة مستخدم الاضافة وتاريخ الاضافة ومستخدم التعديل وتاريخ آخر تعديل وهذا سهل برمجيا ولكن بسبب عدم حصولنا على شفرة المصدر تعذر هذا , ولهذا قررنا استخدام Trigger لحل المشكلة والحل كالتالى

CREATE TRIGGER usermod
on dbo.[your audit table name ]
After UPDATE
AS BEGIN
  Update [your audit table name]
  set UpBy = ORIGINAL_LOGIN()()
  from INSERTED i
  Where i.[primary key name] = [your audit table].[primary key name]
END

اما لحل مشكلة من قام بالاضافة فيكفى عمل Default Constraint وليكن اسمه InBy ووضع القيمة SUSER_SNAME() او SYSTEM_USER()

حول أحمد حسان
Senior IT Specialist @ German Hospital of Alexandria ,Co-Developed Medxpress ,Hospital ERP system ,Microsoft Certified Solution Developer

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s

%d مدونون معجبون بهذه: