Generally speaking, most data processes starts and are controlled by applications (desktop, web, or mobile programs). In those cases, it’s better to put follow control in application (program) layer.
However, there are also many data processes not involving any program, e.g. scheduled database jobs. There are also some data transferring between systems and it’s hard to get middle of it like your case.
Anyway, to different stories there are should be different solutions.
If you want to get real-time data, the better way is still in database trigger.
Put an AFTER UPDATE TRIGGER to the table. And use master.. xp_cmdshell to call outside. However, you cannot dirrectly call you .NET program. You should create DOS batch file like
Cd c:\YourProgramFolder
YourProgram
Then in the trigger, call the bat file.
You should put your program in database’s machine. Otherwise, you will have permission inssues.
However, there are also many data processes not involving any program, e.g. scheduled database jobs. There are also some data transferring between systems and it’s hard to get middle of it like your case.
Anyway, to different stories there are should be different solutions.
If you want to get real-time data, the better way is still in database trigger.
Put an AFTER UPDATE TRIGGER to the table. And use master.. xp_cmdshell to call outside. However, you cannot dirrectly call you .NET program. You should create DOS batch file like
Cd c:\YourProgramFolder
YourProgram
Then in the trigger, call the bat file.
You should put your program in database’s machine. Otherwise, you will have permission inssues.