如何禁用终止 SQL 访问的触发器?

如何禁用终止 SQL 访问的触发器?

http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/f9236131-cfcc-48ed-b431-57884842e874/

我需要限制某些用户对 Sql Mgt Studio 的访问。我发现上面的文章创建了一个触发器来阻止指定用户建立连接。

CREATE TRIGGER [SQLGP_Logon_trigger_sql_tools]

ON ALL SERVER FOR LOGON

AS

BEGIN

  IF ORIGINAL_LOGIN() not in ('domain\Administrator',
    'sa',
    'domain\user1',
    'domain\user2',
    'domain\user3') AND 
    (program_name() like 'Microsoft SQL Server Management Studio' 
    or program_name() like 'Microsoft SQL Server Management Studio - Query' 
    or program_name() like 'SQL Query Analyzer')
  ROLLBACK

END

当我在开发服务器上玩代码时,我创建了一个触发器来阻止所有用户的访问。我尝试使用 osql 进行连接,但收到错误消息

由于触发器执行,登录“someuser”登录失败。

这与您连接 Sql Mgt Studio 时收到的消息类似。

有没有办法强制禁用这个触发器?

答案1

连接到管理员连接。在 SSMS 中输入admin:servername\instance服务器名称。通常 DAC 连接仅在本地启用,因此您应该从服务器主机尝试。如果这也失败了(我不记得 DAC 是否运行登录触发器),则始终有服务器管理单用户启动sqlservr -m

相关内容