ارسال آلارم هنگام ایجاد لاگین جدید
اسکریپت زیر به شما کمک میکند هنگامی که یک لاگین جدید با دسترسی SysAdmin در Instance شما ایجاد شد یک ایمیل هشدار دریافت کنید.
set nocount on select Convert(varchar(35),@@servername) as 'Server_Name', Convert(varchar(25),[name])as 'Name', Convert(varchar(25),loginname)as 'LoginName', sysadmin, --hasaccess, Convert(varchar(25),dbname) as 'Default_Db', Createdate=Convert(varchar,createdate,100), [Updatedate]=Convert(varchar,updatedate,100) from master..syslogins where sysadmin = '1' and updatedate > Getdate()-1 --and sid != 0x01 --WHERE LOGINPROPERTY([name], 'PasswordLastSetTime') > DATEADD(dd, -7, GETDATE()); If @@rowcount = 0 return else Begin Print 'Worked' Declare @srvname varchar(55),@subject1 varchar(255) Select @srvname = @@servername DECLARE @xml NVARCHAR(MAX) DECLARE @body NVARCHAR(MAX) SET @xml =CAST(( select name AS 'td','',loginname AS 'td','',sysadmin as 'td','', dbname AS 'td','',Convert(varchar,createdate,100) AS 'td','',Convert(varchar,updatedate,100) AS 'td' from master..syslogins where sysadmin = '1' and updatedate > Getdate()-1 and sid != 0x01 FOR XML PATH('tr'), ELEMENTS ) AS NVARCHAR(MAX)) SET @body ='<html><H1>Changed SQL SA Roles on Server '+ @srvname +'</H1><body bgcolor=white> <table border="1" style="font-family:Georgia, Garamond, Serif;color:blue;font-style:italic;"> <tr><th>Name</th><th>LoginName</th><th>SysAdminBit</th> <th>DefaultDb</th><th>CreateDate</th><th>UpdateDate</th> </tr>' SET @body = @body + @xml +'</table></body></html>' Set @subject1 = 'Debug Test SQL Sa Role Account Change Report on ' + @srvname EXEC msdb.dbo.sp_send_dbmail @recipients =N'someone@emailaddress.com', @body = @body,@body_format ='HTML', @subject = @subject1 , @profile_name ='Your_Mail__Profile' End