How to rename a table in SQL Server? How to rename a table in SQL Server? sql-server sql-server

How to rename a table in SQL Server?


To rename a table in SQL Server, use the sp_rename command:

exec sp_rename 'schema.old_table_name', 'new_table_name'


To rename a column:

sp_rename 'table_name.old_column_name', 'new_column_name' , 'COLUMN';

To rename a table:

sp_rename 'old_table_name','new_table_name';


When using sp_rename which works like in above answers, check also which objects are affected after renaming, that reference that table, because you need to change those too

I took a code example for table dependencies at Pinal Dave's blog here

USE AdventureWorksGOSELECTreferencing_schema_name = SCHEMA_NAME(o.SCHEMA_ID),referencing_object_name = o.name,referencing_object_type_desc = o.type_desc,referenced_schema_name,referenced_object_name = referenced_entity_name,referenced_object_type_desc = o1.type_desc,referenced_server_name, referenced_database_name--,sed.* -- Uncomment for all the columnsFROMsys.sql_expression_dependencies sedINNER JOINsys.objects o ON sed.referencing_id = o.[object_id]LEFT OUTER JOINsys.objects o1 ON sed.referenced_id = o1.[object_id]WHEREreferenced_entity_name = 'Customer'

So, all these dependent objects needs to be updated also

Or use some add-in if you can, some of them have feature to rename object, and all depend,ent objects too