Hola a todos,
Tengo un sistema el cuál hay que hacerle unas cuantas modificaciones a su
diseño en la Base de Datos, (es un sql server 2005 ) y una de las tareas que
hare es agregar un índice a una tabla muy utilizada, por lo que he leído
debo hacerlo mediante comandos ya que lo he intentando desde el EM y marca
error, tal vez por que la tabla esta constantemente en uso, en fin este es
el código que pretendo ejecutar:
ALTER TABLE MENSAJES_RECIBIDOS
ADD ID_MENSAJE_RECIBIDO INT PRIMARY KEY IDENTITY
DROP INDEX IDX_ID_EQUIPO ON MENSAJES_RECIBIDOS
DROP INDEX MENSAJES_RECIBIDOS_INDEX ON MENSAJES_RECIBIDOS
DROP INDEX PK__MENSAJES_RECIBID__2FCC1EF8 ON MENSAJES_RECIBIDOS
CREATE CLUSTERED INDEX IDX_MENSAJE_RECIBIDO ON
MENSAJES_RECIBIDOS(ID_MENSAJE_RECIBIDO DESC)
CREATE NONCLUSTERED INDEX MENSAJES_RECIBIDOS_INDEX ON MENSAJES_RECIBIDOS
(ID_EQUIPO ASC, FECHA_RECEPCION DESC)
lo he ejecutado en la BD de pruebas y parece que todo va bien, por desgracia
la BD de prueba no tiene transacciones activas y por eso me queda la duda:
¿Qué va a pasar si ejecuto esto en la BD con transacciones activas
(insertar, actualizar o consultas)?
¿se pierden o se quedan como en espera hasta que se ejecute el script???
ya por último como se le puede hacer para el nuevo campo se agrege al
principio?
saludos a todos,
Iván Rico
Leer las respuestas