如何测试 Windows AD 服务帐户是否已被授予通过 Windows 身份验证从 SQL Server 数据库服务器读取的权限?
这需要一个独立于 Windows 服务内运行的任何操作的独立测试。
答案1
从 PowerShell:
Import-Module SqlServer
Invoke-Sqlcmd -ServerInstance "DBSERVER.COMPANY.COM" -Query "SELECT TOP 1 * FROM DBName.dbo.TableOrViewName;"
答案2
按住 Shift 键并右键单击您最喜欢的工具图标(或命令提示符、PowerShell 等),然后选择“以其他用户身份运行”。输入服务帐户凭据,照常登录,执行代表查询。
可以使用 runas 命令从命令行完成相同的操作:
RUNAS /noprofile /netonly /user:<service account> <program>
答案3
例如,可以通过SQL Server 事件探查器在 SQL 服务器上。
使用此工具,您可以设置过滤器,以便仅显示所需的交易。
它将显示以下内容:源主机、源程序(您的服务)、帐户、登录或交易的目标数据库。