When you create a table with a primary key in SQL Server, SQL Server creates an index for you with an automatically generated name, like PK__acctreg__29819341. I find the naming convention they use to be annoying, so I wanted to be able to change the name. Here's how:
-- to find the names of your current indexes
select tab.name table_name, idx.name index_name
from sysobjects tab
left join sysindexes idx on idx.id = tab.id
where tab.xtype = 'U'
order by 1
-- to rename an existing index
exec sp_rename 'company.PK__company__1ED599B2', 'company$companyID', 'INDEX'