2008-11-16 19 views
15

Estoy tratando algunos de los tutoriales de ASP.NET MVC y uno de ellos tiene las siguientes etapas:¿Por qué no creará Visual Studio 2008 archivos .mdf con SQL Server 2008 Developer instalado?

  • Haga clic derecho en la carpeta "App_Data" y elegir la opción "Agregar nuevo elemento"
  • Elija "Base de datos de SQL Server" en la categoría "Datos".

Sin embargo, una vez que lo hago, me sale el siguiente mensaje desde Visual Studio:

Las conexiones a los archivos de SQL Server (* .mdf) requieren SQL Server Express 2005 para funcionar proprely. Verifique la instalación del componente o descárguelo de la URL ...

Lo que pasa es que tengo instalado SQL Server 2008 Developer Edition, y preferiría no instalar ninguna versión Express (2005 o 2008) si No tengo que hacerlo. ¿Hay una solución alternativa para este problema?

+0

respuesta de Ken en realidad debería ser la respuesta aceptada. Es un error en Visual Studio 2008 que requiere una revisión. Tiene que ver con la instalación de una versión de 64 bits de SQL Server Express y Visual Studio 2008 SP1. http://stackoverflow.com/questions/293281/why-wont-visual-studio-2008-create-mdf-files-with-sql-server-2008-developer-ins/1582599#1582599 –

+0

No lo creo ; él todavía habla de usar SQL Server Express donde estaba describiendo una situación con la edición SQL Server Developer. La explicación de GalacticCowboy sigue siendo válida, hasta donde yo sé. – Jedidja

Respuesta

5

En realidad SQL Express es un motor de base de datos completamente diferente a SQL Server 2005. Entonces sí, si quieres usar archivos mdf necesitas SQL Express.

+0

Oh, eso significa que tendré que utilizar el enfoque normal de crear una base de datos separada y hacer referencia a ella en el proyecto en lugar de lo que sugieren los tutoriales. Gracias :) – Jedidja

+2

Esa es una declaración muy engañosa. SQL Express y el producto SQL Server completo realmente comparten el mismo motor de base de datos (y prácticamente todo lo demás). La razón por la cual el servidor completo no admite bases de datos de instancias de usuarios está más allá de mí, pero lo más probable es que sea una decisión comercial o una enrutada en seguridad. En cuanto a la implementación, todos los bits están ahí. –

+0

En realidad, no son lo mismo (de ahí las diferencias). El orden y los optimizadores son diferentes, uso de varias CPU, rutinas de asignación de memoria, muchos cambios. Pueden ser FUNCIONALMENTE iguales, pero son bastante diferentes bajo el capó. La razón por la que probablemente no los apoyan es que funcionan terriblemente. No es una buena práctica usarlos en algo que no sea demos. Las conexiones basadas en archivos son bastante más lentas. –

7

Para iluminar la respuesta de Masfenix, SQL Express admite una característica que no es compatible con el servidor SQL completo: una base de datos de "instancia de usuario". Con SQL Express instalado y un archivo mdf en su carpeta App_Data, la aplicación se adjuntará y desconectará dinámicamente según sea necesario. Para sitios de aficionados o pequeñas empresas, esto puede ser perfecto. Si está ejecutando SQL en otra parte de la empresa, probablemente no desee seguir esta ruta y, por lo tanto, la función no es útil para usted.

+0

Gracias por la aclaración :) – Jedidja

2

Quiero señalar que tengo tanto Developer Edition como Express edition instaladas. Y todavía me encuentro con el mismo error. Creo que Express Edition debe instalarse como una sola instancia.

+2

Debe asegurarse de que Visual Studio tenga conocimiento de su instancia de SQL Server. Vaya a Visual Studion -> Herramientas -> Herramientas de base de datos -> Conexiones de datos -> [Nombre de instancia]. Asegúrese de que enumera el nombre de instancia correcto para su SQL Express (generalmente "SQLEXPRESS"). –

1

Tengo el mismo problema pero he instalado sql 2008 express. cualquier forma de hacerlo funcionar con sql 2008 express, así que no tengo que instalar la cuarta instancia sql en mi máquina ?? Ya tengo SQL 2005, SQL 2008, SQL 2008 Express

lo que el F ... :)

+0

Debe asegurarse de que Visual Studio tenga conocimiento de su instancia de SQL Server. Vaya a Visual Studion -> Herramientas -> Herramientas de base de datos -> Conexiones de datos -> [Nombre de instancia]. Asegúrese de que enumera el nombre de instancia correcto para su SQL Express (generalmente "SQLEXPRESS"). –

+0

¿Por qué no simplemente crear una base de datos en una de las otras 3 instancias que ha instalado y usarla? ¿Por qué molestarse con una conexión basada en archivos? –

12

me encontré con este problema también de 64 bits de Windows 7 (64 bits utilizando SQL Server Express 2008)

Hay dos métodos para solucionar este problema que se hace referencia en el Microsoft Support Knowledge Base article:

1. Solución

Para evitar este problema, desinstale la versión de 64 bits de SQL Server expreso 2008, y luego instalar la versión de 32 bits de SQL Server Express 2008.

Si no desea realizar la desinstalación/instalación, intente con el método de revisión a continuación.

2.Revisión

Hay una revisión compatible ahora disponible de Microsoft. Sin embargo, es destinado a corregir solo el problema que describe este artículo. Aplíquelo solo a sistemas que experimenten este problema específico.

Aunque el propio artículo no incluye un enlace a la revisión, puede obtener aquí: http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=957944

+2

+1 Esto resolvió mi problema al trabajar en una plataforma de 64 bits. – dlux

Cuestiones relacionadas