Entity Framework 4.1 Code First funciona muy bien con SQLEXPRESS
en localhost
. Sin embargo, ahora estoy listo para conectarme a un SQL 2008 server
normal.EF 4.1 CF: permiso CREATE DATABASE denegado en la base de datos 'master'
Creé una nueva base de datos "NewEfDatabase".
Luego cambié mi "
ApplicationServices
"connectionString
enWeb.config
para apuntar a mi nueva base de datos con seguridad integrada.
Pero entonces me sale este error:
"CREATE DATABASE permission denied in database 'master'.
"
Entonces ...
a) ¿Qué hace permisos EF 4.1 CF necesita en dicho servidor SQL para hacer su trabajo ?
b) ¿Puedo configurar una base de datos vacía en SQL 2008
para EF 4.1 CF, o tengo que dejar que haga todo el trabajo por mí? (No estoy seguro de que mi DBA agradecería dejar que mi aplicación EF tiene derechos para hacer cualquier cosa fuera de una determinada base de datos)
No, no lo había intentado. Voy a darle una oportunidad. En ese caso, ¿debo migrar mis datos y mi esquema desde mi SQLEXPRESS local? Me imaginé que podría construir la base de datos en mi ubicación de destino. Pero se olvidó del paso de crear y soltar que realiza. –
@Dan: Sí, debe migrar el DB a la instancia de destino si establece el inicializador en 'null'. En este caso, el esquema de BD y el modelo de EF deben coincidir, EF no actualizará o recreará el esquema y probablemente lanzará excepciones si el esquema y el modelo no coinciden. – Slauma
La forma en que manejo esto es crear una lista de nombres de PCs desarrolladores, y solo llamo a SetInitializer (para volver a crear la base de datos) si la aplicación se está ejecutando en una de esas PC. Para cualquier otra máquina, supongo que la base de datos ya se habrá implementado allí. –