脚本测速

时间:2014-01-21 10:19:26   收藏:0   阅读:462
在某项目中,我们只允许一个人同时对数据库进行操作管理,但是这个人恰恰被人盗用了账号密码。
我们这时要设计登录触发器来进行限制。
举例:
如果登录名login_test已经创建了一个用户会话,登录触发器将拒绝由该登录名启动的SQL Server登录尝试。


USE master       --只有在master 数据库才可以对登录名赋权
GO
CREATE LOGIN login_test WITH PASSWORD=‘123456‘;      --创建一个用户
GO
GRANT VIEW SERVER STATE TO login_test;               --赋权
GO
ALTER TRIGGER connection_limit_trigger               --创建触发器
ON ALL SERVER WITH EXECUTE AS ‘login_test‘
FOR LOGON
AS 
BEGIN 
--如果当前登录名等于login_test 同时连接数超出。
IF ORIGINAL_LOGIN()=‘login_test‘ AND 
   (SELECT COUNT(*) FROM sys.dm_exec_sessions
           WHERE is_user_process=1 AND
            original_login_name=‘login_test)>3
    ROLLBACK;

END;


bubuko.com,布布扣

原文:http://blog.csdn.net/zhangliang_571/article/details/18554263

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!