SSMS
 sql >> Base de données >  >> Database Tools >> SSMS

Extensibilité SSMS/addin - obtenir la base de données et le serveur actuels

En parcourant le codeplex pendant 4 heures, en téléchargeant chaque projet et en analysant le code, j'ai trouvé la réponse dont j'avais besoin. J'espère que cela aidera quelqu'un un jour (bien que je sois d'accord avec @Mitch si SQL Server Audit fonctionne pour vous, vous devriez d'abord l'essayer) ..

Ajoutez une référence à Microsoft.SqlServer.RegSrvrEnum.dll et SqlWorkBench.Interfaces (situés quelque part dans votre C:\ProgramFiles..\SQL Server.. -). Assurez-vous d'avoir installé le SDK pour les outils. Je n'ai testé cela que pour SQL Server Management Studio 2014.

Alors le code ci-dessous devrait faire l'affaire (de rien !)

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