gpt4 book ai didi

sql - 获取执行存储过程的用户名

转载 作者:行者123 更新时间:2023-12-04 20:56:18 25 4
gpt4 key购买 nike

我知道这可以通过使用 WindowsIdentity 在代码 (C#) 中完成,但是有没有办法在 SP 本身中完成此操作?

我尝试使用 USER 函数,但它返回的是 dbo 而不是名称。这是因为用户是数据库的所有者吗?如果是这样,我如何获得数据库所有者的登录名?

编辑:

执行 SP 的应用程序使用 sa 用户帐户,因此如果我使用 SYSTEM_USER,则返回值为 sa

最佳答案

SELECT SYSTEM_USER

将返回在 SQL 中执行代码的用户名。更多信息 aricle

如果 SQL Server 服务从 sa 运行,则无法从 SQL Server 端获取 (windows) 用户名​​。我想这是安全问题。您可以从表 sys.dm_exec_connections 中获得有关连接到 SQL Server 的大部分信息。有存储的 IP 地址和端口以及其他对现有连接有用的东西。

关于sql - 获取执行存储过程的用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22556061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com