sql >> Base de Datos >  >> Database Tools >> SSMS

Extensibilidad/complemento de SSMS:obtenga la base de datos y el servidor actuales

Un poco de hojear codeplex durante 4 horas, descargar cada proyecto y analizar el código me dio la respuesta que necesitaba. Espero que esto ayude a alguien algún día (aunque estoy de acuerdo con @Mitch si SQL Server Audit funciona para usted, debería probarlo primero) ..

Agregue una referencia a Microsoft.SqlServer.RegSrvrEnum.dll y SqlWorkBench.Interfaces (ubicado en algún lugar de su C:\ProgramFiles..\SQL Server.. -). Asegúrese de haber instalado el SDK para las herramientas. Solo probé esto para SQL Server Management Studio 2014.

Entonces el siguiente código debería funcionar (¡de nada!)

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