none
Dudas en SqlServer 2005 Express en cuanto a Capacidad de la BD RRS feed

  • Pregunta

  • Hola buenos días a todos y feliz año.

    Estoy trabajando con una aplicación de escritorio WinForms y un SqlServer 2005 Express y se me plantean diversas preguntas:

    (1) La extensión máxima de la Base de Datos es de 4Gb.

    (2) Dicha extensión es válida para una Tabla, es decir, una tabla puede tener como máximo 4Gb o menos.

    (3) Como se puede saber vía programa si hemos llegado o no a la máxima extensión de una Tabla o bien de la propia Base de Datos, por aquello de mandarle a pantalla un MessageBox al usuario.

    (4) Dichas valoraciones son extensibles al SqlServer 2008 Express, tiene la misma capacidad o quizás más GibaBytes.

    (5) Es realmente cierto que tanto el 2005 Express como el 2008 Express son gratuitos, los puedes instalar en tus clientes sin coste alguno.

    Muchas gracias por adelantado.

    Saludos.
    jueves, 7 de enero de 2010 6:54

Todas las respuestas

  • Hola Joanca,

    a los límites que has señalado habría que añadir que la versión Express sólo soporta 1 procesador y 1 Gb de memoria. Estas limitaciones son aplicables también SQL Server 2008 Express.

    La limitación de 4Gb es del archivo de datos (mdf). Podrías tener una única tabla que ocupe esos 4Gb.

    Las dos versiones (2005 y 2008) son totalmente gratuitas y de libre distribución, se puede utilizar libremente en entornos de desarrollo y de producción.

    En cuanto a cómo saber si se ha llegado al límite programáticamente, creo que la única forma es mediante el control de excepciones. En este caso se lanzará una SqlException indicando que no se puede asignar más espacio para un determinado objeto (tabla). La excepción que se lanza es esta: 

    System.Data.SqlClient.SqlException: Could not allocate space for object 'XXX'.'XXX' in database 'XXX' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

    Así que se debería controlar esta excepción y mostrar el mensaje informativo al usuario.

    Un saludo.
    jueves, 7 de enero de 2010 8:01