Hi Daan.
First thank you for your reply and valuable comment. Indeed this will produce advanced parameters. To get this I use a different query:
with params as (
select p16.cmid, cmn.name, obj.owner, obj.tenantid,
replace(
replace(
replace(
replace(
replace(
replace(
replace(p16.ADVSETTINGS,'<settings>',''),
'</settings>',''),
'</setting><setting name=',';'),
'<setting name=',''),
'</setting>',''),
'"',''),
'>','=') settings
from cs.cmobjprops16 p16
inner join cs.cmobjects obj on obj.cmid=p16.cmid
inner join cs.cmobjnames cmn on cmn.cmid=p16.cmid
where p16.ADVSETTINGS is not null
and cmn.isdefault=1
)
select 'ENV' environment, cmn.name server, obj.created, obj.modified, p.name parameter, cs.value value
from params p
inner join cs.cmobjects obj on p.cmid=obj.cmid
inner join cs.cmobjnames cmn on obj.pcmid=cmn.cmid
cross apply string_split(settings, ';') cs
order by value, cmn.name, p.name
Do you have query to get parameters for dispatcher, services that are stored in cmobjprops17, 31, 48, 58, 67, etc. tables?
Kind regards,
Yosh.
------------------------------
Yosh Tugrick
------------------------------
Original Message:
Sent: Fri June 28, 2019 08:17 AM
From: Daan Lambrechts
Subject: Dispatcher parameters
You can use the following query (created on SQL Server 2016)
SELECT t1.NAME Object,
c.value('@name', 'varchar(max)') Setting,
c.value('.', 'varchar(max)') Value
FROM
(
SELECT n.NAME,
CAST(adv.ADVSETTINGS AS XML) ADVSETTINGS
FROM CMOBJNAMES n
INNER JOIN CMOBJPROPS16 adv ON n.CMID = adv.CMID
AND n.ISDEFAULT = 1
WHERE ADVSETTINGS IS NOT NULL
) t1
CROSS APPLY ADVSETTINGS.nodes('/settings/setting') t2(c);
------------------------------
Daan Lambrechts
------------------------------