Se você tiver um composto chave primária e, em seguida, todos restrições de chave estrangeira que fazem referência a ela devem usar todas as colunas da chave primária composta.
Então, no seu caso -
TableTwo deve referência TableOne(ReportID, Date) A única maneira de contornar isso seria criar um
UNIQUE INDEX em TableOne (ReportID) - então você pode criar uma referência de chave estrangeira apenas para essa restrição exclusiva. Mas isso levanta a questão:por que não é
ReportID sozinho a chave primária, se já for única (já que você pode colocar um UNIQUE INDEX nele) e NOT NULL (já que faz parte do composto PK) ? Etapa 1:crie o
UNIQUE INDEX :CREATE UNIQUE NONCLUSTERED INDEX UIX_TableOne ON dbo.TableOne(ReportID);
Etapa 2:crie a chave estrangeira de
TableTwo :ALTER TABLE dbo.TableTwo
ADD CONSTRAINT FK_TableTwo_TableOne
FOREIGN KEY(ReportID) REFERENCES dbo.TableOne(ReportID)