Qual è la procedura migliore quando si rinomina una colonna di una tabella utilizzando SQL (variante di MS SQL Server 2005)? Ciò presuppone che nella colonna siano presenti dati che devono essere preservati.Rinominare una colonna in MS SQL Server 2005
23
A
risposta
47
È necessario utilizzare un processo memorizzato per rinominare una colonna. Quanto segue rinominerà la colonna da "oldColumnName" a "newColumnName" senza influire sui dati.
EXEC sp_rename 'tableName.[oldColumnName]', 'newColumnName', 'COLUMN'
Ovviamente è necessario aggiornare qualsiasi codice/stored procs/SQL che utilizza manualmente il vecchio nome.
0
Ho avuto lo stesso problema oggi e la soluzione è stata l'eliminazione di tutti i processi sul database, poiché i processi erano bloccati nelle transazioni. Sono stato eseguito la procedura sp_rename, ma il problema non è stato risolto. Così ho ucciso i processi nel database e il processo funziona.
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')
Problemi correlati
- 1. Come posso rinominare la mia colonna in una tabella SQL?
- 2. Hibernate e colonna MS SQL Server Identità
- 3. Rinominare una stored procedure in SQL Server
- 4. Come cadere proprietà IDENTITY di colonna in SQL Server 2005
- 5. Isoweek in SQL Server 2005
- 6. Rimozione di [] attorno alla colonna in SQL Server 2005
- 7. SQL Server 2005 replica
- 8. colonna calcolata in SQL Server
- 9. SQL Server 2005/2008: inserire un file in una colonna varbinary (max) in Transact-SQL
- 10. Eliminazione di colonne in MS SQL Server
- 11. La colonna calcolata di SQL Server 2005 è persistente
- 12. Microsoft SQL Compact Edition rinominare la colonna
- 13. rinominare una colonna in Rails
- 14. SQL Server 2005: colonna ModifyDate: sta utilizzando una colonna calcolata un modo corretto per implementarlo?
- 15. SQL Server 2005 ROW_NUMBER() senza ORDER BY
- 16. Trova una tabella su più database SQL SERVER 2005
- 17. XML non valido in una colonna varbinary (max) in SQL Server 2005
- 18. sottoquery in UPDATE SET (sql server 2005)
- 19. Concatenate ntext in SQL Server 2005
- 20. Database SQL Server 2005 'In Recovery'
- 21. Come utilizzare BIT in SQL Server 2005
- 22. MS SQL Server da NTEXT a INT
- 23. Come definire ENUM in SQL Server 2005?
- 24. Riga GUID riga MS SQL Server
- 25. Rinominare un vincolo in SQL Server?
- 26. Come si seleziona un attributo di livello superiore di una colonna xml in SQL Server 2005?
- 27. Come trovare i tipi di colonna derivati di una vista in SQL Server 2005?
- 28. piroettanti una tabella in SQL Server 2005 per contenere stessa colonna più volte
- 29. varchar (max) MS SQL Server 2000, problemi?
- 30. Come rinominare una tabella in SQL Server Compact Edition?