我在我的计算机上安装了SQL Server Express实例,之前一直运行良好,但现在出现以下错误:
由于触发器执行而导致登录'myusername'失败。
已更改数据库上下文为“master”。
我尝试遵循这个链接:https://dba.stackexchange.com/questions/218811/logon-failed-for-login-due-to-trigger-execution
有很多关于删除引起问题的触发器的建议,如果需要可以通过专用管理员连接(DAC)连接来执行此操作。因为我可以使用 MACHINENAME\INSTANCENAME
成功地连接到 sa,所以我不必通过 DAC 连接。我的问题只在使用 (localdb)\MSSQLLocalDB
连接时出现。由于某种原因,仅在 LocalDB 中会出现此错误。
当我使用 'sa' 登录并运行以下内容时:
SELECT * FROM sys.server_triggers;
没有返回数据行,结果为空。那么,我需要禁用哪个触发器呢?LocalDB没有连接到我的SQL Server Express的实例吗?还是说,LocalDB连接到其他有触发器问题的东西,而通过连接则没有触发器?如果存在触发器,我认为“sa”登录应该能够看到它们。
编辑1: 好的。现在我已经在msdb数据库中找到了所有这些触发器。我已经检查了所有的数据库,只有这个数据库有任何触发器。
syscollector_collection_item_parameter_update_trigger syscollector_tsql_query_collector_delete_trigger trig_targetserver_insert
syspolicy_update_system_health_state sysmanagement_delete_shared_server_group_trigger syspolicy_execution_trigger trig_notification_ins_or_upd
trig_notification_delete syspolicy_validate_events
syspolicy_insert_job_create_trigger syspolicy_update_job_update_trigger syspolicy_insert_policy_trigger syspolicy_update_policy_trigger syspolicy_delete_job_delete_trigger syspolicy_instead_delete_policy_trigger syspolicy_insert_condition_trigger syspolicy_for_update_condition_trigger trig_sysoriginatingservers_delete syspolicy_after_update_condition_trigger trig_sysjobs_insert_update syscollector_collection_set_is_running_update_trigger trig_sysmail_profile trig_sysschedules_insert_update trig_principalprofile trig_sysmail_account
trig_sysmail_profileaccount
trig_backupset_delete trig_sysmail_profile_delete trig_sysmail_servertype trig_sysmail_server trig_sysmail_configuration
trig_sysmail_mailitems
syspolicy_insert_target_set_level_trigger trig_sysmail_attachments
syspolicy_update_target_set_level_trigger trig_sysmail_log
syspolicy_insert_target_set_trigger syspolicy_delete_target_set_trigger
select * from sys.triggers where parent_class = 0
。 - CharliefaceDatabase=master
。 - gecclesinc