=============================================================================== SQL: MS SQL Commands 15-APR-11 Matt Borland =============================================================================== Creating a unique index: create unique index SiteAddressIdUniq on Site (AddressId); Adding a named foreign key: alter table Service add constraint FK_Service_CapabilityId foreign key (CapabilityId) references Capability (CapabilityId); Making a column NULL/NOT NULL: alter table Service alter column CapabilityId int NOT NULL; Dropping an index: drop index Authority.AuthorityContactIdUniq; Dropping a column: alter table Authority drop column ContactListId; Finding all indexes: select name from sysindexes order by name; Finding all constraints: select o1.name as Referencing_Object_name , c1.name as referencing_column_Name , o2.name as Referenced_Object_name , c2.name as Referenced_Column_Name , s.name as Constraint_name from sysforeignkeys fk inner join sysobjects o1 on fk.fkeyid = o1.id inner join sysobjects o2 on fk.rkeyid = o2.id inner join syscolumns c1 on c1.id = o1.id and c1.colid = fk.fkey inner join syscolumns c2 on c2.id = o2.id and c2.colid = fk.rkey inner join sysobjects s on fk.constid = s.id Renaming all constraints (by getting SQL): select 'exec sp_rename ''' + Constraint_name + ''', ''FK_' + Referencing_Object_name + '_' + referencing_column_Name + ''', ''OBJECT'';' from ( [sql above] )x;