Một số đọc lướt qua codeplex trong 4 giờ, tải xuống từng dự án và phân tích mã đã cho tôi câu trả lời mà tôi cần. Tôi hy vọng điều này sẽ giúp ai đó vào một ngày nào đó (mặc dù tôi đồng ý với @Mitch nếu SQL Server Audit hoạt động cho bạn, bạn nên thử điều đó trước) ..
Thêm tham chiếu vào Microsoft.SqlServer.RegSrvrEnum.dll và SqlWorkBench.Interfaces (nằm ở đâu đó trong C:\ ProgramFiles .. \ SQL Server .. -) của bạn. Đảm bảo rằng bạn đã cài đặt SDK cho các công cụ. Tôi chỉ mới thử nghiệm điều này cho SQL Server Management Studio 2014.
Sau đó, mã dưới đây sẽ thực hiện thủ thuật (chào mừng bạn!)
IScriptFactory scriptFactory = ServiceCache.ScriptFactory;
CurrentlyActiveWndConnectionInfo connectionIfno = scriptFactory.CurrentlyActiveWndConnectionInfo;
UIConnectionInfo conn = connectionIfno.UIConnectionInfo;
Debug.WriteLine("{0}::{1}", conn.ServerName, conn.AdvancedOptions["DATABASE"]);