SQL Server actualmente no admite subconsultas para CHECK RESTRICCIONES .
Como ha descubierto, puede haber problemas con las restricciones CHECK que involucren UDF al intentar eludir la limitación de subconsulta.
Las estrategias alternativas de implementación de restricciones son procedurales desencadenadas y procedimiento incrustado . Se prefiere el primero porque, al igual que las restricciones declarativas, no se pueden eludir.
La implementación de una estrategia de procedimiento desencadenada que esté bien optimizada y maneje los problemas de concurrencia no es trivial, pero sí factible. Recomiendo encarecidamente el libro Matemáticas aplicadas para profesionales de bases de datos Por Lex de Haan, Toon Koppelaars , capítulo 11 (los ejemplos de código son de Oracle, pero se pueden trasladar fácilmente a SQL Server).