¿Cómo puedo modificar el tipo en una tabla que tiene un índice? Intenté hacer una columna alter en una tabla vacía para modificar el tipo de fecha y hora a varchar (15) y obtuve errores que decían que tenía dependencias en la columna (que resultaron ser índices).
Pude evitarlo fácilmente localmente haciendo clic derecho en el índice y creando una secuencia de comandos, pero necesito implementar esto en otros servidores donde no tendré acceso al nombre del índice.
¿Hay alguna manera de hacer un script que elimine cualquier índice, déjame hacer ese cambio de tipo de datos en la columna y luego leer el índice? ¡Gracias!
fuente
Para alterar cualquier columna, primero debe eliminar el índice o cualquier otra restricción que contenga esa columna, y luego crear el índice / restricción nuevamente. Pero esta tarea debe ser realizada por un DBA porque cualquier caída en el índice o restricción afectará por un lado los datos que se consultan, mientras que el índice se cae y, por otro lado, se bloquea en toda la tabla durante el tiempo que el índice se restablece creado. Debe asegurarse de que los usuarios estén al tanto de este mantenimiento pequeño o grande (depende del tamaño de la tabla). ¡Buena suerte!
Sin embargo, la creación del índice se puede hacer con la opción en línea que es menos bloqueante.
fuente
Si suelta el índice primero, no podrá volver a leerlo, a menos que se vuelva a crear el índice. Lo que puede hacer para deshabilitar la aplicación de la restricción.
Después de ejecutar este script, la restricción no se aplicará y puede ingresar datos sin preocuparse por las comprobaciones de restricciones. Puede modificar la tabla nuevamente para volver a habilitar las restricciones.
No se verificará ni corregirá ninguna violación previa, pero se verificará cualquier entrada después de que se haya aplicado la restricción.
fuente
Hay 2 errores en la respuesta de Niko (faltan 2 condiciones object_id). Y no es necesario
group by
:fuente