0

如果使用 SQL auth 建立连接,是否可以获得连接到 MS SQL Server 2008 R2 的 Windows 登录名?此外 - 使用模拟。我只能得到真实的主机名。

我想这是不可能的,因为它反对模仿的想法。但你能确定我吗?

4

2 回答 2

3

如果使用 SQL auth 进行连接,则绝对无法检索“windows 登录名”,无论连接是否是在模拟上下文下进行的。另一种方法是使用带外进程,如会话上下文信息,但应用程序必须合作并适当地设置每个打开连接的上下文信息。如果您有审核执行操作的原始 Window Login 之类的要求,则必须将 SQL auth 替换为 Windows auth。

于 2013-05-22T11:51:43.030 回答
0

使用 Windows 集成身份验证建立连接后,很简单:

declare @userid varchar(15)

SELECT @userid = nt_username 
FROM sys.sysprocesses 
WHERE spid = @@SPID

select @userid

于 2014-12-15T15:00:15.297 回答