我们收到了大量的警报/错误通知"SELECT权限被拒绝对对象'xyz',数据库'someDB',模式'dbo'(所以我们知道对象,数据库名称和模式名称)有数百个应用程序连接到该数据库的问题。
问题:我们无法确定是哪个应用程序导致了此问题。不允许在生产数据库上运行"跟踪"或"扩展事件"。您知道如何找出导致此问题的应用程序名和用户名(尝试运行SELECT)吗?
短暂性脑缺血
附言
- 我们使用的是SQL Server 2019。
- SQL错误日志中没有此错误的任何内容。
- 一旦我们有了应用程序名/用户名,我们就可以纠正权限问题(我们知道如何解决权限问题,在线搜索只显示如何解决此权限问题-这是没有用的),这是我们需要识别的违规用户/应用程序。
1条答案
按热度按时间juud5qan1#
感谢所有人的评论和建议运行XE/Trace(我不否认),但是,我们找到了一个解决方案,可以在不必使用/依赖XE/Trace的情况下找到相关信息。
基本上,要找出用户名及其其他详细信息(通知其权限被拒绝的错误),请RDP到数据库服务器并查看Windows的事件日志-〉展开“Windows日志”并查看错误或信息(与发送警报/通知的时间匹配),您将在“用户”字段下看到用户名。
希望这对其他人(类似情况下)有帮助。