我正在查看我继承的应用程序的 SQL Server 数据库。我已经有大约 10 年没有研究过 SQL Server,所以请耐心等待。
我正在查看的数据库表有一个bigint NOT NULL名为的列id,但是,当我检查约束时,我没有看到任何约束,所有数据库表也是如此。
我是否正确假设这些表上没有主键和索引(集群或非集群)?
我运行了以下查询,结果似乎证实了我的怀疑:
//**returns 0**
select count(*) from INFORMATION_SCHEMA.TABLE_CONSTRAINTS;
//**returns no rows**
select * from sys.indexes
where object_id = (select object_id from sys.objects where name = 'NAME-OF-TABLE');
//**returns all tables in database**
SELECT name
FROM sys.tables
WHERE OBJECTPROPERTY(object_id,'IsIndexed') = 0;
Run Code Online (Sandbox Code Playgroud)