Monday 18 February 2013

T-SQL Script to identify tables without Primary Key

 

When designing tables, It is a good practice of having one column that is unique and can be a primary key. You can include one of the below type column as Primary Key
- Add Auto Increment Column
- Identify the column which unique for all the rows
Make sure Primary keys should be as small as necessary. Prefer a numeric data type because numeric types are stored in a much more compact format than character formats. Most primary keys will be foreign keys in another table as well as used in multiple indexes. The smaller your key, the smaller the index, the less pages in the cache.
You can execute below script to identify the tables without Primary Key and add the Primary Key into tables as per the above suggestions..
1Use <Database Name>
2 
3SELECT SCHEMA_NAME(schema_id) AS [Schema Name], name AS [Table Name]
4FROM sys.tables
5WHERE OBJECTPROPERTY(OBJECT_ID,'TableHasPrimaryKey') = 0
6Order by name
7GO

No comments:

Post a Comment