In Vorbereitung auf ein Migrationsprojekt versuchen wir, alle Abfragen zu identifizieren, die Daten über Datenbanken hinweg auswählen.
Dies kann folgende Form haben:
SELECT fieldA, fieldB
FROM dbo.TableA a
JOIN DatabaseB.dbo.TableB b ON b.ID = a.ID
oder
DECLARE @resultFromDatabaseB VARCHAR(50)
SELECT @resultFromDatabaseB = b.ID
FROM DatabaseB.dbo.TableB
SELECT fieldA, fieldB
FROM dbo.TableA a
WHERE a.ID = @resultFromDatabaseB
oder jede andere Variante (einschließlich INSERTS / UPDATES / etc ...)
Leider sind die meisten Abfragen keine gespeicherten Prozeduren, sodass ich keine statische Analyse des SQL-Textes durchführen kann. Mein aktueller Plan sieht vor, den zwischengespeicherten Abfragetext aufzuzeichnen und statisch zu analysieren.
Gibt es Alternativen zu diesem Ansatz? dh: Verwendung von erweiterten Ereignissen / Trace / Audit?