SSMS可扩展性/插件 - 获取当前数据库和服务器

 阿拉伯恶劣我_295 发布于 2022-12-29 19:27

我正在尝试为自定义审计要求编写SSMS插件(需要审计生产环境中用户运行的所有查询).我有.addin文件位于相应的文件夹中,它命中我的Connect.Exec方法中的断点,我能够从活动文档中选择查询语句.但是我不确定是否有任何属性或方法可以查找以获取数据库名称和用户连接的服务器?

1 个回答
  • 有些人通过codeplex浏览4个小时,下载每个项目并分析代码,这给了我需要的答案.我希望有一天这会帮助某人(虽然我同意@Mitch,如果SQL Server Audit适合你,你应该先尝试一下)..

    添加对Microsoft.SqlServer.RegSrvrEnum.dll和SqlWorkBench.Interfaces的引用(位于C:\ ProgramFiles ..\SQL Server .. - 中的某处).确保已安装工具的SDK.我只测试了SQL Server Management Studio 2014.

    然后下面的代码应该做的伎俩(欢迎你!)

    IScriptFactory scriptFactory = ServiceCache.ScriptFactory;
    CurrentlyActiveWndConnectionInfo connectionIfno = scriptFactory.CurrentlyActiveWndConnectionInfo;
    UIConnectionInfo conn = connectionIfno.UIConnectionInfo;
    Debug.WriteLine("{0}::{1}", conn.ServerName, conn.AdvancedOptions["DATABASE"]);
    

    2022-12-29 19:30 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有