Finde funktion som kalkulerede felt kalder
Jeg har tabeller hvor nogle felter er beregnede. De kalder funktioner som leverer data. Det ser elegant ud men det har nogle uhensigtsmæssigheder (de ydelsesmæssige er acceptable).Ved snapshot replikation til "subscriber" fejler det, da funktionen i en tabel kræver en anden tabel findes. Den anden tabel kræver oveni, at den første tabel findes. Det bider sig i halen.
Endelig kan man ikke droppe en funktion som refereres af et felt.
Jeg har et par løsningsmuligheder:
1. Ved oprettelse af den decentrale database, oprettes alle funktionerne som stubbe. Desværre har replikeringen kun muligheden for at droppe eller at holde nalderne væk, hvis "artiklen" findes. En stub vil derfor ikke blive opdateret med en fungerende
2. Finde alle kalkulerede felter og fjerne dem fra tabellerne. Derefter "pushe" en subscription og lægge alle felterne tilbage igen
2a. Det kan hårdkodes! Det er grimt men vil virke. Ulempen er vedligeholdet.
2b. Jeg kan pløje gennem SysObject og SysColumns / information_schema for at finde felterne. Dernæst finde de funktioner som felterne bruger.
Jeg er afgjort mest interesseret i 2a, men kan ikke finde funktionen ud fra felterne fundet i SysObjects.
Er der nogen der kan hjælpe med et script som kan vise tilhørsforholdet mellem felt og funktion? Enten via Sys-viewene eller til information_scheme ditto?