2012-07-14 7 views
9

Si desarrollamos algún software en C# (o básicamente .Net), no instalamos Visual Studio en ningún cliente. El cliente solo debe tener .Net framework (1.0, 1.1, 2.0, 3.0, etc.) instalado y estamos listos para continuar.¿Debo instalar el servidor sql en cada cliente si mi software lo usa?

De la misma manera, si estamos haciendo una aplicación en VC2008, solo necesita tener el motor de ejecución de Visual C++ 2008 (disponible desde el sitio de MS libre, alrededor de 4-5Mb). Entonces, básicamente, solo necesitamos entorno de tiempo de ejecución. pero no hay ningún tiempo de ejecución de SQL Server 2008 (¿o no lo conozco?).

Entonces, mi pregunta es si mi software está usando SQL Server 2008, ¿qué tiempo de ejecución (u otra cosa) se requerirá en el lado del cliente para que funcione?

Además, una cosa más, veo que hay una edición expresa de SQL Server, que supuestamente puedo usar en la implementación, pero parece algo pesado saber que si mi software necesita solo 5, 10 o 20Mb necesito instalarlo un concierto solo para que el usuario pueda ejecutarlo.

Por último, si estoy usando SQL Server 2008 Developer Edition (que yo soy, o empresa uno no está seguro) y he instalado SQL Server Express en el cliente, ¿no causaría algún problema si mi software utiliza algunas características que no compatible en la edición express? (digamos número de base de datos, o conexión simultánea, o cualquier cosa).

Entonces? ¿Qué tiempo de ejecución se requiere para eso? Y si instalar sql server express es la única opción, ¿qué ocurre si estoy usando algunas características que no son compatibles con la edición express? Seguramente, no puedo seguir haciendo una instalación completa de la edición de desarrollador en cada cliente.

EDIT: En caso de que esto sea de alguna ayuda, mi proyecto actual es un sistema de administración de biblioteca, y se instalará el cliente (la computadora del bibliotecario para quien estoy haciendo esto), por lo que no hay caso de servidor-cliente aquí. Entonces, ¿debería instalar sql express en su computadora? Además, como señaló YvesR en su respuesta, ese enlace solo muestra tres ediciones (las principales), pero http://msdn.microsoft.com/en-us/library/cc645993%28v=SQL.110%29.aspx muestra una comparación más detallada. Entonces, en este escenario particular que acabo de describir, ¿sería suficiente si acabo de implementar y expresar la edición en la máquina del cliente?

Ahora, en lo que dije acerca de algunas funciones que no están disponibles en la edición expresa, http://msdn.microsoft.com/en-us/library/cc645993(v=SQL.110).aspx#CrossBoxScale muestra que Express Edition se limita a una base de datos de tamaño de 10 GB, ahora sé que es más que suficiente en el escenario que he descrito anteriormente , pero ¿y si en otro caso necesito más que eso? Que la edición expresa no lo hará, ¿cómo debo implementar?

Finalmente, http://www.microsoft.com/sqlserver/en/us/get-sql-server/how-to-buy.aspx muestra dos versiones más, Compact y Developer, conozco el desarrollador, pero ¿qué es esta edición compacta? Y, lo que es más importante, ¿por qué no están enumerados o no están enumerados en here?

Edit 2: Su 4Gb, el límite, no 10Gb. 10 Gb está en SQL Server 2008 R2 Express y superior, 4 Gb en SQL Server 2008 Express.
marc_s: ¡Gracias por eso!

+0

La edición * Developer * - como su nombre lo indica - está legalmente permitida ** en desarrollo ** - no está permitido usar esto en producción. –

+0

Si se trata de un sistema para una sola persona, estoy bastante seguro de que tendrá dificultades para superar el tamaño de la base de datos de 4 GB para SQL Server Express hasta la versión 2008, y con SQL Server 2008 ** R2 ** (y 2012), ese tamaño se ha actualizado a ** 10 GB ** - ¡eso debería ser suficiente! –

+0

@marc_s ¡Mierda! ¿Es 4Gb en SQL 2008? wtf? De todos modos, no voy a superar eso en un solo escenario de usuario, pero en caso de que necesite grandes, y no puede tener una configuración de cliente-servidor, ¿entonces qué? ¿Y qué es esta edición compacta mencionada en el enlace que di? ¿Es solo para 2012 o también está disponible para 2008? – Razort4x

Respuesta

6

Si utiliza una base de datos de SQL Server para persistir los datos en su aplicación que necesita

a. infraestructura cliente-servidor donde su cliente se conecta a un servidor SQL central a través de LAN

b. o use una edición de servidor sql instalada por el cliente (que es lo que quiere, supongo). Para esto puede usar la edición SQL Server Express o solo una MSDE (Desktop Edition).

Consulte para obtener más detalles, p. esta entrada de blog http://searchsqlserver.techtarget.com/tip/SQL-Server-2005-Express-vs-Desktop-Engine-MSDE o google para él, mucha información de la propia MS sobre MSDE.

EDITAR: Desde 2012 no hay más MSDE, pero SQL Server 2012 Express ofrece un modo como lo hizo MSDE. Vea aquí: http://www.microsoft.com/sqlserver/en/us/editions/2012-editions/express.aspx

Y como puede ver aquí: http://www.microsoft.com/sqlserver/en/us/editions.aspx, no debe haber una función que utilice que no esté disponible para una aplicación de escritorio imho.

+4

MSDE era la versión ** 2000 ** de SQL Server de "Express", realmente. A partir de 2005, se llamó * SQL Server xxx Express * –

+0

@marc_s Hay más edición que 'YvesR' descrita. He actualizado mi pregunta, incluyendo eso, y he agregado algunos detalles más sobre mi trabajo actual, vea si puede echar un vistazo nuevamente. – Razort4x

+1

@ Razort4x 10 GB de datos es mucho. Tengo bases de datos que se ejecutan con 4500 usuarios para un sistema de gestión de calidad y después de 4 años de uso todavía es de alrededor de 1GB. Depende de tu aplicación de c, pero si no mueves el binario, tu aplicación debería estar bien. Y sí, sugiero que use una edición expresa sql sin configuración de interfaz gráfica de usuario para su proyecto. – YvesR

2

No se requiere el tiempo de ejecución del cliente para el acceso a la base de datos además del .NET framework instalado (que necesita para todos los ejecutables de .NET).

Si desea que la base de datos resida en la misma máquina que las opciones gratuitas del cliente, p. Ej. SQL Server Express o SQLite.

+0

@Okay, pero ¿qué es esta versión compacta, y por qué no aparece en la lista http://msdn.microsoft.com/en-us/library/cc645993(v=SQL.110).aspx, pero aparece en la lista http: // www.microsoft.com/sqlserver/en/us/get-sql-server/how-to-buy.aspx. ps: ¡He actualizado la pregunta para reflejar mi requisito actual! – Razort4x

3

OK retrocedamos un poco.¿Tiene un requisito para que cada uno de sus clientes de software tenga su propia base de datos local? Si este es el caso, existen formas mucho más sencillas de almacenar datos en el cliente (sugeriría la serialización como un enfoque).

Si su requisito es hacer que cada cliente se conecte a una base de datos central, entonces no necesita ningún componente de tiempo de ejecución que no sean las bibliotecas .net core.

+0

Compruebe la pregunta, he agregado mis requisitos actuales y algunos más detalles. – Razort4x

1

Aquí hay dos maneras para aplicaciones de Windows:

  1. aplicación de escritorio que será utilizado por cada cliente por separado sin la asignación de un ordenador como servidor. Solo necesita instalar SSMS y la aplicación para sus Clientes. Las operaciones Actualizar/Eliminar/Insertar se realizarán por separado.

  2. Enfoque Cliente-Servidor, instale SSMS y conecte su DB en una computadora. Esta computadora servirá a sus clientes como un servidor. Luego instale el archivo exe en cualquier computadora cliente, asegúrese de que los clientes estén conectados al servidor usando la IP.

Cuestiones relacionadas