我遇到了奇怪的错误?
用户向我抱怨他无法再更新数据库中的某些表。他拥有数据库的所有者权限,登录方式为窗口登录(广告登录)。我尝试将他提升到 sysadm,检查所有权限,甚至删除并再次添加登录名。但问题仍然存在。
我尝试创建一个 SQL Server sysadm-login,这样我就不必考虑 AD 问题并尝试了。同样的错误也存在。两个登录名都可以登录 SQL 实例、选择数据、更新某些表,但不能更新其他表。
较旧的登录名(例如我的)在所有方面都可以正常工作,但较新的登录名则不然。我不知道是什么原因造成的。
消息 18456,级别 14,状态 1,第 1 行 用户“xxxx”登录失败
版本:Microsoft SQL Server 2017 (RTM-CU31) (KB5016884) - 14.0.3456.2 (X64) 2022 年 9 月 2 日 11:01:50 版权所有 (C) 2017 Microsoft Corporation 标准版(64 位),位于 Windows Server 2019 Standard 10.0 (内部版本 17763:)(虚拟机管理程序)
这个答案只是描述了我如何调查这些问题的根本原因:
基本上,如果您使用此 SQLProfiler 会话成功找到此错误,则必须搜索错误之前的 RPC:Starting、SQL:BatchStarting 事件以及具有相同 session_id(即 SPID col)的事件。检查这张图片的 SPID col
这就是问题所在。我所做的是克隆 WM 并将其扩展,无需网络访问。立即运行查询我收到错误消息
因此,确实与链接服务器存在某种关系,并且那里缺少登录权限。显然,失败的登录记录在那里,这解释了为什么我尝试调试的服务器上的日志上没有错误。
非常感谢!!!