获取运行查询的 Windows 帐户?

Roy*_*mir 3 sql-server permissions sql-server-2008-r2

我正在使用 sql server 2008 r2。

我登录到 ssms,它又连接到远程 sql server 机器。

我正在编写一个写入文件的查询。

我需要知道 - 我应该授予哪些 Windows 权限 c:\myfolder

有什么select query可以为我提供实际上最终写入文件的Windows帐户吗?

在此处输入图片说明

Rem*_*anu 8

这要看情况,恐怕马丁只给你部分答案。无论您是使用 SQL 登录名还是 Windows 登录名登录,用于访问该文件的凭据都不同。

对于 SQL 登录(即基于用户和密码的连接字符串),使用的凭据是登录代理凭据帐户的 SQL 服务器进程帐户,如果设置了:

存储在凭据中的信息使通过 SQL Server 身份验证连接到 SQL Server 的用户能够访问服务器实例之外的资源。当外部资源是 Windows 时,用户被认证为凭证中指定的 Windows 用户。

对于 Windows 登录(即集成安全或 SSPI 连接字符串),引擎将始终在访问外部资源之前模拟调用者。这意味着对共享文件夹的访问将在原始 Windows 登录的模拟上下文中进行。这反过来意味着将发生“双跳”委派,并且对共享文件的身份验证将受制于限制委派的域策略。并且所有提供 1 美分安全性的域都将具有约束委派限制,并要求您设置 SQL Server 服务帐户以启用约束委派。


Mar*_*ith 5

它将是 SQL Server 服务帐户。

如果xp_cmdshell已启用(或者您有权限临时启用它),您可以使用

EXEC master..xp_cmdshell 'whoami' 
Run Code Online (Sandbox Code Playgroud)

  • 这不适用于 Windows 登录,调用将被模拟并受委派。对于已设置 Windows 凭据的 SQL 登录也不正确。 (3认同)