Tengo que hacer un trigger before pero no se si se puede y no se como hacerlo.

Hay una aplicacion de escritorio externa a mi que larga un insert (o un update) sobre una tabla XXX en un motor SQL 2000.
En esa aplicacion de escritorio no se validan la longitud de lsos campos. Es decir que se puede colocar cualquier longitud pero al guardar con esa aplicacion, se produce un insert (o update dependiente del caso) y al llegar al motor como el campo es mas largo que el que tiene la tabla en la base se produce un error de que se va a truncar la informacion. etc...".
Quisiera atrapar ese evento desde la base. Es decir hacer un trigger before para que si los campos son mas largos que los que tienen en la base se detenga la transaccion y si es posible devuelva un mensaje.
Pero no se como hacerlo. Espero haber sido claro sino por favor diganme que información necesitan. Gracias.-