¿Cuál es la mejor práctica a la hora de cambiar el nombre de una columna de tabla mediante SQL (variante de MS SQL Server 2005)? Esto supone que hay datos en la columna que deben conservarse.Cambiar el nombre de una columna en MS SQL Server 2005
23
A
Respuesta
47
Tiene que usar un proceso almacenado para cambiar el nombre de una columna. Lo siguiente cambiará el nombre de su columna de 'oldColumnName' a 'newColumnName' sin afectar los datos.
EXEC sp_rename 'tableName.[oldColumnName]', 'newColumnName', 'COLUMN'
Obviamente tendrá que actualizar cualquier código/proc almacenado/SQL que utilice el nombre anterior manualmente.
0
Tuve el mismo problema hoy, y la solución fue matar a todos los procesos en la base de datos, porque los procesos se bloquearon las transacciones. Me ejecutaron el procedimiento sp_rename, pero el problema no se resolvió. Entonces me mataron los procesos en la base de datos y el proceso funciona.
USE MASTER
GO
--Kill all the connections opened in database.
DECLARE @dbname sysname
SET @dbname = 'database_name'
DECLARE @spid int
SELECT @spid = min(spid) from master.dbo.sysprocesses where dbid = db_id(@dbname)
WHILE @spid IS NOT NULL
BEGIN
EXECUTE ('KILL ' + @spid)
SELECT @spid = min(spid) from master.dbo.sysprocesses where dbid = db_id(@dbname) AND spid > @spid
END
SELECT request_session_id
FROM sys.dm_tran_locks
WHERE resource_database_id = DB_ID('database_name')
Cuestiones relacionadas
- 1. Indexar varchar en MS SQL Server 2005
- 2. Editar sinónimos en MS SQL Server 2005
- 3. Cambiar el nombre de la columna en SQL Server 2008
- 4. Cambiar el nombre de la columna en SQL Server
- 5. MS SQL Server Row GUID Columna
- 6. Extrayendo [] alrededor de la columna en SQL Server 2005
- 7. Consulta SQL para agregar una nueva columna después de una columna existente en SQL Server 2005
- 8. SQL Server 2005 - Establecer una columna como de solo lectura
- 9. ¿Cómo cambiar el tamaño de Auto Growth? MS SQL Server 2005
- 10. ¿Es posible cambiar el nombre de una instancia de SQL Server 2005?
- 11. Uso de Rails 2.x con MS SQL Server 2005
- 12. ¿Cómo puedo cambiar el nombre de mi columna en una tabla SQL?
- 13. ¿Cambiar el nombre de una restricción en SQL Server?
- 14. Columna de caída de SQL Server 2005 con restricciones
- 15. Cambiar el nombre del archivo de datos de la base de datos en SQL Server 2005
- 16. MS SQL Server 2005 - Procedimiento almacenado "Interrupciones espontáneas"
- 17. SQL Server 2008 a SQL Server 2005
- 18. Extraño comportamiento al cambiar el nombre de una columna en SQL Server 2008
- 19. SQL Server: ¿Cómo cambiar el nombre en una vista?
- 20. SQL Server 2005 cómo cambiar el nombre de inicio de sesión DBO
- 21. Eliminación de columnas en MS SQL Server
- 22. SQL Server 2005 replicación
- 23. Columna calculada de SQL Server 2005 es persistente
- 24. Isoweek en SQL Server 2005
- 25. cómo cambiar el nombre de la columna con T-SQL
- 26. ¿Cómo seleccionar una columna en SQL Server con un carácter especial en el nombre de columna?
- 27. ¿Se puede restaurar una copia de seguridad de MS SQL 2005 en una instancia de MS SQL 2008?
- 28. Cambiar el nombre de un procedimiento almacenado en SQL Server
- 29. SQL Server 2005/2008: Insertar un archivo en una columna varbinary (max) en Transact-SQL
- 30. Búsqueda de SQL Server para una columna por nombre