View Full Version : log کردن تغییرات data در سطح database
HamidSI
دوشنبه 18 خرداد 1388, 12:16 عصر
سلام خدمت همه دوستان عزیز.
میخواستم بدونم توی sql server 2005 چیزی شبیه به ddl trigger در سطح database برای dml هم داریم یا نه؟
اگر نداریم به چه روشی می تونم تغییراتی رو که روی اطلاعات اعمال میشه رو در سطح دیتابیس (نه در سطح هر table) لاگ کنم؟
حتی اگر بتونم دستوراتی رو که به database میاد رو هم بگیرم کارم راه می افته (مثل sql Profiler)!
AminSobati
دوشنبه 18 خرداد 1388, 17:05 عصر
سلام دوست عزیزم،
تریگری که تغییرات اطلاعات رو لاگ کنه، DML هست. DDL برای لاگ کردن تغییر ساختار مثل ALTER TABLE و امثالهم کاربرد داره. در مورد DML، به ازای هر جدول باید تریگر بنویسید
HamidSI
دوشنبه 18 خرداد 1388, 17:35 عصر
سلام.
از جواب شما ممنونم.
با ddl trigger ا آشنا هستم. توی سوال قبل گفتم که دنبال یه dml trigger مشابه ddl trigger میگردم یعنی در سطح دیتابیس نه جدول، که شما فرمودین dml trigger باید برای هر جدول باشه، اما من نمی خوام برای هر جدول یک trigger بسازم چون تعدادشون زیاد هست.
حالا جسارتا یه سوال دیگه می پرسم.
چجوری میتونم توی دیتابیسم بفهم الان چه دستوری در حال اجراست؟ در واقع یه مانیتورینگ میخوام روی دیتابیس. چیزی شبیه به sql profiler.
AminSobati
دوشنبه 18 خرداد 1388, 18:24 عصر
Profiler در اصل یک Trace میسازه. شما میتونین Trace رو از داخل برنامه بسازین و بدون اینکه Interface در کار باشه، شروع به ذخیره دستورات در فایل بکنین. این فایل بعدا قابل Query گرفتن هست. در Profiler این امکان هست که وقتی یک Trace میسازین، کدش رو براتون تولید کنه تا در برنامه فراخوانی کنید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.