Query below lists tables in a database without primary keys.
select schema_name(tab.schema_id) as [schema_name], tab.[name] as table_name from sys.tables tab left outer join sys.indexes pk on tab.object_id = pk.object_id and pk.is_primary_key = 1 where pk.object_id is null order by schema_name(tab.schema_id), tab.[name]
- schema_name - schema name
- table_name - table name
- One row represents one table in a database
- Scope of rows: all tables without primary keys in a database
- Ordered by schema, table name
Below is a list of tables in Microsoft System Center Configuration Manager database without primary keys. Is that a lot? Check out here.