在 SQL Server 中获取事务复制日志读取器代理帐户的 TSQL 查询是什么?
我可以在 SSMS UI 中获取信息,来源: 复制 -> 本地发布 -> 选择一个发布 -> 右键单击属性 -> 代理安全
我无法在分发数据库的任何系统表中找到此信息。
查看在分发数据库中创建的
MSsnapshot_agents
和 MSlogreader_agents
表。可以获取快照和日志读取器 job_id,并将其用于收集有关作业的信息,例如与作业关联的数据库主体。看来帐户信息也存储在上面的表中。
虽然我没有找到直接的 TSQL,但我找到了 2 种替代方法。
选项 1:
Use myPublisheddb
exec sp_helplogreader_agent
该过程返回一个表;通过一些调整,我们可以获得所需的信息。
选项2:
select * from master.sys.credentials
这里也一样。返回一个表,可以从该表中挖掘正确的数据。