• I recently needed to script out all foreign keys in a database, and figured I would post that script.

    SELECT'ALTER TABLE [' + RTRIM(tabowner.name) + '].[' + RTRIM(tab.name) + '] ADD CONSTRAINT ['

    + RTRIM(fkey.name) + '] FOREIGN KEY (['+ RTRIM(col.name) + ']) REFERENCES ['

    + RTRIM(rtabowner.name) + '].[' + RTRIM(rtab.name) + '] ([' + RTRIM(rcol.name) + '])'

    FROM sysforeignkeys sfk (NOLOCK)

    JOIN sysobjects tab (NOLOCK)

    ON tab.id = sfk.fkeyid

    JOIN sysobjects rtab (NOLOCK)

    ON rtab.id = sfk.rkeyid

    JOIN syscolumns col (NOLOCK)

    ON col.id = tab.id

    AND col.colid = sfk.fkey

    JOIN syscolumns rcol (NOLOCK)

    ON rcol.id = rtab.id

    AND rcol.colid = sfk.rkey

    JOIN sysobjects fkey (NOLOCK)

    ON fkey.id = sfk.constid

    JOIN sysusers tabowner (NOLOCK)

    ON tabowner.uid = tab.uid

    JOIN sysusers rtabowner (NOLOCK)

    ON rtabowner.uid = rtab.uid