האח הגדול עינו פקוחה (2) – מי התחבר לשרת?

22/01/2010

אין תגובות

אנחנו ממשיכים במלאכת המעקב החשאית- לא רק מי שינה דברים (הפוסט הקודם),
אלא גם- מי התחבר..
קודם כל ניצור טבלת מעקב ב-master:

USE master

GO

CREATE TABLE T_Maakav(Taarih datetime,
[User_Name] varchar(128),
[System_User] varchar(128),
[App_Name] varchar(128),
[Host_ID] char(10),
[Host_Name] varchar(128),
[SPID] smallint)
GO

וכעת ניצור טריגר DDL מתאים:

Create TRIGGER Prevent_Apps_logon
ON
ALL SERVER FOR LogOn
AS

BEGIN
Insert
Into T_Maakav
Select
GetDate() Taarih, User_Name() [User_Name],System_User [System_User], App_Name()[App_Name], Host_ID( ) [Host_ID], Host_Name( ) [Host_Name], @@SPID [SPID]
Where
OBJECT_ID('master.dbo.T_Maakav') Is Not Null
And App_Name()<>'Report Server'
END

תנאי ה-Where הראשון הוא קריטי: בלעדיו אנחנו עלולים להיתקע מחוץ לשרת מבלי יכולת להיכנס, אם מישהו בטעות ימחק את טבלת המעקב!

התנאי השני נועד להדגים כיצד לסנן הודעות מיותרות: הטבלה תתמלא מהר מאוד על ידי תהליכים שרצים ברקע ומתחברים לשרת, ואשר אנו לא מעוניינים בהם.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *