Jika Anda memiliki komposit kunci utama, lalu semua batasan kunci asing yang mereferensikannya harus menggunakan semua kolom dari kunci primer komposit.
Jadi dalam kasus Anda - TableTwo harus referensi TableOne(ReportID, Date)
Satu-satunya cara untuk mengatasinya adalah dengan membuat UNIQUE INDEX di TableOne (ReportID) - maka Anda dapat membuat referensi kunci asing untuk batasan unik itu saja.
Tapi itu kemudian menimbulkan pertanyaan:mengapa tidak ReportID sendiri kunci utama, jika sudah unik (karena Anda dapat meletakkan UNIQUE INDEX di atasnya) dan NOT NULL (karena itu adalah bagian dari senyawa PK) ?
Langkah 1:buat UNIQUE INDEX :
CREATE UNIQUE NONCLUSTERED INDEX UIX_TableOne ON dbo.TableOne(ReportID);
Langkah 2:buat kunci asing dari TableTwo :
ALTER TABLE dbo.TableTwo
ADD CONSTRAINT FK_TableTwo_TableOne
FOREIGN KEY(ReportID) REFERENCES dbo.TableOne(ReportID)