انجمن وب سایت مشاوره در زمینه پروژه های برنامه نویسی و طراحی وب سایتهای تجاری

نسخه‌ی کامل: ایجاد تریگر برای جلوگیری از حذف پایگاه داده
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
چند روز پیش در محل کار یکی از دوستان که البته مدیر بنده هم هستند به اشتباه فایل پایگاه داده یکی از شرکت ها را پاک کردند. HuhHuhHuh
این مساله باعث شد که دردسر زیادی برای بازیابی دیتا و عملیات سینک و . . . متحمل شویم. Smile بر آن شدیم که راه حلی با تریگر ارائه دهیم.
با استفاده از این تریگر شما می توانید از حذف یک دیتابیس یا پایگاه داده جلوگیری نمایید. این تریگر یک تریگر دیتابیسی می باشد.

کد:
CREATE TRIGGER Prevent_DB_Drop
ON ALL SERVER
FOR DROP_DATABASE
AS
DECLARE @DatabaseName NVARCHAR(100),
        @eventData XML

--set the EVENTDATA() functions value to our xml so we can parse it
SET @eventData = EVENTDATA()          
SELECT @DatabaseName     = @eventData.value('(/EVENT_INSTANCE/DatabaseName)[1]'     ,'varchar(128)' )
IF @DatabaseName IN ('testDB')
  BEGIN
    PRINT 'You are not allowed to drop this Database.'
    ROLLBACK;
  END
GO
ENABLE TRIGGER [Prevent_DB_Drop] ON ALL SERVER

به جای عبارت testDB می توانید عنوان پایگاه داده خود را وارد نمایید و به جای عبارت You are not allowed to drop this Database. هم می توانید پیام مورد نظر خود را وارد نمایید.
لینک مرجع