以下の条件に基づいて、テーブルにチェック制約を作成する必要があります。
1. ColumnX=1 の場合、ColumnY は NULL であってはなりません
2. ColumnX<>1 の場合、ColumnY は NULL になる可能性があります
以下を試してみましたが、値をチェックしていないようです。
ALTER TABLE [dbo].[MyTable] WITH NOCHECK ADD CONSTRAINT [CK_MyTable_1]
CHECK (ColumnX<>1 OR(ColumnX=1 AND (ISNULL(ColumnY,0) <> 0)))
GO
ALTER TABLE [dbo].[MyTable] CHECK CONSTRAINT [CK_MyTable_1]
GO
制約のロジックが正しいかどうかわからない