¿Cómo evitar el error "no se puede completar la consulta ... Tamaño máximo de una BD (2GB)"?
Necesito ayuda con una base de datos en Access 2007 que me está dando muchos quebraderos de cabeza.
La base tiene un peso aproximado de 300 MB y una tabla con unos 800.000 registros. El campo id de esta tabla que era autonumérico se ha convertido en numérico (supongo que al compactar y reparar se ha producido el cambio -tengo que hacerlo porque cada dos por tres la base sube de peso hasta 1 GB- y no es la primera vez que algo se me daña en esta operación).
El caso es que necesito volver a tener este campo como autonumérico, manteniendo los id actuales. Mi idea ha sido crear una tabla nueva que inserte todos esos registros ordenados por el id y luego sencillamente crear un nuevo campo id autonumérico. De este modo mantendría los mismos números asociados a cada registro y podría comprobar la corrección de esto revisando la coincidencia entre estos dos campos.
El problema es que Access al tratar de crear este campo autonumérico da el siguiente error:
"No se puede completar la consulta.El resultado de la consulta tiene un tamaño superior al tamaño máximo de una base de datos (2 GB) o no hay espacio temporal suficiente
En el disco para almacenar los resultados".
En las búsquedas que he realizado he visto respuestas aludiendo a que el problema se encuentra en:
- El tamaño de la base, como dice el propio mensaje no puede ser superior a 2 GB. Recomiendan compactar y reparar o cambiar a otro SGBD. Pero mi base compactada pesa 300 MB, con lo que entiendo no es el problema.
- Un número reducido del máximo de bloqueso por archivo de access. Pero hace mucho que tengo cambiado este parámetro en el registro de Windows a 1.000.000 de registros.
Por otro lado, la mención que hace el mensaje de error a espacio temporal en el disco (aquí ya me pierdo un poco), supongo que tampoco es el problema porque mi portatil usa 4 GB de RAM y tiene una decena de GB libres en el disco duro.
Si alguien puede aportarme alguna idea sobre como afrontar el problema, evitando el error o usando otro método para crear el id, le estaría muy agradecido.