我有一个Microsoft SQL查询,它返回不同的行数,具体取决于我运行它的用户。当我通过带有Windows身份验证的SSMS远程访问我的生产数据库时,我在3:28分钟内获得了656行。当我在本地机器(连接到prod DB)上通过SSMS运行它时,以sa身份登录,我在2秒内得到0行。
这怎么可能?我可以理解,由于缺少权限,查询是否作为一个用户失败,但返回0行并说查询成功似乎是一个非常奇怪的行为。这真的是MS SQL的预期行为吗?如果它是权限问题,那么有人设置用户拥有比sa更多的权限也很奇怪,但这是一个不同的故事。
那么,任何人都可以解释如何根据哪个用户运行查询来返回不同的行数?
编辑:我尝试发布我的查询,但是当我将其包含在此文本框中时收到错误消息。