Files
sql-scripts/MIG - compare settings between 2 instances via linked server.sql
2023-07-10 11:29:35 +02:00

41 lines
1.0 KiB
PL/PgSQL

IF OBJECT_ID('tempdb..#new')IS NOT NULL BEGIN;
DROP TABLE #new;
END;
SELECT *
INTO #new
from master.sys.configurations
--except
IF OBJECT_ID('tempdb..#old')IS NOT NULL BEGIN;
DROP TABLE #old;
END;
select *
INTO #old
from sunaps.master.sys.configurations
SELECT [y].[name],
[y].[new_val],
[y].[old_val],
[y].[src]
FROM (
SELECT [x].[name],
[x].[new_val],
[x].[old_val],
[x].[src],
ROW_NUMBER()OVER(PARTITION BY [x].[name] ORDER BY [x].[src]) AS rnk
FROM (
SELECT n.name, n.value AS new_val, o.[value] AS old_val, 'new' AS src
FROM [#new] n
LEFT JOIN [#old] o ON o.[name] = n.[name]
WHERE ISNULL(n.[value],'new') <> ISNULL(o.[value], 'old')
UNION
SELECT n.name, n.value AS new_val, o.[value] AS old_val, 'old'
FROM [#old] o
LEFT JOIN [#new] n ON o.[name] = n.[name]
WHERE ISNULL(n.[value],'new') <> ISNULL(o.[value], 'old')
)x
)y
WHERE [y].[rnk] = 1
ORDER BY [y].[name]