首页 > 代码库 > 由于执行触发器,登录名 'sa' 的登录失败
由于执行触发器,登录名 'sa' 的登录失败
使用触发器限制数据库连接IP
如:
USE master GO
if exists (select * from sysobjects where name = ‘tr_LoginCheck‘ and type=‘TR‘)
drop trigger dbo.tr_LoginCheck
GO
CREATE TRIGGER tr_LoginCheck ON ALL SERVER
FOR LOGON AS IF EVENTDATA().value(‘(/EVENT_INSTANCE/ClientHost)[1]‘, ‘varchar(15)‘) <> ‘192.168.1.27‘
ROLLBACK TRAN
GO
结果只有 192.168.1.27能够登陆SQL
本地都无法登陆 研究半天找到解决方案:
使用DAC登陆执行删除触发器语句
1、进入DOS 执行 sqlcmd -A -S localhost //服务器名 当前示例是本机
2、执行删除触发器语句 DROP TRIGGER tr_LoginCheck ON ALL SERVER
3、输入GO
4、 OK (有可能结果提示执行失败,但是实际已经删除触发器了 可以试试)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。