Hallo,
mal so ins Unreine und ungetestet:
SQL-Code:
select distinct NAME
from (
select count(*)
As Anzahl, NAME,
TEXT from (
select NAME,
TEXT from Test-
db.USER_SOURCE
union all
select NAME,
TEXT from Produktions-
db.USER_SOURCE
)
group by NAME,
TEXT
)
where Anzahl <> 2
Was passoert hier:
- Zuerst werden alle Usersourcen der beiden Datenbanken per Union zusammengefügt.
- Dann werden die Zeilen, gruppiert nach Name und Inhalt gezählt.
- Nun wird alles rausgefiltert, was nich zweimal vorkommt
- und das wird per Distinct ausgegeben.
Damit müsstest Du eine Liste der geänderten oder neuen Sourcen erhalten.
Ggfls. könntest Du noch auf NAME und/oder TYPE der Views USER_SOURCE einen Filter legen.
Test-
db und/oder Produktions-
db musst die ggfls. über einen Datenbanklink realisieren, um aus einer Datenbank auch auf eine andere Datenbank auf ggfls. einem anderen Server zuzugreifen.
Ob das jetzt genau so funktioniert, weiß ich nicht, aber eventuell hilft Dir die Idee ja weiter.