reservation physical multiple memoria maximum aumentar sql-server ms-access sql-server-express

sql-server - physical - sql server memory multiple instances



SQL Server Express contra MS Access (4)

Aquí están las hojas de datos de ambos productos para que pueda ver algunos hechos concretos sobre la diferencia entre las dos bases de datos.

Acceso: http://office.microsoft.com/en-us/access-help/access-specifications-HP005186808.aspx

SQL (Express aparece en la columna de la derecha): http://www.microsoft.com/sqlserver/2008/en/us/editions-compare.aspx

El comentario que siempre he leído es que Access es ideal para el uso de bases de datos de acceso único de usuario único, en el momento en que escalas más allá de un único usuario mirar en otro lugar. Si bien puede ser un poco "exagerado", Access realmente no funciona bien en un entorno multiusuario. Por experiencia, hemos tenido un cliente que ha ignorado e ignorado nuestras solicitudes para migrar una base de datos back-end de Access a SQL, y ha habido numerosas ocasiones en las que hemos tenido que restaurar desde copias de seguridad o desconectar la base de datos de Access debido a daños.

Son dos tecnologías completamente diferentes con dos mercados objetivo diferentes. Los motores de base de datos son realmente diferentes, ya que mencionas que T-SQL es diferente de Access SQL.

Puede "escalar" una base de datos de Access a SQL creando un paquete SSIS u otra herramienta para realizar la importación, pero esto toma el esquema y datos de Access y lo migra a una base de datos SQL verdadera. Hace más que solo adjuntar la base de datos de Access o similar.

Cada vez que necesite una base de datos "real", le recomiendo consultar cualquiera de las versiones de SQL disponibles a través de Access.

Un colega con el que trabajo recientemente me dijo que SQL Express y MS Access eran esencialmente lo mismo; eso no parece ser una declaración precisa. Sé que puede convertir Access a SQL DB y tal vez bajo las cubiertas son similares, pero supongo que el motor SQL DB y lo que se utiliza para ejecutar el acceso no son lo mismo. No solo eso, sino la sintaxis de la declaración SQL, etc. Sé que no son lo mismo.

Principalmente trato de entender para estar más informado sobre las versiones.


Creo que lo que su colega tenía en mente era SQL Server CE , que es una base de datos incrustada súper liviana, que sigue siendo (IMO) muy superior a Access en el aspecto de administración de bases de datos. SQL Express no se puede comparar con Access sin ofender al primero.


Um, no, no es lo mismo.

Primero, necesito aclarar algo de terminología. MS Access es una herramienta de desarrollo rápido de aplicaciones (RAD) que le permite crear rápidamente formularios e informes vinculados a datos relacionales. Viene con un motor de base de datos basado en archivos (Jet / ACE).

El acceso a la herramienta RAD se puede utilizar con muchas bases de datos backend diferentes (Jet, SQL Server, cualquier base de datos que admita ODBC, etc.). Tengo que suponer que su colega estaba específicamente comentando sobre Jet / ACE, es decir, el motor de base de datos que utiliza MS Access.

Creo que la mayor diferencia entre el motor de base de datos Jet / ACE y MS SQL Server Express es que Jet / ACE se basa en archivos y SQL Server Express utiliza un modelo de cliente / servidor . Esto significa que SQL Server Express requiere un servicio en ejecución para proporcionar acceso al almacén de datos. Esto puede complicar la implementación en algunos escenarios.

SQL Server Express es simplemente una versión acelerada de SQL Server: tamaño máximo de la base de datos de 4 GB (10 GB en 2008R2), solo usa una única CPU física, etc. Estas limitaciones se imponen para evitar que grandes organizaciones utilicen la edición Express disponible gratuitamente. en lugar de una instalación completa de SQL Server. El resultado de esto es que SQL Server Express ofrece una ruta de actualización realmente perfecta para SQL Server. También es (en términos generales) un sistema de gestión de bases de datos más robusto y con todas las funciones, luego Jet / ACE.

Similitudes

  • sistemas de gestión de bases de datos relacionales
  • escrito por Microsoft

Diferencias

  • Acceso a MS
    • Basado en archivos
    • tiempo de ejecución distribuible gratuito (2007 o posterior)
    • Herramientas de RAD (diseñador de formularios / informes)
    • usa Jet SQL
    • tamaño máximo de archivo 2GB
  • SQL Server Express
    • Modelo Cliente / Servidor
    • gratis
    • sin herramientas RAD
    • usa Transact-SQL
    • tamaño máximo de la base de datos de 4 GB (10 GB para SSE R2), máximo de una CPU física

Solo recuerda que con MS-Access no tienes limitaciones de tamaño si juegas bien tus cartas. No hay razón, por ejemplo, para no tener muchas tablas de 2 a 4 Gig cada una contenida singularmente en su propia base de datos. Sus aplicaciones ODBC pueden abrir una conexión a múltiples bases de datos de MS-Access y consultar la tabla única en cada una. Entonces puede tener una base de datos que contenga billones de registros, almacenados en múltiples archivos MDB. Una compañía para la que trabajé usaba una única base de datos MS-Access para ejecutar un sistema de seguimiento de problemas hecho en formularios MS-Access. Solo podían usarlo una persona a la vez porque compartían problemas que bloquearían MS-Access. Escribí una interfaz de usuario nativa de Windows Win32 Perl GUI para la base de datos que era mejor en la validación de campo / registro, y mi código ODBC fue capaz de administrar la conexión para el acceso simultáneo de los usuarios. Logré abrir, leer, escribir y cerrar la base de datos para cada usuario a través de mi programa Perl. No dejé la base de datos abierta. No mantuve una conexión persistente para cada usuario, sino que solo mantuve una conexión el tiempo suficiente para recuperar un registro para editar. Luego cerré la conexión hasta que llegó el momento de volver a escribir la grabación en la base de datos. Además, escribí mi propia lógica de programa de bloqueo de registros manteniendo una tabla de inicio de sesión de usuario que contenía la identificación de registro del registro que un usuario estaba editando actualmente, luego borré esa entrada cuando ya no editaba ese registro. Cuando otro usuario fue a editar el mismo registro, el programa comprobó si ese registro estaba actualmente abierto para ser editado por otro usuario. El sistema funcionó a la perfección. MS-Access nunca se bloquea a través de ODBC y acceso multiusuario. Incluso incorporé la contraseña a la base de datos en mi programa compilado de Perl para que nadie pudiera acceder a los datos en la base de datos de Access a través de mi programa Perl.