Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/03/2012, 17:23
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años, 1 mes
Puntos: 85
Respuesta: Base de datos en MSQLServer 2008 Express llego al limite

Si el crecimiento de la base es constante, inevitablemente tendrás que cambiar la licencia, hasta entonces tienes algunas opciones para evitar la limitación.

1. Utilizar Sinónimos, teniendo en cuenta que la limitación de 10g es por base de datos, puedes distribuir las tablas en diferentes bases de datos y crear sinónimos sobre las tablas para referenciarlas en las consultas SQL, por ejemplo, tabla T1 de 9g en la DB1, tabla T2 de 8g en la DB2 y la aplicación accede a la base DB0:

Código:
use DB1
create table T1...
go

use DB2
create table T2...
go

use DB0
create synonym T1 for DB1.dbo.T1
go
create synonym T2 for DB2.dbo.T2
go
select * from T1
go
En este caso, la solución deja de funcionar si alguna tabla supera los 10g.

2. Purgar Datos, como ya comentaron, puedes eliminar la información histórica que no sea necesaria para el funcionamiento del sistema, por ejemplo, en la tabla Facturas borrar los registros con fecha de facturación superior a 30 días. En este caso, la solución deja de funcionar si los datos actuales superan los 10g.

3. Particionar Datos, esto sería una combinación de la 1 y 2, siguiendo con el ejemplo de la tabla facturas, puedes tener las facturas actuales en la DB0, las facturas2011 en la DB1, las facturas2010 en la DB2, etc., y de la misma forma, deja de funcionar si los datos actuales o alguna de las particiones históricas supera los 10g.

Las tres opciones tienen pros y contras, esto depende mucho de los datos y el modelo de tablas, pero en general la opción 1 es la más eficiente.

Saludos