防止有人删除数据库,创建一个触发器当数据库被删除是发送一份邮件给管理员并撤销这个命令。

Create trigger [tridbsafe]
ON ALL SERVER
FOR DROP_DATABASE
AS
    declare @now varchar(max)
    SELECT
    @now='The SQL Server ['+@@SERVERNAME+'].['+@@SERVICENAME+']'+
    'Please check it soon.'+char(13)+convert(varchar(max),eventdata())
    ROLLBACK
        EXEC msdb.dbo.sp_send_dbmail
         @profile_name = 'DBMail',  
         @recipients = 'suanrun@lyzb.cn',
         @subject = N'数据有问题,数据数正在被删除',
         @body = @now,
         @body_format = TEXT;
    RAISERROR('Do Not Allow To Drop DataBase,Please Contact DBA',16,1) with log
GO

 

查看SQL服务是否关闭

IF NOT EXISTS(select program_name from master.dbo.sysprocesses
WHERE program_name like 'SQLAgent%')

 

posted on 2015-04-08 15:26  cqsar  阅读(173)  评论(0编辑  收藏  举报