Drücke „Enter”, um zum Inhalt zu springen.

Herausfinden ob bzw. welche Serviceinstanz eine bestimmte Datenbank verwendet

0

Wenn man nicht mehr ganz sicher ist ob oder wo eine bestimmte Datenbank mit einer Serviceinstanz verknüpft ist, kann man das recht einfach auf der K2-Datanbank herausfinden.

Kann sein, das man das auch schneller und/oder eleganter herausfinden kann, mich hat es aber interessiert wo ich die Konfigurationen dafür in der K2-Datanbank befinden.

Zu finden sind die Infos in der Tabelle [SmartBroker].[ServiceInstance]

Die Konfigurationsdaten findest Du in der XML-Konfiguration in der Spalte „ServiceInstanceXML“

Mit dem folgenden SQL-Statement kann die Info recht einfach extrahiert werden (als Platzhalter habe ich an der Stelle „IHRE_DATENBANK“ eingesetzt)

SELECT
  [ServiceInstanceXML].query('/serviceinstance/serviceconfig/settings/key[@name="Database"]').value('.','nvarchar(50)') As [DataBase],
  [ServiceInstanceXML].value('(/serviceinstance/@name)[1]','nvarchar(50)') As [ServiceInstanceName]
  ,*
   FROM [K2].[SmartBroker].[ServiceInstance]
   where [ServiceInstanceXML].query('/serviceinstance/serviceconfig/settings/key[@name="Database"]').value('.','nvarchar(50)') like '%IHRE_DATANBANK%'

-- ODER

SELECT
  [ServiceInstanceXML].query('/serviceinstance/serviceconfig/settings/key[@name="Database"]').value('.','nvarchar(50)') As [DataBase],
  [ServiceInstanceXML].value('(/serviceinstance/@name)[1]','nvarchar(50)') As [ServiceInstanceName]
  ,*
   FROM [K2].[SmartBroker].[ServiceInstance]
   where [ServiceInstanceXML].query('/serviceinstance/serviceconfig/settings/key[@name="Database"]').value('.','nvarchar(50)') = 'IHRE_DATANBANK'

 


Bild von FreePhotosART auf Pixabay