2011-05-18 44 views
6

Hasta ahora he estado usando SQL Server Express en mi aplicación de escritorio aunque generalmente el servidor solo lo usa esa única aplicación, el único usuario, en la misma máquina. Esto siempre me pareció un poco tonto ya que el servidor completo es bastante pesado.Cambiando de usar SQL Server Express a SQL Server Compact

Luego descubrí que hay algo llamado SQL Server Compact. La cosa es que mi aplicación ya es bastante grande. Entonces, mi pregunta es si quisiera cambiar a SQL Server Compact, ¿de qué tipo de cambios estoy hablando (usando C#)?

Principalmente me pregunto si puedo acceder a la versión Compact de la misma manera que puedo acceder al Express One, que está usando ADO.NET y apuntando hacia localhost \ sqlexpress. Entonces, ¿sería posible crear otra instancia con el Compact y simplemente apuntar mi aplicación a eso, o se usaría de una manera completamente diferente?

Respuesta

10

Para un producto de escritorio independiente, es sin duda una opción ligera a considerar a través de SQL Express.

Sin embargo, existen diferencias entre los dos a tener en cuenta aparte de las cadenas de conexión. Por ejemplo, SQL CE no es compatible con procedimientos almacenados, funciones definidas por el usuario o disparadores. Además, no es compatible con la gama completa de tipos de datos que admite Express. En un nivel técnico, también se ejecuta en proceso con su aplicación.

Otra consideración es que aunque SSMS funcionará con las bases de datos SQL CE, no está tan completo como lo es con SQL Express. Sin embargo, hay una gran cantidad de buenas herramientas para llenar estos vacíos. Eche un vistazo al blog de Erik Jensen para obtener una buena visión general.

Everything SQL Server Compact

También puedes ver su herramienta para la migración de bases de datos de SQL Express a SQL compacto:

How to Migrate/Downsize a SQL Server database to SQL Server Compact 4.0 (and 3.5)

Finalmente echar un vistazo a esta cuestión de forma para obtener más antecedentes entre los dos productos:

What are the limitations to SQL Server Compact? (Or - how does one choose a database to use on MS platforms?)

+0

¿cuál podría ser la MEJOR opción para la aplicación de Windows? express o CE? – Neo

1

Trabajé recientemente con él, por cierto, las cosas que sé sobre su uso es que SQL Express tiene un servidor para conectarse, y Compact es un archivo sdf, así que lo primero que tendrá que cambiar es el cadena de conexión a ella.

Después de este cambio, no hay más cambios pesados ​​que hacer, recuerdo, compacto tiene casi todas las instrucciones del servidor express disponibles, por lo tanto, no podría ser un gran problema.

Eche un vistazo a la documentación de Microsoft para obtener más información, o al Wikipedia.

Nos vemos.

0

SQL CE tiene la misma limitación de tamaño que Express, por lo que debe ser bueno.

En cuanto a moverse entre los dos, encontré this para moverme entre bases de datos expresas y bases de datos compactas 3.5. Entonces creo que solo tendrá que cambiar su connection strings (en lugar de apuntar a un host/instancia, apunte al archivo convertido). Sin embargo, hay diferentes features entre los dos, por lo que es posible que tenga que cambiar su esquema en la base de datos original para que la conversión funcione sin problemas.

+1

Limitación de tamaño: SQL CE 4.0 está limitado a 4 GB. A partir de SQL Express 2008, el límite en express se ha elevado 10 GB. –

1

Votaría de nuevo st SQL CE:

  1. Tiene no views, lo que puede ser un problema al migrar.
  2. Hace poco hicimos algo similar que describió y tuvo un tremendo impacto en el rendimiento al cambiar de SQL Server Express a SQL Server Compact Edition.

Mis recomendaciones serían:

  1. Uso SQLite (lo que hicimos para el proyecto que he mencionado - que era mucho con más prestaciones de SQL CE en nuestro caso) O bien
  2. Uso VistaDB (que hice en otros proyectos; no tan eficiente como SQL Server Express, pero aún es suficiente)

Ambas bases de datos pueden ser XCO PY implementado, al igual que SQL Server Compact Edition.

Cuestiones relacionadas