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:

      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):

      'exec sp_rename ''' + Constraint_name + ''', ''FK_' + Referencing_Object_name + '_' + referencing_column_Name + ''', ''OBJECT'';'
    from ( [sql above] )x;