从服务器获取Windowslogin名

我一直在这个问题上坚持了几天 – 任何帮助,非常感谢。

我有一个SQL触发器调用用C#编写的DLL。 在这个函数中,我需要发起启动触发器的SQL命令的人的windowslogin名。 我是否从C#或SQL获取这些信息并不重要。

不幸的是,大多数正常的路线都失败了。

内置SQL函数NT_C​​LIENT()仅在SQLlogin使用Windows身份validation时才有效。

DLL正在服务器上运行,因此Environment.UserName与WindowsIdentity.GetCurrent()。Name无关,除非数据库用户(线程发起者)使用Windows身份validation,否则返回一个空string。

我知道域名,IP地址和工作站名称。 从这里我已经想出了如何获得在C#中的SID – 有无论如何,我可以从这些信息的C#使用C#或有一个SQL内置的函数,我错过了Windowslogin名?

编辑:谢谢你让我知道SQL是这个问题的一个哑巴。 我们所拥有的是一个将每个人作为一个用户login到数据库的客户端。 我最终不得不做一个不安全的程序集,调用一个命令行函数WMIC。 Yucky解决scheme,但它完成了工作。 再次感谢你提供的build议。 🙂

Solutions Collecting From Web of "从服务器获取Windowslogin名"