外部キーがデフォルトのスキーマにないテーブルを参照している可能性があります (おそらく dbo
)。この場合、object_id
は表示されません。 次のようにスキーマを指定するまで:
SELECT OBJECT_ID(N'<schema>.FK_Name', N'F')
実際には、データベース内に同じ名前のオブジェクトを複数持つことができますが、スキーマは異なります。 OBJECT_ID(N'FK_Name', N'F')
デフォルト スキーマのオブジェクトの ID を返します。
次のようにテストできます:
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