Ами възможно е вашият външен ключ да гледа към таблицата, а не към схемата по подразбиране (вероятно dbo
). В този случай няма да видите object_id
докато не посочите схема, като тази:
SELECT OBJECT_ID(N'<schema>.FK_Name', N'F')
Всъщност можете да имате множество обекти с едно и също име във вашата база данни, но в различни схеми. OBJECT_ID(N'FK_Name', N'F')
ще върне идентификатор на обект в схемата по подразбиране.
Можете да го тествате по следния начин:
create schema test
create table test.temp1 (id int primary key)
create table test.temp2 (id int)
go
alter table test.temp2 add constraint FK_temp foreign key(id) references test.temp1(id)
select object_id('FK_temp', 'F') -- returns null
select object_id('test.FK_temp', 'F') -- returns object id
drop table test.temp2
drop table test.temp1
drop schema test