SSMS
 sql >> Database >  >> Database Tools >> SSMS

Estendibilità/aggiunta SSMS:ottieni il database e il server correnti

Un po' di scrematura del codeplex per 4 ore, il download di ogni progetto e l'analisi del codice mi hanno dato la risposta di cui avevo bisogno. Spero che questo aiuti qualcuno un giorno (anche se sono d'accordo con @Mitch se SQL Server Audit funziona per te, dovresti provarlo prima) ..

Aggiungi riferimento a Microsoft.SqlServer.RegSrvrEnum.dll e SqlWorkBench.Interfaces (situati da qualche parte in C:\ProgramFiles..\SQL Server.. -). Assicurati di aver installato l'SDK per gli strumenti. L'ho testato solo per SQL Server Management Studio 2014.

Quindi il codice seguente dovrebbe fare il trucco (benvenuto!)

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