اذهب إلى المحتوى

السؤال

نشر (معدل)

لدي قاعدة بيانات SQL Server لموقع، وأريد أن أتوصل بإشعار على بريدي الإلكتروني في حالة ما أخذ أحدهم نسخة احتياطية -BackUp- من قاعدة البيانات، هل هذا ممكن؟

تم التعديل في بواسطة K@m@l

Recommended Posts

  • 0
نشر

قد يفكر البعض أن Trriger من شأنه أن يؤدي هذه الوظيفة، لكن في الحقيقة أن Trriger خاص فقط بالأحداث داخل قاعدة البيانات ولا علاقة له بعمليات BackUp، لذا يلجأ المبرمجون إلى كتابة كود خاص بهم لهذه المهمة، ومن ثم إرسال رسالة كشعار إلى بريد إلكتروني معيّن تخبره أن عملة استرجاع النسخة الاحتياطية قد تمت.

وهذا مثال لما يمكن أن يتضمنه الكود:

DECLARE @fn VARCHAR(MAX);

SELECT @fn = SUBSTRING([path], 0, LEN([path])-CHARINDEX('\', REVERSE([path]))+1) 
  + '\Log.trc'  
FROM sys.traces   
WHERE is_default = 1;  

SELECT 
    DatabaseName,
    StartTime, 
    TextData
FROM sys.fn_trace_gettable(@fn, DEFAULT)  
WHERE EventClass = 115
AND TextData LIKE '%RESTORE%'; -- since can't differentiate between backup/restore

حيث أن الكود :

EventClass = 115

مخصص لحالة Backup، كما يشير  موقع Microsoft.

هذا مثال عملي يشرك كيف تتم هذه العملية:

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...