2012-02-08 102 views
18

Estoy buscando utilizar el nuevo LocalDB de SQL Server Express (creo que es el código llamado "Denali") para una aplicación de escritorio.¿Se puede conectar SQL Server Express LocalDB de forma remota?

Actualmente se ejecuta con SQL Compact, pero el usuario desea compartir la base de datos entre varias PC en una red. Desafortunadamente, esto no es algo que SQL Compact pueda hacer, entonces estoy investigando otras soluciones.

El cliente necesita la capacidad de enviar archivos de bases de datos fácilmente a otros sitios o realizar copias de seguridad en un disco flash, por lo que evito ir a SQL Express porque se necesita bastante conocimiento de "administrador" para realizar copias de seguridad y restaurar.

Entonces, mi pregunta es, ¿la nueva SQL Express LocalDB admite conexiones remotas a la base de datos a través de una red y/oa través de una carpeta de red compartida con el archivo mdf en ella?

LocalDB admite el suministro de una ruta para un DB local adjunto en su cadena de conexión (AttachDbFileName), por lo tanto, la opción de carpeta de red compartida.

NOTA: Esta pregunta se refiere a "LocalDB" la nueva versión de SQL Express 'Denali' y no a SQL Server Express 2008 o anterior. Vea el artículo aquí para anunciar el lanzamiento de LocalDB: http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx

+1

Aclaración en la parte "Denali": ** Denali ** era el nombre del código de SQL Server 2012, no de la versión LocalDB de SQL Server Express. Creo que la confusión proviene del hecho de que LocalDB se introdujo en CTP3 de SQL Server 2012, cuando aún se llamaba SQL Server "** Denali **". –

+0

Gracias Krzysztof! Ahora entiendo :) –

Respuesta

23

No, SQL Server Express LocalDB no acepta conexiones remotas.

La idea con una carpeta de red compartida podría funcionar, pero solo si puede asegurarse de que la instancia de LocalDB se cierre antes de intentar copiar el archivo. También tenga en cuenta que solo una instancia de LocalDB puede tener cualquier archivo de base de datos dado abierto al mismo tiempo. y no te olvides de los archivos de registro!

Advertencia de seguridad adicional: a diferencia de las bases de datos SQL Server Compact, las bases de datos de SQL Server Express (incluidas las de LocalDB) no están diseñadas como un formato de intercambio de datos seguro. Por ejemplo, pueden contener código malicioso en ensamblados .NET incrustados en ellos. Por lo tanto, nunca debe abrir bases de datos de fuentes que no sean de confianza.

¿Tal vez sería una mejor idea proporcionar al cliente una herramienta simple que automatice el proceso de copia de seguridad?

+1

Gracias! Una respuesta muy completa. Desafortunadamente, la opción de copia de seguridad automática no funcionará porque el cliente desea poder compartir y enviar por correo electrónico la base de datos como lo haría con un documento de Word o similar. ¿Algún DB basado en archivos que recomendaría para esto que admitiría conexiones remotas? –

3

En resumen, sí puede. Aquí hay un tutorial sobre cómo configurarlo.

Además, aquí está another post con un posible problema que pueda ocurrir.

Ambos explican cómo configurar SQL Server Express para aceptar conexiones remotas.

+5

Gracias por su contribución, pero mi pregunta se refiere a "LocalDB" la nueva versión de SQL Express 'Denali'. Actualizaré la pregunta para ser más claro a este respecto. ¡Gracias! –

0

Esto no es un hilo nuevo, pero me gustaría compartir mi experiencia con la base de datos LocalDB de SQL Server Express.

Tengo un proyecto WPF C# utilizando una base de datos SQL con LocalDb Engine. Está funcionando bien, no hay problema, puedo acceder a la base de datos. Quería que este programa funcionara en la red con más PC. En mi escenario en la red, otra PC puede usar la base de datos desde mi PC (usando la ruta UNC en la cadena de conexión).
Me pareció que la conexión remota funciona. Pero cuando la PC remota está conectada, no pude conectarme a mi base de datos. Si me conecté primero, la PC remota no se pudo conectar. Entonces, esto me dice que la conexión remota está funcionando, pero la conexión múltiple no está permitida.
OK, no me rendí y corro el programa desde mi PC dos veces y vi que está funcionando, lo que me dice que el mismo motor SQL LocalDB se puede conectar varias veces.

Espero que esta experiencia ayude a alguien. Gracias.

+0

Esta burbuja de texto es súper difícil de comprender. No es útil si permanece así. Oraciones simples Sujeto verbo objeto. Y use los párrafos para separar el contenido – GhostCat

+0

Lo siento chicos, realmente traté de formatear este texto, pero no pude poner una nueva línea en el texto. ¿Cómo puedo hacer un nuevo párrafo? – Zoltan

Cuestiones relacionadas