![如何测试Windows服务帐户是否可以登录SQL Server数据库?](https://linux22.com/image/781142/%E5%A6%82%E4%BD%95%E6%B5%8B%E8%AF%95Windows%E6%9C%8D%E5%8A%A1%E5%B8%90%E6%88%B7%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E7%99%BB%E5%BD%95SQL%20Server%E6%95%B0%E6%8D%AE%E5%BA%93%EF%BC%9F.png)
如何测试 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 服务器上。
使用此工具,您可以设置过滤器,以便仅显示所需的交易。
它将显示以下内容:源主机、源程序(您的服务)、帐户、登录或交易的目标数据库。