我的机器上有一个运行良好的 SQL Server Express 实例,但我不知道发生了什么变化。我现在收到此错误:
由于触发器执行,登录“myusername”登录失败。
将数据库上下文更改为“主”。
我试图遵循这个:https ://dba.stackexchange.com/questions/218811/logon-failed-for-login-due-to-trigger-execution
所以有很多关于删除有问题的触发器的想法,如果需要,您可以连接到专用管理员连接 (DAC)。我不必通过 DAC 连接,因为我可以MACHINENAME\INSTANCENAME
很好地连接到 sa。我的问题仅在与(localdb)\MSSQLLocalDB
. 出于某种原因,LocalDB 仅导致此错误。
当我使用“sa”登录并运行以下命令时:
SELECT * FROM sys.server_triggers;
没有返回行。这是一个空的结果。那么,我需要禁用的触发器在哪里?LocalDB 是否没有连接到与我的 SQL Server Express 实例相同的实例?因此,LocalDB 连接到其他有触发器问题的东西,而连接方式MACHINENAME\INSTANCENAME
没有触发器。我认为“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